全部产品
Search
文档中心

云原生数据库 PolarDB:产品概述

更新时间:Dec 13, 2024

什么是PolarDB

PolarDB是阿里巴巴自研的新一代云原生数据库,在计算存储分离架构下,利用了软硬件结合的优势,为您提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。100%兼容MySQL和PostgreSQL生态,高度兼容Oracle语法。

PolarDB共有三个引擎,分别为PolarDB MySQL版(PolarDB for MySQL,简称PolarDB-M)、PolarDB PostgreSQL版(PolarDB for PostgreSQL,简称PolarDB-PG)、PolarDB分布式版(PolarDB for Xscale,简称PolarDB-X)。经过阿里巴巴多年双十一活动的最佳实践验证,让用户既享受到开源的生态灵活性,又获得商业云原生数据库的高性能和安全等企业级能力。

引擎

数据库生态

兼容性

产品架构

输出形态

应用场景

PolarDB MySQL版

MySQL

100%兼容MySQL

Share Storage,计算存储分离

公共云、专有云企业版

MySQL生态下的云原生数据库

PolarDB PostgreSQL版

PostgreSQL、Oracle

100%兼容PostgreSQL高度兼容Oracle

Share Storage,计算存储分离

公共云、专有云企业版、DBStack

PostgreSQL生态下的云原生数据库

PolarDB分布式版

MySQL

标准版100%兼容MySQL企业版高度兼容MySQL

Share Nothing,分布式

公共云、专有云企业版、DBStack

MySQL生态下的大规模数据、超高并发应用

PolarDB MySQL版PolarDB PostgreSQL版产品架构

PolarDB MySQL版PolarDB PostgreSQL版均为计算存储分离、共享存储的架构,通过云原生架构、软硬件一体化、共享分布式存储的设计,主节点和只读节点使用物理复制、RDMA网络低时延,能够快速同步数据,彻底解决了主从异步复制所带来的备库数据非强一致的问题,使得整个数据库集群在应对任何单点故障时,都可以保证数据零丢失,同时实现秒级节点扩缩容。

核心组件

  • Proxy

PolarDB通过内部的代理层Proxy对外提供服务,应用程序的请求都先经过代理层,然后访问到数据库节点。代理层不仅可以做安全认证、保护和会话保持,还可以解析SQL,把写操作发送到主节点,把读操作均衡地分发到多个只读节点,实现自动的读写分离。

  • 计算节点

一写多读集群内有一个读写节点以及多个只读节点,多主集群(仅PolarDB MySQL版支持)内可支持多个读写节点和多个只读节点,计算节点主要提供数据库SQL引擎功能,分为通用规格和独享规格。

  • 共享存储

集群内的多个节点共享存储资源,单集群支持最高500 TB存储空间。

03301

架构优势

  • 大容量

存储最高500 TB,不再需要因为单机容量的天花板而去购买多个实例做分片,从而简化应用开发,降低运维负担。

  • 低成本

计算存储分离架构下,每增加一个只读节点只收取计算资源的费用,而传统的备节点或只读节点同时包含计算和存储资源,每增加一个节点都需要支付相应的存储费用。

  • 分钟级扩缩容

计算存储分离的架构配合容器虚拟化和共享存储技术,使得增减节点只需5分钟。存储容量自动在线扩容,无需中断业务。

  • 读一致性

集群地址利用LSN(Log Sequence Number)确保读取数据时的全局一致性,避免因为主备延迟引起的不一致。

  • 毫秒级延迟(物理复制)

利用基于Redo的物理复制代替基于Binlog的逻辑复制,提升主备复制的效率和稳定性。即使对大表进行加索引、加字段等DDL操作,也不会造成数据库的延迟。

  • 秒级快速备份

利用底层分布式存储的快照技术,只需分钟级别即可完成对TB级数据量大小的数据库的备份,且整个备份过程不需要加锁,效率更高,影响更小,对应用程序几乎无影响,全天24小时均可进行备份。

