您好,登錄后才能下訂單哦!
摘要:如今,各種數據庫的創新技術都在“無人區”進行試驗,這些技術能否在企業中扎根生長并且長久存在,對于很多企業而言都是一個重大挑戰。在2019數據技術嘉年華大會上, 阿里巴巴集團副總裁、高級研究員、阿里云智能數據庫事業部總負責人 李飛飛 先生與大家分享了下一代企業級數據庫系統。
以下內容根據李飛飛先生演講視頻以及PPT整理而成。
關注公眾號“數據和云”,回復: 2019dtc ,更多精彩ppt等你下載!(PPT還在不斷更新當中,請持續關注)
2019數據技術嘉年華 李飛飛先生現場演講
數據庫:云上應用關鍵一環
如今,上云已經成為一種趨勢。而在上云的過程中,數據庫則被認為是云上非常重要的一環。因為云最開始提供的是IaaS,而隨著各種智能化應用的興起,數據庫就成為了從IaaS到智能化應用連接的重要一環。
阿里云數據庫 中國云數據庫領導者
目前,阿里云是中國以及整個亞太地區排名第一的云數據庫服務商,全球范圍阿里云排名第三。阿里云核心產品涵蓋了上述的幾種形態,OLTP數據庫包括POLARDB,下一代實時分析的數據倉庫OLAP——AnalyticDB。與此同時,阿里巴巴還有達摩院數據庫實驗室,這個實驗室主要負責進行一些數據庫領域的前沿探索,比如全鏈路加密數據庫以及智能化數據庫的探索。阿里云提供了豐富的云數據庫產品,從公有云到專有云,再到今年剛推出的數據庫一體機,對于各種形態的數據庫產品和系統都能夠提供強大的支撐。
那么,面向未來的企業級數據庫的技術和產品到底應該長什么樣呢?我們一起來看看。
數據庫系統演進
數據庫系統的演進經歷了從最早的關系型數據庫OLTP到半結構化,再到分析型數據庫OLAP等非結構化的數據庫,再發展到如今的多模數據庫。
Mutil-Model多模數據庫系統
如今,數據庫技術面臨著很多挑戰,其中之一就是Mutil-Model多模數據庫系統,這一部分在業界已經有很多類似產品。對于多模而言,可以分為南向、北向,南向多模代表存儲多種多樣,而希望用統一的查詢語言來查詢來自于不同數據源的數據,其實也就是數據湖的概念。另外一種則是北向多模,數據存儲一般只有一種模式,比如KV,但是卻希望提供多種查詢接口,比如像圖、文檔。以上提到的北向多模和南向多模就是多模兩種不同形態。
數據庫智能化+自動化管控平臺
數據庫技術發展到今天,可以將其想象成一個汽車,它具有非常多的參數,它在運行過程中會跑到不同道路上,并且周圍還有很多別的不同汽車。相互之間如何協調,引擎的優勢如何體現出來,其實就和自動駕駛汽車非常像,因此稱之為“Self-Driving Database Platform”。在這之上,阿里希望做到自感知、自決策、自恢復和自優化,這也是下一代智能化數據庫的基本定義。
新硬件: 軟硬件一體化設計
未來,下一代的企業級數據庫一定要結合軟硬件一體化的設計理念,而不能把軟件和硬件隔開。只有將軟硬件結合在一起,才能把系統的優勢發揮出來。而一定要將軟硬件結合在一起,才能更好地將數據庫系統的優勢發揮出來。比如NVM對傳統數據庫的保護機制會帶來很大的沖擊和改變,并且也會對內存的使用和管理造成很大的改變。而RDMA則是另外的一個例子,其使得數據庫訪問遠程節點數據的速度非常快,這就成為了存儲與計算分離技術的基礎。
云原生架構: 彈性x高可用x企業實踐x開放生態
今天來看,業界有各種各樣的數據庫,可以大致分為三類,第一類是最左側的單節點數據庫,這里的DB框代表CPU+內存,可以認為是計算節點,對于單節點數據庫而言,計算節點和存儲節點是緊耦合在一起的。傳統的單節點MySQL、PG以及商業數據庫Oracle、SQL Server等都是基于這樣的架構。單節點架構的優點在于開發簡單、部署容易,缺點是擴展性和高可用都不好。而最右邊的分布式架構,將數據進行分片并分別存在不同節點上面,它在底下掛了很多個單節點架構。分布式架構的特點是水平擴展能力特別強,當數據量變大、并發量變高的時候只需要增加節點即可。其劣勢是如果要求不改動上層業務邏輯,就必須要有能力去處理分布式事務和分布式查詢。
云原生架構的邏輯:云上的資源是“取之不盡,用之不竭”的,只要愿意付費,只要客戶有需求,理論上可以無限擴容。而云上最大的需求就是要有非常好的彈性,當需要資源的時候,可以取之不盡,用之不竭;當不需要的時候,則可以把它全部釋放掉。這里的彈性就如同大家家里的自來水管一樣,需要用的時候把水龍頭打開,不需要的時候就關掉。而傳統線下的數據庫使用方式更像是一個蓄水池,里面分配的服務器等資源是固定的,當將水位估計好之后,就只需要蓄足夠多水就好了。但是在云上,則希望為用戶提供彈性的使用方式,通過存儲和計算分離,把分布式存儲節點通過網絡連起來,使得訪問遠程節點就跟訪問本地節點一樣快,使得用戶無感知。
下一代的企業級數據庫:云原生+分布式
下一代的企業級數據庫架構應該是將云原生架構和分布式架構結合起來的。底下的每個Shard都是云原生數據庫,存儲與計算分離,因此每個Shard的彈性都非常好,能力處理的并發量也都非常大。因此,對于同樣的需求而言,所需要的Shard數量就會大大減少。阿里云的POLARDB分布式版數據庫就將云原生能力和分布式能力完美地結合起來。
阿里云數據庫技術與產品是完整的生態體系
阿里云數據庫不僅在云上提供服務,還會支撐整個阿里巴巴集團內部經濟體的所有活動。2018年雙11,在零點剛過的第一秒,阿里的數據庫系統峰值增長了大概122倍,瞬間爆發,這就需要數據庫具有較高的可擴展性、彈性以及高可用。
開放生態,支持開源社區
阿里巴巴在開源社區也做了大量工作,比如在MySQL社區中所做的工作也得到了社區高度認可,也拿到了社區的各種獎項。此外,在PostgreSQL上也做了大量工作,比如替代傳統的統計查詢方式進行優化,能夠支持OLTP和OLAP一起完成混合負載任務。
云原生數據庫:POLARDB
接下來重點分享阿里巴巴自研數據庫核心技術的理念和突破,也就是如何把前面提到的云原生和分布式架構有機、完美地結合起來。首先分享阿里自研POLARDB數據庫,其架構的上層有很多個計算節點,計算節點下面有一個分布式共享存儲,通過RDMA網絡連接。目前,公有云上線的POLARDB版本能夠做到16個計算節點,在POLARDB 1.0版本中做到了一寫多讀,目前不僅是國內,包括東南亞等國家都有很多案例,而且客戶通過大量的測試和嘗試發現,阿里云POLARDB的性能和穩定性都非常優秀,這就能夠看出來阿里云數據庫是非常靠譜的。對于數據庫,尤其是OLTP系統而言,客戶往往將自己的身家性命壓在這里了。所以,POLARDB的架構非常具有競爭力。目前,1個POLARDB實例可以做到100TB的存儲容量,單節點可以做到100萬QPS。
POLARDB架構細節
具體而言,在共享存儲里面實現高可用,把數據分塊形成Data Chunk,每個數據分塊會備份三份,通過Parallel Raft協議在分布式共享存儲里實現高可用,使得用戶無需擔心數據丟失的問題。此外,在POLARDB 2.0版本將會實現多寫多讀以及跨區的高可用。POLARDB前面有一個Smart Proxy,這個Smart Proxy負責負載均衡以及讀寫分發等工作。
POLARDB并行查詢:27倍性能提升
除了在架構方面的優化,POLARDB在數據庫內核中也做了大量優化。其中一個是并行查詢。眾所周知,傳統數據庫如Oracle、MySQL等都是單線程查詢。而今天幾乎所有的CPU都是多核的,想要充分發揮這些硬件的能力,就需要數據庫的引擎具有很好的并行查詢能力。因此,阿里云數據庫團隊圍繞著這一點做了大量工作,對于數據庫的SQL解析器、優化器以及執行引擎全部進行了重寫,可以支持多線程并行執行。對于數據庫中較為典型的Group By等查詢的速度提升非常有利,平均能夠達到27倍的性能提升。
把云數據庫帶回家:POLARDB Box,高性能一體機
今年9月底,POLARDB Box高性能一體機正式發布。在10月已經有10個落地的實際案例,其中兩個已經正式簽約。POLARDB Box高性能一體機具有以下特點:高度兼容Oracle,雖然沒有辦法說100%兼容Oracle,但是能夠稱之為高度兼容,阿里云自己也做了超過1000多個Oracle兼容項的優化。一個盒子里面能夠支持1000多個Vitual CPU,9TB內存以及120TB閃存。POLARDB Box高性能一體機也具備并行查詢優化的能力,同時,也具備非常強大的時空數據查詢引擎。
此外,通過阿里云數據庫遷移工具ADAM和DTS以及AnalyticDB形成的一整套生態,能夠讓客戶非常簡單地把云數據庫帶回家。POLARDB Box高性能一體機和傳統一體機有什么不同?最核心的部分是POLARDB Box高性能一體機里面的管控平臺就是阿里云公共云的管控平臺,也就是說POLARDB Box高性能一體機的管控是和公共云打通的,如果用戶還未想好是否上云,那么可在IDC里面先使用一體機方式享受云數據庫的性能,后續上云就變成無縫的過程,甚至可以采用混合云方式,一部分數據上云,一部分數據不上云,因為云上和云下的管控是打通的,對于用戶而言是無縫管理的體驗。
POLARDB-X:分布式版本支持水平擴展
POLARDB-X分布式版能夠完美地結合分布式與云原生的能力。比如在阿里巴巴集團的雙11場景下一定要做分庫分表,此時僅有計算分離、彈性這些還是不夠的,一定要做分庫分表,否則是無法支撐瞬間122倍流量峰值的。阿里云POLARDB-X在分庫分表的基礎之上加上了云原生的能力,這樣就可以減少跨庫查詢概率。
智能化OLAP:AnalyticDB實時交互式數據倉庫
除了POLARDB,阿里云在智能化OLAP方面還擁有實時交互智能數據倉庫——AnalyticDB,能夠支撐海量數據處理分析、向量分析等。
在數據分析領域存在大量的非結構化數據,而如今每天產生的80%數據都是非結構數據,比如照片、視頻等。
那么,如何把非結構化數據在一套系統里面無縫地進行交互式分析呢?阿里云數據庫團隊就做了向量處理引擎,首先將非結構化數據實現向量化,在高維向量空間中進行處理。AnalyticDB中就實現了向量處理引擎,這樣就可以在向量空間中把結構化數據和非結構化數據實現融合處理。
AI for DB-DAS:智能化數據庫管控與內核
除了架構上、技術上的突破,除了云原生和分布式之外,下一代企業級數據庫的另外兩個核心關鍵詞應該是智能化和安全。所謂智能化就是智能化管控云內核,這一部分在阿里巴巴內部已經落地了,阿里巴巴全網的幾十萬個數據庫實例上面都會有Agent,去采取實時的運行狀態,進行實時監控和預警。其中一部分工作是自動調整數據庫Buffer的大小,這對于數據庫的性能和成本具有非常大的影響。阿里云數據庫能夠實現在保證全網性能不發生較大變化的情況下,通過自動調整數據庫Buffer的大小,平均每天可以節省內存使用成本達15%以上。
云上數據安全
此外,云上數據安全也非常重要。傳統數據庫安全方法只是保證數據在傳輸過程中的安全以及加密,但數據真正進入數據庫內核進行處理的時候還是要進行解密的,這時就會有數據泄露的風險。
針對這樣的問題,阿里云數據庫團隊就實現了全鏈路加密數據庫。全鏈路加密數據庫使得數據進入數據庫內核之后,依然不需要解密,而且數據庫加密的密鑰是客戶提供的,不需要提供給云廠商。全程來講,云廠商即使作為Root管理員也沒有辦法看到用戶的數據。
數據傳輸云服務DTS
數據上云的第一步一定是尋找到一個非常好的上云高速公路。阿里云數據庫團隊實現了數據傳輸服務DTS,其能夠將不同源端數據庫遷移到目標數據庫,這里涉及的核心技術挑戰就是如何在復雜的網絡以及部署環境下實現不同源端和目標端的用戶數據遷移。數據傳輸服務DTS就是阿里云數據庫所實現的比較有影響的產品。
擁抱開放生態,攜手客戶與開發者共成長
下圖展示的是整個阿里云數據庫的布局情況。阿里云希望擁抱開放生態,攜手客戶與開發者一同成長。阿里云希望能基于自身的兩個核心的數據庫自研產品POLARDB和AnalyticDB以及上述提到的數據傳輸工具DTS等共同打造具有中國特色的數據庫生態。所有的數據庫系統不一定要開源,但一定要擁抱一個開放的標準生態,以此來避免從一個封閉系統走向另外一個封閉系統。
小編提醒:關于《2019數據技術嘉年華PPT》共有兩個獲取途徑:
1. 在“數據和云”公眾號后臺回復:2019dtc,即可下載!
2.在“墨天輪”上,已按13個會場整理了目前所有已經開放的PPT,大家可以選擇感興趣的主題下載,詳情:https://www.modb.pro/db/11553,復制到網頁中打開。
PPT還在不斷更新完善,請持續關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。