创建与释放全球多活数据库集群(旧版)

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文介绍如何创建和释放RDS全球多活数据库集群。

前提条件

  • 授权全球多活数据库集群访问云资源(旧版)

  • 当前阿里云账户中的余额必须大于等于100

  • 已创建RDS MySQL实例,后续用作中心节点。创建方式,请参见快速创建RDS MySQL实例

    说明
    • 目前仅支持位于华东1(杭州)、华东2(上海) 、华北1(青岛)、华北2(北京)、华北3(张家口)、华南1(深圳)、华南3(广州)、西南1(成都)、中国(香港)、新加坡、德国(法兰克福)、美国(弗吉尼亚)、美国(硅谷)地域的RDS MySQL实例作为中心节点。

    • 一个RDS MySQL实例仅能归属于一个全球多活数据库集群。

费用说明

收费项目

计费方式

RDS实例

目前仅支持后付费(即按量付费)。

请参见RDS实例计费方式

双向同步实例

  • 目前仅支持后付费(即按量付费)。

  • 一个双向同步实例的费用 = 一条单向同步实例的费用 X 2。

    说明

    如果一个集群中有1个中心节点,N个单元节点,则会创建N个DTS双向同步实例。

请参见DTS收费项目和计费规则

注意事项

类型

说明

中心节点的限制

  • 待同步的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致目标数据库中出现重复数据。

  • 如同步对象为表级别,且需进行编辑(例如更改其表名和列名)后再写入目标库,则单次同步任务仅支持同步至多1000张表。当超出数量限制,任务提交后会显示请求报错,此时建议您拆分待同步的表,分批配置任务。

其它限制

  • Binlog日志:

    • 需开启,并且binlog_row_image为full。否则预检查阶段提示报错,且无法成功启动数据同步任务。

    • 如同步类型仅为增量同步,DTS要求数据库的本地Binlog日志保存24小时以上,如同步类型包含全量同步和增量同步,DTS要求数据库的本地Binlog日志至少保留7天以上(您可在全量同步完成后将Binlog保存时间设置为24小时以上),否则DTS可能因无法获取Binlog而导致任务失败,极端情况下甚至可能会导致数据不一致或丢失。由于您所设置的Binlog日志保存时间低于DTS要求的时间进而导致的问题,不在DTS的SLA保障范围内。

  • 目前一个全球多活数据库集群中支持一个中心节点和最多十个单元节点,且中心节点和单元节点仅支持为RDS MySQL实例。

    说明

    目前仅支持中心节点和单元节点位于华东1(杭州)、华东2(上海) 、华北1(青岛)、华北2(北京)、华北3(张家口)、华南1(深圳)、华南3(广州)、西南1(成都)、中国(香港)、新加坡、德国(法兰克福)、美国(弗吉尼亚)、美国(硅谷)地域。

  • 一个RDS MySQL实例仅能归属于一个全球多活数据库集群。

  • 建议中心节点和单元节点的数据库版本保持一致,以保障兼容性。

  • 双向同步任务时,DTS会在中心节点和单元节点中建立名为dts的库,以避免数据循环同步,任务运行期间,请勿修改该库。

  • rdsdt_dtsacct是全球多活数据库的同步账号,请勿修改账号的密码,否则导致数据同步失败。

  • 执行数据同步前需评估源库和目标库的性能,同时建议业务低峰期执行数据同步。否则全量数据初始化时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升。

  • 全量初始化会并发执行INSERT操作,导致目标数据库的表产生碎片,因此全量初始化完成后同步对象在目标实例中占用的表空间比在源实例中占用的表空间大。

  • 对于表级别的数据同步,请勿对源库的同步对象使用gh-ost或pt-online-schema-change等类似工具执行在线DDL变更,否则会导致同步失败。

  • 对于表级别的数据同步,如果除DTS以外的数据没有写入目标库,您可以使用数据管理DMS(Data Management Service)来执行在线DDL变更,请参见不锁表结构变更

    警告

    如果有除DTS外的数据写入目标库,请勿使用DMS执行在线DDL变更,否则可能引起目标库数据丢失。

  • 仅支持中心到单元节点的DDL同步,不支持单元节点到中心节点的DDL同步,因此如需进行DDL操作,请在中心节点执行。

