PolarDB有三種不同的引擎支持,分別是MySQL版、PostgreSQL版和分布式版,其中MySQL版和PostgreSQL版的PolarDB有著相同的產品架構:Share Storage,計算存儲分離。
PolarDB MySQL版和PolarDB PostgreSQL版均為計算存儲分離、共享存儲的架構,通過云原生架構、軟硬件一體化、共享分布式存儲的設計,主節點和只讀節點使用物理復制、RDMA網絡低時延,能夠快速同步數據,徹底解決了主從異步復制所帶來的備庫數據非強一致的問題,使得整個數據庫集群在應對任何單點故障時,都可以保證數據零丟失,同時實現秒級節點擴縮容。
核心組件
Proxy:PolarDB通過內部的代理層Proxy對外提供服務,應用程序的請求都先經過代理層,然后訪問到數據庫節點。代理層不僅可以做安全認證、保護和會話保持,還可以解析SQL,把寫操作發送到主節點,把讀操作均衡地分發到多個只讀節點,實現自動的讀寫分離。
計算節點:一寫多讀集群內有一個讀寫節點以及多個只讀節點,多主集群(僅MySQL版支持)內可支持多個讀寫節點和多個只讀節點,計算節點主要提供數據庫SQL引擎功能,分為通用規格和獨享規格。
共享存儲:集群內的多個節點共享存儲資源,單集群支持最高100 TB存儲空間。
架構優勢
大容量:存儲最高100 TB,不再需要因為單機容量的天花板而去購買多個實例做分片,從而簡化應用開發,降低運維負擔。
低成本:計算存儲分離架構下,每增加一個只讀節點只收取計算資源的費用,而傳統的備節點或只讀節點同時包含計算和存儲資源,每增加一個節點都需要支付相應的存儲費用。
分鐘級擴縮容:計算存儲分離的架構配合容器虛擬化和共享存儲技術,使得增減節點只需5分鐘。存儲容量自動在線擴容,無需中斷業務。
讀一致性:集群地址利用LSN(Log Sequence Number)確保讀取數據時的全局一致性,避免因為主備延遲引起的不一致。
毫秒級延遲(物理復制):利用基于Redo的物理復制代替基于Binlog的邏輯復制,提升主備復制的效率和穩定性。即使對大表進行加索引、加字段等DDL操作,也不會造成數據庫的延遲。
秒級快速備份:利用底層分布式存儲的快照技術,只需分鐘級別即可完成對TB級數據量大小的數據庫的備份,且整個備份過程不需要加鎖,效率更高,影響更小,對應用程序幾乎無影響,全天24小時均可進行備份。