11.27 阿里數據庫掌門人李飛飛:下一代企業級數據庫系統

摘要:如今,各種數據庫的創新技術都在“無人區”進行試驗,這些技術能否在企業中紮根生長並且長久存在,對於很多企業而言都是一個重大挑戰。在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還在不斷更新完善,請持續關注!


分享到:


相關文章: