文档

从零开始完成无锁结构变更

更新时间:

数据管理DMS的无锁结构变更功能可以较好地规避因锁表而导致的业务阻塞,以及数据库原生OnlineDDL带来的主备延迟问题。本文以云数据库RDS MySQL举例,引导您快速使用DMS完成无锁结构变更。

新增实例并开启无锁结构变更

  1. 登录数据管理DMS 5.0
  2. 单击页面左侧导航栏的xinzeng

    说明

    若您使用的是极简模式控制台,请先单击页面左侧的数据库实例,再单击xinzeng

  3. 新增实例对话框中,配置如下信息:

    1. 选择阿里云页签下的MySQL

    2. 配置基本信息高级信息。详细信息,请参见云数据库录入

      配置基本信息高级信息

      类别

      配置项

      说明

      数据来源

      -

      选择阿里云

      基本信息

      数据库类型

      选择数据库实例的类型。

      实例地区

      选择数据库实例所在的地域。

      其他主账号

      若您选择跨阿里云账号实例,则会出现该配置项。选择数据库实例所属的主账号。

      说明

      如果主账号不在选择列表中,您可以单击添加用户,添加数据库实例购买者的主账号。具体操作,请参见添加用户

      录入方式

      选择数据库实例的录入方式。支持实例ID连接串地址两种录入方式。

      实例ID连接串地址

      输入实例ID连接串地址

      说明

      连接串地址的组成形式为内网地址+内网端口。以RDS MySQL举例,rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。

      数据库账号

      输入需要登录的数据库账号。

      说明

      DMS将通过该账号对数据进行读、写或其他操作,请提供具有相关权限的账号。

      数据库密码

      输入数据库账号对应的密码。

      管控模式

      选择数据库的管控模式,详情请参见管控模式

      敏感数据保护

      此功能可以实现对敏感数据进行管控和脱敏,根据您的业务需求选择是否开启此功能。详细信息,请参见开通敏感数据保护

      分类分级模板

      若开启敏感数据保护,才会出现分类分级模板的配置项。

      可通过给实例绑定分类分级模板,识别实例中库表的字段是否符合模板内的识别规则,若符合,则给字段打上分类分级的标签,保护敏感等级高的字段。详细信息,请参见管理分类分级模板

      高级信息

      环境类型

      选择数据库环境的类型。实例环境类型的详细信息,请参见实例环境类型

      实例名称

      自定义实例在DMS中显示的名称。

      说明

      在第一次录入云数据库时,DMS系统会同步云数据库侧的名称。后续不再进行同步,您可以通过编辑实例来维护实例名称。具体操作,请参见编辑实例

      开启DBLink

      选择是否开启DBLink,详情请参见逻辑数仓

      无锁结构变更

      选择是否开启无锁结构变更功能,支持DMS无锁变更执行原生无锁优先,失败转DMS执行两种执行变更的方式。执行方式的详细信息,请参见开启无锁结构变更

      说明

      该配置项仅在数据库为MySQL时出现。

      开启SSL

      选择是否开启SSL连接,开启后,DMS将通过SSL连接至数据库。

      SSL(Secure Sockets Layer)能在传输层对网络连接进行加密,提升通信数据的安全性和完整性,但会增加网络连接响应时间。

      使用该参数的前提是数据库已开启SSL连接,当前支持如下选项:

      • 默认(DMS与数据库服务自动协商是否开启):系统将自动识别目标数据库是否已开启SSL连接,若数据库已开启SSL连接,则DMS将通过SSL连接数据库;若数据库未开启SSL连接,则通过普通方式进行连接。

      • 开启:开启SSL连接。若数据库未开启SSL连接,则该参数无效。

      • 关闭:不使用SSL连接。

      说明

      该配置项仅在数据库为MySQL或Redis时出现。

      实例DBA

      选择一个DBA角色进行后续权限申请等流程。

      查询超时时间(s)

      设定安全策略,当达到设定的时间后,SQL窗口执行的查询语句会中断,以保护数据库安全。

      导出超时时间(s)

      设定安全策略,当达到设定的时间后,SQL窗口执行的导出语句会中断,以保护数据库安全。

  4. 信息配置完成后,在基本信息页面中,单击页面左下角的测试连接,等待测试通过。

    说明

    如果测试连接失败,请按照报错提示检查并修改您的配置信息。

  5. 连接成功后,单击提交

无锁结构变更

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据库开发 > 数据变更 > 无锁变更

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据库开发 > 数据变更 > 无锁变更

  3. 配置无锁变更工单。如下表格仅对部分重要参数进行说明,其他参数的信息,请参见DML无锁变更

    参数名

    说明

    数据库

    搜索并选择目标数据库,支持选择多个目标数据库。

    • 有权限:只能搜索并选择有变更权限的数据库。

    • 全部:可以搜索并选择所有的数据库(除开启元数据访问控制的数据库)。

      说明

      如果您没有目标数据库的变更权限,请在顶部菜单栏中选择安全与规范 > 权限中心 > 权限工单,单击权限申请 > 库权限,在权限申请工单页面申请您需要的权限。

    变更SQL

    输入DDL(Data Definition Language),例如ALTER TABLEOPTIMIZE

    说明

    如果您输入的是DML(Data Manipulation Language),则您进行的是无锁数据变更任务。更多信息,请参见DML无锁变更

  4. 单击提交申请

    系统将自动进行SQL预检查。如果预检查失败,您可以根据失败原因,单击修改SQL,修改SQL后重试。

  5. 等待审批通过后,在工单详情页的执行区域,单击执行变更

  6. 配置任务执行参数。

    配置项

    说明

    执行策略

    • 立即执行:系统默认,单击确认执行后立即执行工单任务。

    • 定时执行:选择任务开始执行时间。单击确认执行后,在指定的时间执行该任务。

    指定结束时间

    • 开启:选择任务结束时间。如果任务在指定结束时间之前没有执行完毕,则系统将不再继续执行未完成的SQL任务,防止高峰期执行任务,影响业务运作。

    • 关闭:系统默认。

  7. 单击确定执行

    说明

    已暂停的任务,重启后,会重新开始执行任务。

    • 您可以在执行区域,查看任务执行状态任务的执行配置调度日志等信息。

    • 您还可以在运维管理 > 任务管理,查看无锁结构变更任务进度。具体操作,请参见查看无锁变更进度

相关操作

  • 在DMS的任务管理中查看变更任务的进展。具体操作,请参见任务管理

  • 在已开启无锁结构变更的情况下,普通数据变更也可实现不锁表变更。具体操作,请参见普通数据变更