本文介紹什么是云原生數據庫PolarDB分布式版,也稱為PolarDB分布式版,本手冊中簡稱為PolarDB-X。
產品簡介
PolarDB分布式版(PolarDB for Xscale,簡稱“PolarDB-X”)。
PolarDB-X是阿里云面向高吞吐、大存儲、低延時、易擴展和超高可用的云時代數據庫使用需求自主設計研發的高性能云原生分布式數據庫產品。
PolarDB-X始終保持對阿里巴巴集團"雙十一購物狂歡節"所有相關業務的全面支撐。歷經十余年淬煉,PolarDB-X具備了強數據一致性、高系統穩定性、快速集群彈性等核心關鍵特性,并在司法財稅、交通物流、電力能源等公共事業領域有廣泛深入應用。
PolarDB-X堅定遵循自主可控、開放生態的發展思路,持續圍繞MySQL開源生態構建分布式能力,以求最大程度降低用戶的學習使用成本。
PolarDB-X產品形態上,秉持的理念是“在業務無需分布式時,客戶不應為此付出成本”,采用集中式和分布式一體化架構,可以支撐業務從小到大的發展。
產品特性
PolarDB-X依托云資源和容器化部署能力,整體采用了基于存儲計算分離的Shared-Nothing系統架構,該架構可以方便用戶根據業務需要按需進行分層容量規劃。全面兼容MySQL開源生態,從SQL 語法、事務行為、生態工具等多個維度都做了深度兼容,應用無需或者修改少量代碼即可從 MySQL 遷移到 PolarDB-X。
PolarDB-X聚焦云原生分布式數據庫,支持單機集中式到大規模分布式平滑演進,最小1個節點、最大1024節點(PB級存儲)。
金融級高可用
PolarDB-X采用數據多副本架構,為了保證副本間的強一致性(RPO=0),采用Paxos的多數派復制協議,每次寫入都要獲得超過半數節點的確認,即便其中1個節點宕機,集群也仍然能正常提供服務。Paxos算法能夠保證副本間的強一致性,徹底解決副本不一致問題。
PolarDB-X提供多種高可用形態,比如同城單機房3副本、同城三機房3副本、兩地三中心5副本等,滿足不同金融級別的容災訴求。
透明分布式
讓用戶以單機MySQL數據庫使用體驗操作分布式數據庫是PolarDB-X一貫追求的目標。為此PolarDB-X提供簡單易用的透明分布式能力:
默認主鍵拆分,讓移植到PolarDB-X的數據和業務擺脫對設計"分區鍵"的依賴。
高性能強一致分布式事務,PolarDB-X采用自研的X-Paxos協議保證數據存儲在故障切換過程中RPO=0的基礎上,使用TSO策略和分布式的MVCC能力保證了分布式事務的隔離性和一致性。
分布式線性擴展,PolarDB-X基于一致性Hash的分區策略有效地進行負載均衡和熱點抑制,且在擴展過程中保持計算下推和數據一致性的同時實現業務零感知。并行和流控能力為擴展期間業務連續性提供了有力保障。
全局Binlog和全局一致性備份,分別解決分布式數據庫各節點數據庫向下游流轉的難題,以及各節點備份時間差造成的恢復一致性問題。
集中式和分布式一體化
PolarDB-X全面構建集中式和分布式一體化的架構能力(簡稱“集分一體”),兼具分布式數據庫的擴展性和集中式數據庫的功能和單機性能,兩種形態可以無縫切換。在集分一體化數據庫中,數據節點被獨立出來作為集中式形態,完全兼容單機數據庫形態。當業務增長到需要分布式擴展的時候,架構會原地升級成分布式形態,分布式組件無縫對接到原有的數據節點上進行擴展,不需要數據遷移,也不需要應用側做改造。
PolarDB-X提供兩種產品形態:標準版(集中式架構)和企業版(分布式架構),支持從標準版原地升級為企業版。
HTAP一體化
隨著云原生技術的不斷普及,以Snowflake為代表的新一代云原生數倉、以及數據庫HTAP架構不斷創新,行列混存HTAP會成為數據庫的標配能力。
PolarDB-X 提供列存索引的形態(Clustered Columnar Index,CCI),行存表默認有主鍵索引和二級索引,列存索引是一份額外基于列式結構的二級索引(覆蓋行存所有列),一張表可以同時具備行存和列存的數據。同時,全面構建面向行列混合場景的代價優化器、以及向量化執行算子,通過一套SQL引擎支持行列混合查詢。
開源與多云
為滿足不同行業客戶對部署形態的需求,PolarDB-X提供公共云、專有云、DBStack、開源軟件版四種部署形態:
公共云:高速迭代,穩定服務,完全托管。目前面向世界范圍內13個地區提供高性能云原生分布式數據庫服務。
專有云(ApsaraStack):集成阿里云核心產品,滿足對安全性、隔離型有合規要求的行業客戶。注:由于部署資源差異,專有云和公共云的軟件版本或有差異。
DBStack:輕量級數據庫管理服務平臺,集成阿里云核心數據庫產品,滿足構建高性能、高可用、低成本的全場景數據庫解決方案用戶需求。
開源軟件版(PolarDB-X Lite):在Lite版本中,用戶可體驗最新的產品特性并以最小資源構建一個分布式數據庫集群。
安全與穩定
PolarDB-X通過多項國家級別的安全認證,在安全屬性較高的行業,比如金融、運營商等行業的核心系統,有比較多的交付成功案例。
在數據庫安全方面,PolarDB-X提供全方位的安全防護,比如:IP白名單/SSL、TDE落盤加密、備份加密、全密態、全量SQL審計和鏈路跟蹤、三權分立和標簽權限等。
PolarDB-X提供金融級的高可用容災能力,可以滿足在機房故障時數據不丟,確保RPO=0,提供兩地三中心架構形態,可以滿足金融行業的五級容災要求。
典型業務場景
高負載低延時交易
場景描述:
交易場景廣泛存在于互聯網業務系統中,是信息系統中最為核心的組件之一。業務連續性、事務一致性和系統安全性是交易系統正常運行的基礎,長時間高負載低延時的運行是互聯網時代交易系統的發展方向。
產品能力:
金融級高可用、透明分布式。
數據集中存儲
場景描述:
該場景也稱"數據大集中"或"數據歸集",屬企業數據架構中的ODS層,具有承擔各垂直業務數據源的數據匯總功能。高并發寫入、大容量存儲、多維度查詢、低成本流出是該場景的主要訴求。
產品能力:
透明分布式、HTAP一體化、安全與穩定。
業務端分庫分表
場景描述:
當前業務已采用開源組件實現分庫分表架構,屬于核心場景,數據規模大、并發量高、以及穩定性是該場景的主要訴求,同時受限于開源組件的限制,缺少有效的分布式運維能力,比如:分布式DDL、擴縮容等。
產品能力:
透明分布式。
分布式快速改造
場景描述:
當業務體量即將突破單機數據庫承載極限和單表過大導致性能和維護問題時,分布式改造是解決上述問題的高性價比方案。數據庫作為分布式改造的重點難點,"和使用單機數據庫一樣使用分布式數據庫"一直是廣大用戶的核心訴求。
產品能力:
透明分布式、集中式和分布式一體化。
單元化容災改造
場景描述:
金融、運營商等行業,當達到一定業務量之后,需要保證核心服務可以連續提供,避免業務連續性風險。目前,逐步嘗試分布式服務化改造來實現單元化架構,每個單元都是活躍且同時承載各自業務流量,滿足數據中心級別的故障隔離,實現異地多活的效果。
產品能力:
金融級高可用、透明分布式、安全與穩定。
混合負載訪問
場景描述:
互聯網業務的實時化、智能化趨勢催生了事務數據與分析數據在相同數據源內進行混合訪問(HTAP)的需求。數據一致性、訪問便捷度和訪問安全性是混合負載訪問場景的主要訴求。
產品能力:
HTAP一體化。
業務降本增效
場景描述:
當前業務體量趨向于穩定,期望通過數據庫優化來實現整體的降本訴求,比如:MySQL一鍵平遷、數據壓縮、流量合并等。
產品能力:
集中式和分布式一體化、HTAP一體化、開源與多云。
多云容災
場景描述:
業務有自建跨云容災的訴求,比如:擔心云廠商綁定、技術自有可控、故障逃逸能力等,期望一套數據庫適配多樣化的場景。
產品能力:
開源與多云。