PolarDB-X 是一款面向超高并發(fā)、海量存儲、復(fù)雜查詢場景設(shè)計的云原生分布式數(shù)據(jù)庫系統(tǒng)。其采用 Shared-nothing 與存儲計算分離架構(gòu),支持水平擴展、分布式事務(wù)、混合負(fù)載等能力,具備企業(yè)級、云原生、高可用、高度兼容 MySQL 系統(tǒng)及生態(tài)等特點。
PolarDB-X 最初為解決阿里巴巴天貓“雙十一”核心交易系統(tǒng)數(shù)據(jù)庫擴展性瓶頸而生,之后伴隨阿里云一路成長,是一款經(jīng)過多種核心業(yè)務(wù)場景驗證的、成熟穩(wěn)定的數(shù)據(jù)庫系統(tǒng)。 PolarDB-X 的核心特性如下:
水平擴展
PolarDB-X 采用 Shared-nothing 架構(gòu)進行設(shè)計,支持多種 Hash 和 Range 數(shù)據(jù)拆分算法,通過隱式主鍵拆分和數(shù)據(jù)分片動態(tài)調(diào)度,實現(xiàn)系統(tǒng)的透明水平擴展。
分布式事務(wù)
PolarDB-X 采用 MVCC + TSO 方案及 2PC 協(xié)議實現(xiàn)分布式事務(wù)。事務(wù)滿足 ACID 特性,支持 RC/RR 隔離級別,并通過一階段提交、只讀事務(wù)、異步提交等優(yōu)化實現(xiàn)事務(wù)的高性能。
混合負(fù)載
PolarDB-X 通過原生 MPP 能力實現(xiàn)對分析型查詢的支持,通過 CPU quota 約束、內(nèi)存池化、存儲資源分離等實現(xiàn)了 OLTP 與 OLAP 流量的強隔離。
企業(yè)級
PolarDB-X 為企業(yè)場景設(shè)計了諸多內(nèi)核能力,例如 SQL 限流、SQL Advisor、TDE、三權(quán)分立、Flashback Query 等。
云原生
PolarDB-X 在阿里云上有多年的云原生實踐,支持通過 K8S Operator 管理集群資源,支持公有云、混合云、專有云等多種形態(tài)進行部署,并支持國產(chǎn)化操作系統(tǒng)和芯片。
高可用
通過多數(shù)派 Paxos 協(xié)議實現(xiàn)數(shù)據(jù)強一致,支持兩地三中心、三地五副本等多種容災(zāi)方式,同時通過 Table Group、Geo-locality 等提高系統(tǒng)可用性。
兼容 MySQL 系統(tǒng)及生態(tài)
PolarDB-X 的目標(biāo)是完全兼容 MySQL ,目前兼容的內(nèi)容包括 MySQL 協(xié)議、MySQL 大部分語法、Collation、事務(wù)隔離級別、Binlog 等。