「文末有獎」挑戰未來:下一代企業級應用數據庫系統

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

摘要:隨著數據量以及數據類型的不斷增多,業務需求逐漸從“大數據”轉向“快數據”。數據庫系統領域充滿機遇,也佈滿挑戰,越來越多的企業開始思考下一代數據庫技術。在2019年杭州雲棲大會開發者峰會上,阿里巴巴副總裁、阿里雲智能數據庫產品事業部總經理、高級研究員李飛飛就為大家分享了阿里雲對於下一代企業級應用數據庫系統的實踐。

數據庫:雲上應用關鍵一環

正如AWS總裁所說的“The real battle will be in databases”,數據庫已經成為上雲的關鍵一環,連接IaaS層與智能化應用最為關鍵的步驟就是數據庫。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

數據庫發展-業務視角

從業務視角來看,數據庫的發展有這樣幾類,最傳統的關係型事務處理數據庫叫OLTP,對於事務型數據庫而言,最關鍵的問題是保證結構化數據的讀寫一致性,主要挑戰是高併發的問題,即在海量數據下如何正確處理海量事務等。另外還有分析型數據庫,也就是所謂的傳統數倉,它所解決的問題是面對大量數據如何進行實時的交互式分析。在2008年和2009年,谷歌的三駕馬車——GFS、MapReduce和BigTable誕生之後,就衍生出了NoSQL數據庫,因為傳統關係型數據庫由於具有強一致性,因此在大數據情況下對於擴展能力還存在很大的限制,NoSQL數據庫則犧牲了一定的一致性,換取了擴展的能力。除此之外,數據庫還包括數據管理、備份以及傳輸等相關生態工具。以上這些就形成了數據庫四個不同的業務視角。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

阿里雲數據庫-中國雲數據庫領導者

阿里雲在雲原生數據庫方面做了很多工作,其中最核心的產品當屬POLARDB和AnalyticDB。目前,阿里雲數據庫在亞太市場排名第一、全球排名第三,並且用戶和開發者的數目已經超過了10萬。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

數據庫系統演進

數據庫系統的演進最早從結構化數據庫開始,逐漸衍生出了關係型數據庫,核心技術是SQL和OLTP。後來數據越來越多,由於讀寫衝突的原因,需要將數據從OLTP數據庫裡面轉移到數據倉庫裡面。在建倉的過程中,可能還會把非結構化數據轉化為結構化數據,並存儲到數倉裡,這樣一來就可以在數倉對結構化數據和非結構化數據進行交互式分析,這部分的核心技術是ETL和OLAP。數據庫技術發展到今天,數據類型越來越多,出現了更多新的數據類型,如圖、時序以及文檔等,也需要有新的數據庫系統,因此現在除了RDS、NoSQL之外還有了NewSQL,將傳統關係型數據庫的能力和NoSQL的能力完美地結合起來,這就是所謂的NewSQL數據庫。除此之外,數據庫領域也非常關注Multi-Mode和HTAP。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

Multi-Model多模數據庫系統

數據庫可以分為北向和南向,南向是數據庫的存儲層,在南向,數據結構和類型可能是多種多樣的,比如結構化數據、圖數據、時序數據、向量數據以及文檔數據等;而在北向,則希望能夠在查詢層提供一個標準的統一查詢接口,比如SQL。南向存儲形式多樣,而北向查詢接口統一就構成了標準的數據湖服務。除此之外,還可以在南向僅提供一種標準的數據存儲形式,而北向則提供多種多樣的查詢接口,讓用戶可以按照圖、文檔等方式進行查詢。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

數據庫智能化+自動化管控平臺

對於開發者而言,數據庫系統變化的一個重要趨勢是越來越智能化,包括Oracle在內的各大數據庫廠商都在強調數據庫智能化。數據庫的智能化可以分為兩個主要方面,一方面是內核的智能化,比如對於數據進行查詢以及冷熱分離,可以藉助人工智能和機器學習的方法進行優化。另外一方面是數據庫運維管控平臺的智能化,使得數據庫系統可以像自動駕駛汽車一樣管理數據庫實例。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

