PolarDB-X 2.0和1.0功能对比

本文介绍了PolarDB-X 2.0和1.0实例之间的功能差异点。

说明
  • 本产品文档中PolarDB-X表示PolarDB-X 2.0实例,PolarDB-X 1.0表示PolarDB-X 1.0实例(即原DRDS)。

  • PolaDB-X 1.0实例产品文档请参见PolarDB-X 1.0章节。

功能项

PolarDB-X 1.0实例

PolarDB-X 2.0实例

购买实例

PolarDB-X 1.0本身不包含MySQL(RDS)资源,MySQL由用户单独购买,并在PolarDB-X 1.0控制台上将其组装在一起。

提供的是一个整体的数据库服务,只需要创建一个PolarDB-X实例即可。

创建数据库

PolarDB-X 1.0中,创建数据库需要在控制台完成,并且在创建数据库过程中需要选择已有或者购买新的MySQL资源。

支持两种方式创建数据库:

  1. 使用用户习惯的工具或者DMS登录数据库,执行CREATE DATABASE指令创建数据库。

  2. 在控制台创建数据库。

扩容

需要评估每个MySQL的容量,并选择将哪些分库迁移到新的MySQL存储上。

只需要增加节点数,数据将自动均衡的分布在各个存储节点上。

存储层

PolarDB-X 1.0对接通用RDS MySQL,一般是主备节点模式。

PolarDB-X采用金融级三节点存储,基于Paxos多数派共识协议,保障RPO=0。

高可用切换

存储层宕机切换,依赖MySQL主备的HA探活机制,切换的SLA在分钟级别。

存储层宕机切换,依赖Paxos多数派共识协议,切换的SLA≤30秒。

计算层感知存储发生切换,依赖于RDS MySQL的连接主动断开,切换的SLA在分钟级别。

计算层感知存储发生切换,依赖于Paxos的元数据信息,切换的SLA在秒级。

数据同步

PolarDB-X 1.0中的数据同步到下游,需要使用DTS来订阅其中的每一个MySQL实例,并仔细处理同一个逻辑表的不同分表之间,例如表名的差异等细节,并且在同步链路中不支持DDL操作。

提供统一的Binlog服务,可以使用DTS像订阅一个单机MySQL一样来订阅它。

读写分离

需要添加RDS MySQL只读实例,并进行绑定。

添加PolarDB-X只读实例即可。

运维

  1. 负载不均衡时,单独对其中一个节点进行规格的升级;

  2. 将其中的某个存储节点给其他的业务使用;

  3. 使用任意版本的RDS(5.6、5.7、8.0均可);

  4. 订阅任意一个RDS MySQL的Binlog。

风险:直接删除其中的一个分库,会导致PolarDB-X 1.0无法正常访问这个分库上的数据。

PolarDB-X对用户屏蔽了存储节点,不能直接访问其存储节点,它将通过一个整体视角将数据库呈现给用户。

通过自动的负载均衡、逻辑Binlog、混合负载的HTAP等能力来减少对存储节点直接访问的需求。目前PolarDB-X计算节点主要基于MySQL 5.7版本。

DAS自治服务

提供SQL审计与分析(基于SLS)、慢SQL明细功能。

提供SQL洞察与分析的功能,包括:安全审计、SQL洞察、智能压测、性能趋势、实例会话、慢日志、空间分析、实时性能、容量评估。

架构差异

PolarDB-X 1.0的架构中,大量功能依赖外围管控系统完成,例如:

  1. 扩容,使用内部的精卫组件来进行。

  2. 元数据,一个地域内会共享一个Diamond存储。

  3. 主备探活、切换,依赖ADHA组件。

PolarDB-X中,核心功能全部内聚到内核:

  1. X-DB作为其DN(数据节点)。

  2. GMS(Global Meta Service)节点支持以下功能:

    1. 提供分布式事务所使用的全局自增的时间戳。根据负载情况,调度数据的分布,使节点之间达到均衡。

    2. 提供统一的元数据,例如INFORMATION_SCHEMA。

    3. 对CN(计算节点)与DN进行管理,例如切换、上线、下线等。

  3. PolarDB-X的扩容基于分布式事务,由内核完成。

事务模型

使用的是MySQL官方提供的XA事务。XA事务可以保证写入操作的原子性。

使用自研的全局MVCC事务,在两阶段提交(2PC)的基础上,增加了对事务快照时间戳(snapshot_ts)和提交时间戳(commit_ts)的支持。

性能提升

PolarDB-X 1.0连接RDS MySQL,使用的是RDS MySQL标准的访问链路,中间需要经过SLB的中转,会增加一跳的网络延迟。

  1. PolarDB-X的CN节点与DN节点均在一个物理网络中,中间是点对点的直连,不经过任何SLB或LVS等的中转,具有极低的网络延迟。

  2. 支持私有RPC协议。

    1. 传递的不再是SQL而是执行计划,避免MySQL重复对SQL进行解析、优化。

    2. 使用异步模型,连接与线程、连接与会话不再是一一绑定的关系,使用比较少的连接即可满足需求。

    3. 精简了通信中不需要的信息,例如结果集的头等信息。

    4. 传输的数据格式与CN计算使用的格式完全一致,避免数据的二次转换。

性能数据请参见Sysbench测试说明

性能数据请参见Sysbench测试