云原生数据库PolarDB介绍

什么是PolarDB数据库?

云原生数据库 PolarDB 是阿里云自研产品,在存储计算分离架构下,利用了软硬件结合的优势,100%兼容 MySQL 和 PostgreSQL 生态,为用户提供秒级弹性、高性能、海量存储、安全可靠的数据库服务。PolarDB 分布式版历经十余年淬炼,始终保持对阿里集团“双十一购物狂欢节”所有相关业务的全面支撑。PolarDB 坚定遵循自主可控、开放生态的发展思路,持续围绕 MySQL、PostgreSQL 开源生态构建企业级、分布式能力,以求最大程度降低用户的学习使用成本。

产品架构

云原生数据库PolarDB基于Cloud Native设计理念,既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、快速迭代的优势。产品架构如下:

PolarDB MySQL版的产品架构具有如下特点:

一写多读

PolarDB采用分布式集群架构,一个集群版集群包含一个主节点和最多15个只读节点(推荐至少保留一个只读节点,用于保障高可用)。主节点处理读写请求,只读节点仅处理读请求。主节点和只读节点之间采用Active-Active的Failover方式,提供数据库的高可用服务。

Active-Active架构

Active-Active架构(多活架构)是一种分布式系统设计模式,通过在多个数据中心或节点同时运行服务,实现高可用性、负载均衡和容灾功能。以下是其核心特点:

核心特点

1、多点并发服务:用户请求可由任意活跃节点处理,任一节点故障不影响服务连续性。

2、数据同步机制:通过主从复制、多主复制等方式保持数据一致性,策略包括强一致性、弱一致性或最终一致性。

3、容灾与负载均衡:自动检测故障并切换流量至其他节点,同时分散负载至不同数据中心以提升性能。

4、低延迟路由:根据地理位置就近分配请求,减少网络延迟。

优势与挑战

1、高可用性:任一节点故障时,其他节点可立即接管服务。

2、性能提升:通过全球分布的节点分担流量,增强系统吞吐量。

3、运维复杂度:需同步配置多个数据中心,确保数据一致性并管理监控。

该架构常用于金融、电商等需要高可靠性和低延迟的场景。

计算与存储分离

PolarDB采用计算与存储分离的设计理念,满足公共云计算环境下根据业务发展弹性扩展集群的刚性需求。数据库的计算节点(Database Engine Server)仅存储元数据,而将数据文件、Redo Log等存储于远端的存储节点(Database Storage Server)。各计算节点之间仅需同步Redo Log相关的元数据信息,极大地降低了主节点和只读节点间的复制延迟,而且在主节点故障时,只读节点可以快速切换为主节点。

计算-存储分离架构

计算节点:无状态设计,负责SQL解析、查询优化和执行存储节点:基于PolarFS分布式文件系统,提供高性能的共享存储两者通过RDMA高速网络通信,延迟可低至微秒级

读写分离

读写分离是PolarDB集群版默认免费提供的一个透明、高可用、自适应的负载均衡能力。通过集群地址,SQL请求自动转发到PolarDB集群版的各个节点,提供聚合、高吞吐的并发SQL处理能力。

高速链路互联

数据库的计算节点和存储节点之间采用高速网络互联,并通过RDMA协议进行数据传输,使I/O性能不再成为瓶颈。

共享分布式存储

多个计算节点共享一份数据,而不是每个计算节点都存储一份数据,极大地降低了用户的存储成本。基于全新打造的分布式块存储(Distributed Storage)和文件系统(Distributed Filesystem),存储容量可以在线平滑扩展,不会受到单个数据库服务器的存储容量限制,可应对上百TB级别的数据规模。

数据多副本、Parallel-Raft协议

数据库存储节点的数据采用多副本形式,确保数据的可靠性,并通过Parallel-Raft协议保证数据的一致性。

Raft协议是一种基于日志复制的一致性算法,通过选举领袖的方式来实现的。Raft协议设计首要目标是易于理解,所以采用了分解法(Raft流程可分解为选主、日志复制和安全)和状态空间简化(相较于 Paxos,Raft 减少了未定状态的数量)。参考

https://cloud.tencent.com/developer/article/1921830

More From Author

赛迪研究报告之国产数据库代表-GBASE南大通用与金篆信科GoldenDB

阿里云:PolarDB登顶全球数据库性能及性价比排行榜

发表回复