新硬件:軟硬件一體化設計

數據庫系統變化的另外一個重要趨勢是RDMA、SSD、NVM、GPU/FPGA等新硬件帶來的軟硬件一體化的設計。無論是內核開發還是應用開發,新硬件的出現和使用都對開發者提出了更高的要求。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

下一代企業級數據庫:雲原生+分佈式

今天的數據庫領域存在三種主流架構,即單節點架構、存儲和計算分離雲原生架構以及經典的分佈式架構。阿里雲認為下一代的企業級數據庫的架構一定需要結合雲原生架構和分佈式架構的優勢。也就是說需要在上層實現Shared Nothing,使得應用可以水平拓展,能夠應對雙11這樣的海量數據和高併發的場景。中間做分庫分表,但是傳統架構下的分庫分表可能對業務有所改造和侵入,也會增加跨Shard以及跨庫查詢的概率,使得性能會大大下降。因此,阿里雲希望在下面一層使用Shared Everything的雲原生架構。這樣就使得每個Shard的處理能力大大增加,使得跨庫查詢和Distributed Commit的概率大大降低,系統的複雜度也會大大的降低,同時開發對應用的侵入程度也會降低。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

阿里雲數據庫技術與產品是完整的生態體系

利用雲原生+分佈式的這種技術架構就能夠支撐雙11瞬間120倍的流量峰值增長。通過利用OLTP的POLARDB和OLAP的ADB就可以形成一個從數據產生、事務處理到實時消費、分析的完整閉環。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

阿里雲RDS For MySQL/AliSQL

當開發者來到阿里雲的數據庫平臺,所看到的RDS For MySQL其實並不是官方版本的MySQL,而是阿里巴巴自己維護的AliSQL分支。在AliSQL之上,阿里巴巴做了大量企業級應用,比如支持TDE、BYOK等,還實現了線程池,增加了企業級應用開發的功能,也大大簡化了開發者使用MySQL生態進行應用開發的複雜度。此外,RDS還支持單節點、雙節點以及三節點的部署方式。正因為做出了這些貢獻,阿里巴巴獲得了MySQL 2018年的社區貢獻獎,也是亞太地區唯一獲得這個獎項的公司。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

阿里雲RDS AliSQL三節點金融級高可用集群

阿里雲RDS AliSQL實現了三節點金融級高可用集群,其最大的優勢就是高可用,因為它將CAP理論中的三點比較完美地結合起來。其核心思路是三節點中存在一個RDS的Leader以及兩個Follower,通過Paxos形成三節點之間的Binlog同步,這樣就可以保證數據和應用的高可用。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

阿里雲PostgreSQL獨有的增強功能

除了MySQL之外,阿里雲的PostgreSQL在社區版本上做了大量優化,比如Ganon支持GPU時空遙感引擎,varbitx支持對用戶畫像數據進行處理,BYOK實現了存儲層加密等。在POLARDB for PostgreSQL版本上可以做到16個計算節點的拓展,在AnalyticDB for PostgreSQL上引入了HyperLog預估分析,比傳統使用直方圖進行預估分析準確得多,並且成本也低很多。因此,對於中小型業務,可以使用標準的社區版的RDS for PostgreSQL;對於混合型複雜業務,可以使用POLARDB for PostgreSQL;對於海量分析型BI以及報表業務,可以使用AnalyticDB for PostgreSQL,這樣就形成了PostgreSQL生態的完整閉環。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

POLARDB架構細節

接下來展開分享下一代企業級數據庫架構,首先介紹大家比較熟悉的POLARDB。POLARDB的主要架構設計模式是計算與存儲分離,使用RDMA做共享存儲,在存儲層通過Data Chunk和Parallel Raft協議保證數據高可用,這就實現了單一實例的多個主備架構。同時,前面增加一層PolarProxy實現多節點之間的讀寫分離和負載均衡。在下層實現了PolarFS文件系統,對接底層的PolarStore分佈式共享存儲。現在,POLARDB發佈了MySQL 5.6版本以及MySQL 8.0版本,還有PostgreSQL的版本以及高度兼容Oracle的版本,各種各樣的生態都能夠在POLARDB數據庫上得以完美的體現。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

