本文介紹了PolarDB-X產品的發展歷史。
前言
2009年,阿里巴巴在進行年度收支核算時,發現業務對數據存取資源的需求呈指數級擴張,并與業務指標增長之間產生鴻溝。此時的阿里巴巴清晰的意識到,如果不通過技術創新平衡成本和增長需求,必將對未來發展產生影響。
于是"去IOE"的說法被首次提出。"去IOE"的目的絕不僅僅是擺脫幾個傳統IT廠商的產品,而是在互聯網+、云計算快速興起后,企業用戶迫切需要能夠保證其業務發展和創新的更加開放、靈活、高效的IT基礎架構。概括地說,"去IOE"推動了用橫向擴展取代縱向擴展,用開源軟件代替商業軟件的進程,可以看作是云計算的奠基之舉。
其中對傳統商業數據庫的替換又是"去IOE"的核心。
TDDL階段
關鍵字:阿里巴巴大規模應用;分庫分表技術開創者
去掉傳統商業數據庫后,是否有更適合的產品和解決方案來替代呢?對于數據庫來說,答案是明確的:開源+分布式,開源解決成本問題,分布式解決性能和容量問題。
同年11月11日,TDDL(Taobao Distributed Data Layer)首次發布,開創了分布式數據庫中間件+開源數據庫應用在高并發交易系統的先河。
當時的TDDL雖然是一個客戶端jar,但創造性地提出了三層(Matrix、Group、Atom)拆分拓撲結構,滿足應用按需制定拆分策略的同時,解決了彈性擴容、本地高可用等企業應用難題。
2011~2015,TDDL成為阿里巴巴數據庫系統的統一接入標準,開始面向阿里巴巴所有業務提供分布式數據庫服務。目前集團內運行實例約30萬套,業務覆蓋支付、資金、即時通信、媒體等十余大類。
豐富的業務模型造就了TDDL優秀的MySQL語法兼容性,龐大的業務規模使TDDL打磨出優異的內核穩定性,歷年雙十一的加持孵化了TDDL業界頂尖的高性能高吞吐。
與此同時,阿里巴巴分布式數據庫的商業化進程悄然啟動。
DRDS階段
關鍵字:云端商業化;高性能SQL引擎
DRDS(Distributed Relational Database Service)于2016年初迎來了第一個公有云付費客戶。自此,DRDS一直在不斷努力提升單位資源的處理能力,以求最大限度幫助客戶降本增效。
DRDS研發團隊于2017年發布的新一代高性能分布式SQL引擎,通過PlanCache、FastSQL、定制化的底層驅動使Batch寫、含拆分鍵Select、讀寫分離等操作具有300%的性能提升;跨庫聚合、分布式Join、分布式事務等操作具有200%性能提升。
DRDS提供更低使用成本,包括對不同維度的表的Join操作的支持、內存中二次排序的支持和對內存結果做函數計算的支持等。
DRDS還針對分布式數據庫使用場景提供一系列的企業級特性,包括全局Sequence服務、讀寫分離、數據庫賬號體系和DRDS后臺運維指令集。
憑借優異性能和相對優良的體驗,DRDS迅速在公有云積累了一批忠實用戶。
DRDS的商業化成功,標志著阿里巴巴分布式數據庫技術完成了從內部孵化到市場化運營的階段性轉變,以及從分布式數據庫中間件到分布式數據庫系統實質性跨越。
PolarDB-X 1.0階段
關鍵字:架構與品牌升級;國計民生項目
2018~2019年,DRDS憑借優異的穩定性、超高性能以及豐富的企業特性,承接眾多政企行業的國計民生項目,積極投入我國信息系統基礎設施數字化轉型建設,品牌聲譽得到大幅提升,逐步成長為代表阿里巴巴的名片級產品。
與此同時,DRDS進行品牌升級,命名為PolarDB-X,"PolarDB"是阿里云自研關系型數據庫產品家族名稱,"X"取音"Extreme",取意"極致"。
PolarDB-X 1.0支持以PolarDB MySQL作為存儲節點,大幅提高集群IO能力以及柔性分布式事務,且面向政企客戶需求增強了安全特性,例如,一致性備份恢復、SQL閃回、SQL審計等。
PolarDB-X 2.0階段
關鍵字:金融級高可用、透明分布式、集中式和分布式一體化、HTAP一體化、開源與多云
PolarDB-X 2.0是阿里巴巴分布式數據庫有史以來最大幅度的版本更新。產品基于透明分布式理念提供了默認主鍵拆分策略、基于TSO和MVCC的高性能強一致分布式事務、基于一致性Hash分區策略的分布式線性擴展能力、全局一致性Binlog和全局一致性備份能力。數據節點(DN)采用阿里巴巴自研的基于X-Paxos的三副本強一致MySQL分支,確保在容災過程中RPO=0。
目前PolarDB-X 2.0已經采用全新架構在阿里云世界范圍內的13個國家和地區提供服務。并提供公有云、專有云、軟件版和DBStack多種部署形態滿足不同行業客戶的需求。
PolarDB-X 2.0已全面擁抱開源,毫無保留地和全世界的MySQL社區共同成長,將高性能分布式數據庫質量進一步提升,使用門檻盡可能降低。
未來,國產化、HTAP混合負載、快速容量變更、多區域容災多活等均是PolarDB-X 2.0的探索方向。