PolarDB-X engine默认版本不是2.0版本docker的镜像2个版本都有主要区别在哪里?

PolarDB-X engine默认版本不是2.0版本docker的镜像2个版本都有主要区别在哪里?
iwEcAqNwbmcDAQTRBWYF0QMEBrCKC1Lmnxcn8wTgfX9QgDEBB9IDbXDBCAAJomltCgAL0gABCt4.png_720x720q90.jpg
iwEcAqNwbmcDAQTRA0wFQAaww2MPJYhjtzEE4H1_UIAxAAfSA21wwQgACaJpbQoAC9EQRA.png_720x720q90.jpg

展开
收起
青城山下庄文杰 2023-09-07 11:36:32 117 分享 版权
阿里云 AI 助理回答

PolarDB-X 是阿里云推出的云原生分布式数据库,其 1.0 和 2.0 版本在架构设计、功能特性以及使用方式上存在显著差异。以下是两个版本的主要区别,结合知识库中的信息进行详细说明:


1. 架构设计

  • PolarDB-X 1.0
    PolarDB-X 1.0 是一种中间件形态的分布式数据库,由计算层和存储层两部分组成:

    • 计算层:负责 SQL 解析、路由、分片等操作。
    • 存储层:依赖用户单独购买的 MySQL(RDS)资源,通过挂载多个 MySQL 实例实现分库分表的水平拆分。
    • 用户需要手动管理存储层的 MySQL 资源,并在控制台上将其与计算层组装在一起。
  • PolarDB-X 2.0
    PolarDB-X 2.0 是一体化形态的分布式数据库,采用全托管的服务模式:

    • 每个节点闭环整合了计算资源和存储资源,无需用户单独购买或管理存储层。
    • 提供整体的数据库服务,用户只需创建一个 PolarDB-X 实例即可完成部署。

2. 数据库创建与管理

  • PolarDB-X 1.0

    • 创建数据库时,需要在控制台完成操作,并选择已有或购买新的 MySQL 资源。
    • 需要手动管理分库分表的逻辑,增加了运维复杂度。
  • PolarDB-X 2.0

    • 支持两种方式创建数据库:
    • 使用用户习惯的工具或 DMS 登录数据库,执行 CREATE DATABASE 指令。
    • 在控制台直接创建数据库。
    • 对用户屏蔽了存储节点,提供统一的数据库视图,简化了管理和操作。

3. 扩容与负载均衡

  • PolarDB-X 1.0

    • 扩容时需要评估每个 MySQL 的容量,并手动选择将哪些分库迁移到新的 MySQL 存储上。
    • 负载不均衡时,需单独对某个节点进行规格升级或调整。
  • PolarDB-X 2.0

    • 扩容仅需增加节点数,数据会自动均衡分布在各个存储节点上。
    • 提供自动负载均衡能力,减少了手动干预的需求。

4. 存储层与高可用性

  • PolarDB-X 1.0

    • 存储层对接通用 RDS MySQL,通常为主备节点模式。
    • 宕机切换依赖 MySQL 主备的 HA 探活机制,切换 SLA 在分钟级别。
  • PolarDB-X 2.0

    • 采用金融级三节点存储,基于 Paxos 多数派共识协议,保障 RPO=0。
    • 宕机切换依赖 Paxos 协议,切换 SLA ≤ 30 秒,显著提升了高可用性。

5. 性能优化

  • PolarDB-X 1.0

    • 连接 RDS MySQL 时,使用标准访问链路,中间需要经过 SLB 中转,增加了网络延迟。
    • 不支持私有 RPC 协议,SQL 解析和优化需要在 MySQL 层重复执行。
  • PolarDB-X 2.0

    • CN 节点与 DN 节点位于同一物理网络中,采用点对点直连,避免了 SLB 或 LVS 的中转,具有极低的网络延迟。
    • 支持私有 RPC 协议,传递的是执行计划而非 SQL,避免了重复解析和优化。
    • 使用异步模型,连接与线程、会话不再一一绑定,减少了资源消耗。

6. 运维与自治服务

  • PolarDB-X 1.0

    • 用户可以直接访问存储节点,灵活性较高,但存在误操作风险(如直接删除分库会导致数据无法访问)。
    • 提供 SQL 审计与分析(基于 SLS)、慢 SQL 明细等功能。
  • PolarDB-X 2.0

    • 对用户屏蔽了存储节点,提供统一的数据库视图,减少对存储节点的直接访问需求。
    • 提供更全面的 DAS 自治服务,包括安全审计、SQL 洞察、智能压测、性能趋势、实例会话、慢日志、空间分析等功能。

7. Docker 镜像支持

根据您的问题描述,Docker 镜像同时提供了 PolarDB-X 1.0 和 2.0 版本。主要区别在于: - PolarDB-X 1.0 镜像:适用于需要手动管理存储层的场景,适合熟悉传统分库分表架构的用户。 - PolarDB-X 2.0 镜像:提供一体化的分布式数据库服务,适合希望降低运维复杂度并享受更高性能的用户。


总结

PolarDB-X 2.0 相较于 1.0,在架构设计、性能优化、高可用性、运维便利性等方面均有显著提升。如果您希望通过 Docker 部署 PolarDB-X,建议优先选择 2.0 版本,以获得更高效、更易用的分布式数据库服务。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about

还有其他疑问?
咨询AI助理