PolarDB分布式版产品架构

PolarDB分布式版采用了基于计算存储分离的Share Nothing系统架构,该架构使用户可以根据业务需要进行分层容量规划,实现大规模扩展。

核心组件

  • 元数据服务(Global Meta Service,GMS),主要提供分布式的元数据,提供全局授时服务(TSO),维护Table/Schema、Statistic等Meta信息、维护账号、权限等安全信息。

  • 计算节点(Compute Node,CN),主要提供分布式SQL引擎,包含核心的优化器和执行器。基于无状态的SQL引擎提供分布式路由和计算,解决分布式事务2PC协调、分布式DDL执行、全局索引维护等。

  • 存储节点 (Data Node,DN),主要提供数据存储引擎,基于多数派Paxos共识协议提供高可靠存储、分布式事务的MVCC多版本存储,另外提供计算下推能力满足分布式的计算下推要求(比如Project/Filter/Join/Agg等下推计算),可支持本地盘和共享存储。

  • 日志节点(Change Data Capture,CDC),主要提供兼容MySQL生态的主备复制协议,兼容Binlog协议和数据格式、支持主备复制Replication的协议和交互。

03302

架构优势

  • 高可用

经过阿里巴巴多年双十一验证的X-DB(X-Paxos共识协议能力),提供数据强一致,保证节点故障切换时RPO=0。另外支持多样化的部署和容灾能力,比如基于Paxos强同步的同城三机房、三地五中心,另外搭配Binlog异步复制的两地三中心、异地灾备、异地多活等。尤其在异地长距离传输上,基于Batching&Pipelining进行网络优化来提升性能。

  • 高兼容

PolarDB分布式版主要兼容MySQL,包括SQL、函数类型等,技术上引入全局时间授时服务,提供全局一致性的分布式事务能力,通过TSO+2PC提供数据库完整的ACID能力,满足分布式下的Read-Committed/Repeatable-Read的隔离级别。同时在分布式事务的基础上,提供全局二级索引能力,通过事务多写保证索引和主表数据强一致的同时,引入基于代价的CBO优化器实现索引选择。除此以外,在元数据和生态对接层面,PolarDB分布式版基于Online DDL的技术提供了分布式下元数据的一致性。同时硬件层面,兼容主流国产操作系统和芯片认证,比如麒麟、鲲鹏、海光等。另外在业界主流的分布式数据库里,分布式下的Redolog/Binlog等数据库变更日志其实一直被厂商所忽视,从关系数据库的发展历史来看,生态和标准对于市场规模化非常重要,PolarDB分布式版支持Binlog日志服务,兼容和拥抱MySQL数据库生态,可以将PolarDB分布式版当做一个MySQL库,采用标准的Binlog dump协议获取Binlog日志。

  • 高扩展

PolarDB分布式版基于Share Nothing的架构支持水平扩展,同时支持数据库在线扩缩容能力,在OLTP场景下可支持千万级别的并发、以及PB级别的数据存储规模,同样在OLAP场景下,引入MPP并行查询技术,扩展机器后查询能力可线性提升,满足TPC-H等的复杂报表查询诉求。

  • HTAP

随着移动互联网和IoT设备的普及,数据会产生爆炸式的增长趋势,传统的OLTP和OLAP的解决方案是基于简单的读写分离或者ETL模型,将在线库的数据以T+1的方式抽取到数据仓库中进行计算,这种方案存在存储成本高、实时性差、链路和维护成本高等缺陷。PolarDB分布式版设计中支持OLTP和OLAP的混合负载的能力,可以在一个实例里同时运行TPC-C和TPC-H的benchmark测试,保证AP的查询不影响TP流量的稳定性。核心技术层面也有所创新,比如在计算层精确识别出TP和AP的流量,结合多副本的特性和多副本的一致性读能力,将TP和AP智能路由到不同的副本上,同时在AP链路上默认开启MPP并行查询技术,从而在满足隔离性的基础上,线性提升AP的查询能力。

相关视频