创建集群

  1. 访问全球多活数据库集群页面。

  2. 单击创建入口,添加中心节点,并单击下一页

    中心节点

    配置

    说明

    名称

    填写全球多活数据库集群的名称。

    • 以大小写字母或中文开头。

    • 可包含数字、下划线(_)或中划线(-)。

    • 长度为2~126个字符。

    中心节点地域

    选择中心节点RDS MySQL实例所在地域。

    说明

    目前仅支持中心节点位于杭州、上海 、青岛、北京、张家口、深圳、成都地域。

    中心节点实例ID

    选择中心节点RDS MySQL实例ID。

    实例账号

    填写中心节点RDS MySQL实例的数据库账号,需为高权限账号。

    实例密码

    填写该数据库账号对应的密码。

  3. 设置单元节点,中心节点和单元节点间的同步规则以及同步对象,并单击下一步

    1. 根据业务需求选择单元节点的配置模式,添加一个或多个单元节点。

      说明

      目前一个全球多活数据库集群中最多包含十个单元节点。

      • 快速配置:如选择该配置模式,单元节点的CPU、内存、存储空间等配置将与中心节点保持一致。您仅需要设置单元节点的地域和设置单元节点实例名称。快速配置单元节点

      • 自定义配置:如选择该配置模式,您可按下表自定义单元节点的配置,包括CPU、内存、存储空间、实例地域等。

        配置

        说明

        单元节点地域

        选择单元节点RDS MySQL实例所在地域。

        说明

        目前仅支持单元节点位于杭州、上海 、青岛、北京、张家口、深圳、成都地域。

        可用区

        选择单元节点RDS MySQL实例所在的可用区。

        单元节点实例类型

        选择单元节点RDS MySQL实例的数据库类型。目前仅支持选择为MySQL

        单元节点版本

        选择单元节点RDS MySQL实例的数据库版本。

        说明

        建议单元节点与中心节点的数据库版本保持一致。

        单元节点存储类型

        设置单元节点RDS MySQL实例的存储类型。存储类型的详情,请参见存储类型

        单元节点实例规格

        选择单元节点RDS MySQL实例的规格(CPU核数和内存)。详细的规格列表,请参见RDS MySQL标准版(原X86)主实例规格列表

        说明

        建议单元节点与中心节点的实例规格保持一致。

        单元节点存储空间

        设置单元节点RDS MySQL实例的存储空间,取值范围20~2000 GB。

        说明

        单元节点的存储空间需要大于中心节点的存储空间。

        单元节点实例名称

        设置单元节点的名称,建议设置具有业务意义的名称(无唯一性要求),便于后续识别。

        vpc

        选择单元节点RDS MySQL实例所属专有网络VPC的ID。

        vswitch

        选择单元节点RDS MySQL实例的交换机(VSwitch)ID。

      说明

      如需添加多个单元节点,请单击添加单元节点

    2. 设置中心节点和单元节点之间的同步规则。同步规则

      配置

      说明

      冲突修复策略

      如遇到这类冲突类型,您需根据业务需要,选择合适的冲突修复策略。

      • Interrupt(遇到冲突,任务报错退出)

        当数据同步遇到主键冲突时,同步任务直接报错并退出,同步任务进入失败状态,需要您介入修复任务。

      • Ignore(遇到冲突,直接使用目标实例中的冲突记录)

        当数据同步遇到主键冲突时,直接跳过当前同步语句,继续往下执行,选择使用目标库中的冲突记录。同步任务不会中断。

      • Overwrite(遇到冲突,直接覆盖目标实例中的冲突记录)

        当数据同步遇到主键冲突时,直接覆盖目标库中的冲突记录。同步任务不会中断。

      数据同步规格

      数据同步定义了以下四种规格及性能(RPS)上限。

      • micro:200以内。

      • small:2,000。

      • medium:5,000。

      • large:>5,000。

      重要

      规格的线上运行性能受网络环境、源实例和目标实例的性能、延迟等因素影响,实际的性能值会有差异,表中性能上限值仅供参考,不在SLA承诺范围内。

      说明

      全球多活数据库集群创建完成后,如需修改同步规格,请前往全球多活数据库集群列表页,单击更多 > 同步链路升降配进行修改。

    3. 选择同步对象。同步对象

      配置

      说明

      同步对象

      源库对象框中单击待同步对象,然后单击向右将其移动至已选择对象框。

      说明

      同步对象选择的粒度为库、表、列。若选择的同步对象为表或列,其他对象(如视图、触发器、存储过程)不会被同步至目标库。

      映射名称更改

      • 如需更改单个同步对象在目标实例中的名称,请右击已选择对象中的同步对象,设置方式,请参见库表列名单个映射

      • 如需批量更改同步对象在目标实例中的名称,请单击已选择对象方框右上方的批量编辑,设置方式,请参见库表列名批量映射

      过滤待同步数据

      支持设置WHERE条件过滤数据,请参见设置过滤条件

      同步的SQL操作

      请右击已选择对象中的同步对象,在弹跳框中选择所需同步的SQL操作,支持的操作,请参见支持同步的SQL

      说明

      仅支持中心到单元节点的DDL同步,不支持单元节点到中心节点的DDL同步,因此如需进行DDL操作,请在中心节点执行。

      说明

      全球多活数据库集群创建完成后,如需修改同步对象,请前往全球多活数据库集群列表页,单击更多 > 修改同步对象进行修改。

  4. 确认单元节点和双向同步实例的配置信息(包括地域、数量、规格等)以及费用情况。

    说明

    目前仅支持后付费(即按量付费)。

  5. 确认无误后,单击确定,您可在全球多活数据库集群列表,查看目标集群的创建进度。

  6. 创建完成后,您可单击目标集群,查询并管理集群以及各个节点信息。

释放全球多活数据库集群

重要
  • 全球多活数据库集群释放后,集群中的双向同步实例将自动释放。

  • 集群释放后,集群中的中心节点和单元节点对应的RDS MySQL实例仍然存在,您仍然可以在RDS控制台查询到该RDS MySQL实例。

  1. 访问全球多活数据库集群页面。

  2. 在目标全球多活数据库集群列表页面,单击目标集群操作列中的删除GAD,删除该目标集群。

  3. 单击对话框中的确定