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小时均可进行备份。