本文介绍了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资源。 | 支持两种方式创建数据库:
|
扩容 | 需要评估每个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只读实例即可。 |
运维 |
风险:直接删除其中的一个分库,会导致PolarDB-X 1.0无法正常访问这个分库上的数据。 | PolarDB-X对用户屏蔽了存储节点,不能直接访问其存储节点,它将通过一个整体视角将数据库呈现给用户。 通过自动的负载均衡、逻辑Binlog、混合负载的HTAP等能力来减少对存储节点直接访问的需求。目前PolarDB-X计算节点主要基于MySQL 5.7版本。 |
DAS自治服务 | 提供SQL审计与分析(基于SLS)、慢SQL明细功能。 | 提供SQL洞察与分析的功能,包括:安全审计、SQL洞察、智能压测、性能趋势、实例会话、慢日志、空间分析、实时性能、容量评估。 |
架构差异 | PolarDB-X 1.0的架构中,大量功能依赖外围管控系统完成,例如:
| PolarDB-X中,核心功能全部内聚到内核:
|
事务模型 | 使用的是MySQL官方提供的XA事务。XA事务可以保证写入操作的原子性。 | 使用自研的全局MVCC事务,在两阶段提交(2PC)的基础上,增加了对事务快照时间戳(snapshot_ts)和提交时间戳(commit_ts)的支持。 |
性能提升 | PolarDB-X 1.0连接RDS MySQL,使用的是RDS MySQL标准的访问链路,中间需要经过SLB的中转,会增加一跳的网络延迟。 |
|
性能数据请参见Sysbench测试说明。 | 性能数据请参见Sysbench测试。 |