此外,阿里雲POLARDB還實現了並行查詢優化,使得查詢的平均性能提升了27倍。大家知道MySQL等數據庫的查詢優化器或者查詢執行器在實際上並沒有做並行查詢優化。而阿里雲POLARDB則實現了線程池,因此可以實現並行化查詢。舉個簡單的例子,一個包含100個Group by的SQL語句,如果做並行查詢Group by,執行時間可能是原本串行執行Group by的1%。

阿里雲POLARDB分佈式版本——POLARDB-X

阿里雲POLARDB分佈式版本POLARDB-X簡單而言就是把DRDS和POLARDB進行集合,形成上層Shared Nothing,下層Shared Everything、共享存儲的架構,這種架構在針對海量數據進行開發的場景下具有諸多優勢。

智能化OLAP:AnalyticDB實時交互式數據倉庫

在生態兼容方面,AnalyticDB MySQL版本兼容MySQL生態,AnalyticDB PostgreSQL版本兼容PostgreSQL生態。AnalyticDB使用行列混存引擎,因此支持高吞吐寫入和高併發查詢AnalyticDB也採用計算和存儲分離的架構,它會把計算資源進行池化實現靈活調度,將計算節點分為寫入節點和只讀節點,並做智能化的調度,根據實際負載決定讀寫節點的分配情況。AnalyticDB具有向量化的執行引擎,支持對結構化數據和非結構化數據進行聯合分析,對人工智能以及機器學習的很多應用非常有幫助。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

AI for DB-DBAdvisor:智能化數據庫管控與內核

阿里雲在智能與安全方面提供了DBAdvisor工具。DBAdvisor能夠幫助開發者優化數據庫管控策略,比如索引策略和分庫分表策略等。DBAdvisor能夠根據實際業務複雜推薦如何做Sharding。此外,SDDP,Self-Driving Database Platform是DBAdvisor最核心的組件,其能夠幫助阿里經濟體的數據庫每天節省大約27TB的存儲空間。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

雲上數據安全

雲上的數據庫安全非常重要,目前阿里雲已經擁有標準的數據庫安全體系。而在未來,開發者也需要考慮更多的安全因素,比如日誌是否不可篡改、數據庫內核是否可以全程加密等。在雲上數據庫安全方面,阿里雲在全球首先實現了全加密數據庫PostgreSQL版本,能夠做到在任何情況下數據都不會洩漏。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

數據傳輸雲服務DTS

想要享受雲數據庫所帶來的開發便利,那麼數據從一端傳輸到另外一端的工具必不可少。阿里雲提供了數據傳輸雲服務DTS,它支持多種不同的數據源到異構數據庫的實時同步,同時也可以支持一定程度的ETL,這樣在數據傳輸的過程中,還可以到其他系統中進行消費。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

阿里雲數據庫:數據上雲高速公路

綜合上述內容,阿里雲數據庫形成了一個從關係型數據庫到分析型數據庫,再到NoSQL數據庫和工具的完美生態。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

擁抱開放生態,攜手客戶與開發者共成長

阿里雲希望並且歡迎和開發者共同成長,一起為社區做出貢獻。AliSQL在開源領域獲得了很多榮譽,阿里雲DRDS也會在未來幾個月內進行開源。阿里雲希望和大家攜手共建世界一流的分佈式數據庫系統。

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

​阿里雲數據庫“送禮”啦!

參與下方開發者小調查

我們將抽取五名同學送出限量禮品!!

「文末有獎」挑戰未來:下一代企業級應用數據庫系統

PS:認真填寫中獎率更高哦!

添加阿里雲數據庫微信號【alidb2019

還將有其他小驚喜在等你哦!

「文末有獎」挑戰未來:下一代企業級應用數據庫系統



分享到:


相關文章: