天天看點

阿裡雲開源PolarDB資料庫,與社群共建開源資料庫生态AliSQL 8.0X-PaxosX-EnginePolarDB for PostgreSQL開源社群

随着網際網路和雲計算的飛速發展,資料庫也正在加速向雲服務方向演進。雲資料庫服務在資料庫整體市場中的占比越來越大雲原生以及分布式技術正在重塑資料庫整個技術棧。阿裡雲在自身網際網路業務和雲資料庫服務有豐富的實踐經驗,在高可用,分布式,雲原生,存儲與計算分離等技術上有深厚積累,為了更進一步促進整個資料庫産業的變革,現在将這些關鍵技術元件和系統包括内部MySQL分支AliSQL(目前RDS服務的核心),分布式一緻性協定庫X-Paxos,高成本效益存儲引擎X-Engine,基于PostgreSQL開源資料庫打造的分布式資料庫産品PolarDB for PostgreSQL一起開源,與社群一起共建雲原生分布式資料庫生态。

阿裡雲資料庫秉承元件子產品化,相容标準化協定的方式,可以靈活組合和複用這些技術,打造更多的系統解決方案,不斷完善和豐富雲原生分布式資料庫的形态,滿足更多樣化的使用者需求。

阿裡雲開源PolarDB資料庫,與社群共建開源資料庫生态AliSQL 8.0X-PaxosX-EnginePolarDB for PostgreSQL開源社群

AliSQL 8.0

2018年初,我們預見到MySQL 8.0的資料字典、實時加列、Hash Join和CTE等功能對各種業務場景的重要性,便将研發重心轉向AliSQL 8.0的研發,也是這一次開源的核心版本。

AliSQL 8.0已經過集團内部和公共雲場景的考驗,在功能、性能、穩定性和安全性上都有非常紮實的技術創新和功能積累。全網開啟的Thread Pool支撐了海量的并發和連接配接數,核心級的秒殺和并發控制技術支撐了瞬間業務流量沖擊,Faster DDL保障了高峰時期DDL操作的穩定性,各種增強的性能統計名額和資訊加快了問題分析和排查的速度,存儲層和通信層的加密功能保障了資料的安全。更多詳情可通路

阿裡雲官網AliSQL核心功能介紹

,強勁的資料庫核心是支援和服務好關鍵業務場景的基礎。

X-Paxos

X-Paxos是C++編寫的Paxos分布式一緻性協定庫,在阿裡集團内部已經廣泛使用者諸多分布式系統來保證資料強一緻性下的高可用能力,是一個得到充分驗證的Paxos協定工程實作。X-Paxos會自動探測網絡環境,根據傳輸延時來自适應調整發包的頻率和批量聚合的大小,在跨資料中心長傳鍊路上也同樣保證吞吐能力。

X-Engine

阿裡自研的高壓縮及冷熱存儲分離的存儲引擎,基于LSM架構之上做了大量優化,求取性能與成本之間的最佳平衡(

詳見SIGMOD'19論文

),相容MySQL,适用于大資料量的TP資料庫,目前已經內建在自研産品PolarDB中實作了存儲計算分離與一寫多讀,未來也會将這一技術在AliSQL下開源。

PolarDB for PostgreSQL

基于PostgreSQL開源資料庫打造的分布式資料庫産品PolarDB for PostgreSQL,蘊含了多項阿裡雲資料庫技術,這些核心技術在公有雲和混合雲場景下都已經得到了廣泛應用。

PolarDB for PostgreSQL率先開源的三節點高可用版本是PostgreSQL原生WAL複制協定與阿裡自研的Paxos一緻性協定算法庫X-Paxos的一次完美結合,Logger節點的最小化資源成本、Learner節點的跨域隻讀、Leader節點的多模式選舉等特征也讓PolarDB for PostgreSQL獨具特色。

PolarDB for PostgreSQL緊随其後開源的分布式插件版,具有很好的規模化擴充能力和性能。這得益于全局強一緻性所采用混合邏輯時鐘(HLC)實作,MVCC和2PC協定結合算法實作的分布式事務。基于PostgreSQL獨有的插件化技術實作分布式Sharding功能,最大限度的保證了分布式SQL計算對單機SQL的相容能力。

阿裡雲開源PolarDB資料庫,與社群共建開源資料庫生态AliSQL 8.0X-PaxosX-EnginePolarDB for PostgreSQL開源社群

開源社群

在開源社群方面,我們一直保持與MySQL&PostgreSQL社群的密切溝通,每年發現并回報數十個重要問題和缺限給社群,員工也經常獲得社群Award獎項,但我們發現很難将一些側重場景的好需求送出給上遊社群,比如著名的秒殺更新檔,始終未能合并入上遊社群。深覺我們不僅要有自己的開源MySQL&PostgreSQL分支,更需要建立自己的開源社群,好集中更多的力量和以更快的響應速度來解決更多業務問題和需求,進而進一步推動開源資料庫在國内的快速發展,并在國際開源社群上發揮更大的國内技術影響力。

阿裡雲資料庫對開源社群的投入力度會越來越大,期望更多的開源社群愛好者能夠參與進來,與我們一起共建生态,服務使用者,推動技術變革。

源碼開放位址:

https://github.com/alibaba/PolarDB-for-PostgreSQL