文章目录
- 一、PolarDB 简介
- 二、技术含量
- 三、软件优势
- 四、产品架构
- 一写多读
- 计算与存储分离
- 读写分离
- 高速链路互联
- 共享分布式存储
- 数据多副本、Parallel-Raft协议
- 五、完善的 SDK 和文档支持。
一、PolarDB 简介
百度百科的定义如下:
PolarDB是阿里云自主研发的新一代关系型云原生数据库,既拥有分布式设计的低成本优势,又具有集中式的易用性。
PolarDB采用存储计算分离、软硬一体化设计,满足大规模应用场景需求。
PolarDB是阿里巴巴李飞飞老师、何登成老师这边团队负责的,X-DB、PolarDB-X应该都是相关的产品。
下面是其官网的介绍:
产品简介
POLARDB 是阿里巴巴自主研发的下一代关系型分布式云原生数据库,目前兼容三种数据库引擎:MySQL、PostgreSQL、高度兼容 Oracle 语法。 计算能力最高可扩展至1000核以上,存储容量最高可达 100T。经过阿里巴巴双十一活动的最佳实践,让用户既享受到开源的灵活性与价格,又享受到商业数据库的高性能和安全性。
OceanBase是完全从头写的,PolarDB应该是基于MySQL开发的。X-Engine SIGMOD 2019是该团队发的论文。今年乌镇世界互联网大会,PolarDB入选15项世界互联网领先科技成果。可以这么理解,OceanBase主要用于支付宝这边的应用、PolarDB主要用于淘宝、天猫这边的应用。
毋庸置疑,在数据库领域,尤其是工业级数据库产品,阿里在国内是领先的。
二、技术含量
POLARDB 秉承先进的云原生技术理念和架构,采用存储计算分离、共享存储、智能调度、软硬结合、物理复制等新技术,很好地解决了开源数据库在云上所面临的弹性、易用性和可移植性等诸多问题。
三、软件优势
PolarDB 实现了计算节点及存储节点的分离,提供即时生效的可扩展能力和运维能力。
简单易用:全面兼容开源数据库 MySQL 5.6。
高性能:使用RDMA高速网络和分布式计算节点集群,性能最高能达到MySQL的 6 倍。
大容量存储:支持单库容量扩展至上百TB级别,计算引擎以及存储都有秒级扩展能力。
快速备份:同一个实例的所有节点都访问存储节点上的同一份数据,数据备份耗时实现秒级响应。
一键迁移:实现一键快速迁移,并提供云上的完整生态服务。
四、产品架构
一写多读
PolarDB采用分布式集群架构,一个集群版集群包含一个主节点和最多15个只读节点(至少一个,用于保障高可用)。主节点处理读写请求,只读节点仅处理读请求。主节点和只读节点之间采用Active-Active的Failover方式,提供数据库的高可用服务。
计算与存储分离
PolarDB采用计算与存储分离的设计理念,满足公共云计算环境下根据业务发展弹性扩展集群的刚性需求。数据库的计算节点(Database Engine Server)仅存储元数据,而将数据文件、Redo Log等存储于远端的存储节点(Database Storage Server)。各计算节点之间仅需同步Redo Log相关的元数据信息,极大降低了主节点和只读节点间的复制延迟,而且在主节点故障时,只读节点可以快速切换为主节点。
读写分离
读写分离是PolarDB集群版默认提供的一个透明、高可用、自适应的负载均衡能力。通过集群地址,SQL请求自动转发到PolarDB集群版的各个节点,提供聚合、高吞吐的并发SQL处理能力。具体请参见读写分离。
高速链路互联
数据库的计算节点和存储节点之间采用高速网络互联,并通过RDMA协议进行数据传输,使I/O性能不再成为瓶颈。
共享分布式存储
多个计算节点共享一份数据,而不是每个计算节点都存储一份数据,极大降低了用户的存储成本。基于全新打造的分布式块存储(Distributed Storage)和文件系统(Distributed Filesystem),存储容量可以在线平滑扩展,不会受到单个数据库服务器的存储容量限制,可应对上百TB级别的数据规模。
数据多副本、Parallel-Raft协议
数据库存储节点的数据采用多副本形式,确保数据的可靠性,并通过Parallel-Raft协议保证数据的一致性。
五、完善的 SDK 和文档支持。
PolarDB支持Java、Node.js、Go、PHP、.NET和Python开发。