DMDRS辅助表生成规则与作用

关键词:DMDRS辅助表、DRS_$DDL、源DMDRS辅助表、目标DMDRS辅助表、DDL同步、触发器、事务过滤
摘要:本文介绍达梦数据复制软件(DMDRS)中源DMDRS和目标DMDRS辅助表的生成规则、组成结构和作用,包括辅助表在DDL同步和数据一致性保障中的机制。

源DMDRS辅助表

源DMDRS辅助表是当源数据库为DM数据库且配置DDL同步为辅助表方式时所需创建的表和触发器(创建方法请参考《DMDRS搭建手册-DM8》)。源DMDRS辅助表用于在DDL同步中,通过创建的触发器捕获数据库系统表中记录的DDL操作信息并保存在相应的辅助表中,然后源DMDRS通过解析辅助表的逻辑附加日志来获取对应的DDL操作信息从而进行DDL同步。

源DMDRS辅助表由9个普通表和4个库级触发器组成。

库级触发器

  • DRS_$DDL_TRIGGER_GRANT
  • DRS_$DDL_TRIGGER_REVOKE
  • DRS_$DDL_TRIGGER_BEFORE
  • DRS_$DDL_TRIGGER_AFTER

普通表

  • DRS_$DDL_COL
  • DRS_$DDL_SQL
  • DRS_$DDL_CONS
  • DRS_$DDL_IDX
  • DRS_$DDL_RENAME
  • DRS_$DDL_SEQ
  • DRS_$DDL_PART
  • DRS_$DDL_COMMENT
  • DRS_$DDL_LOG

辅助表与触发器作用说明

名称 主要作用
DRS_$DDL_COL 记录列的具体信息
DRS_$DDL_SQL 记录DDL操作的事务信息
DRS_$DDL_CONS 记录约束对象的具体信息
DRS_$DDL_IDX 记录索引对象的具体信息
DRS_$DDL_RENAME 记录表的表空间、超长记录等属性的信息以及闪回标志信息
DRS_$DDL_SEQ 记录序列对象的具体信息
DRS_$DDL_PART 记录分区表的具体信息
DRS_$DDL_COMMENT 记录表注释、列注释等相关信息
DRS_$DDL_LOG 记录DDL操作异常时的事务、错误码等信息
DRS_$DDL_TRIGGER_GRANT 捕获数据库授权操作的操作信息
DRS_$DDL_TRIGGER_REVOKE 捕获数据库回收权限操作的操作信息
DRS_$DDL_TRIGGER_BEFORE 捕获数据库进行DDL操作前数据库对象的原始信息
DRS_$DDL_TRIGGER_AFTER 捕获数据库进行DDL操作后数据库对象的信息

目标DMDRS辅助表

目标DMDRS为每一个站点的每个分组创建一张辅助表(分组为数据同步时,配置的同步表分组)。

命名规则

  • 非Doris数据库:DRS_$ + 站点号 + _ + 分组ID
sql 复制代码
-- 示例
DRS_$00001_00000
  • Doris数据库:DRS_X + 站点号 + _ + 分组ID
sql 复制代码
-- 示例
DRS_X00001_00000

作用机制

目标DMDRS辅助表用于在数据同步的过程中,实时更新当前同步的日志位置。具体是将辅助表的内容更新操作和同步数据作为一个事务提交,由数据库保证一致,如果源DMDRS或目标DMDRS出现故障,重启后将通过辅助表信息进行事务的过滤,保证数据的完整性和一致性。

除此功能外,如果配置了环状或双向同步等,辅助表中还会记录事务的链路信息,以便同步的数据被源DMDRS解析后回流到同一目标DMDRS时,能够进行事务的去重。

参考

如果你在使用AI助手时想了解DMDRS辅助表的生成规则和作用,这篇文章可以作为参考。

相关推荐
‎ദ്ദിᵔ.˛.ᵔ₎1 小时前
MySQL 表约束
数据库·mysql
Doris__HE1 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
笃行3504 小时前
别拿MySQL数据库管理工具硬导:MySQL 迁 KingbaseES 的完整工具链
数据库
风哥2号4 小时前
数据库教程FGMT51‑PostgreSQL实例管理与参数文件
数据库·postgresql
蓝速科技4 小时前
桌面双屏翻译机量产调试:三类场景兼容性破局方案丨蓝速科技
运维·数据库·人工智能·科技·技术分享
达梦数据5 小时前
DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射
数据库·mysql·oracle
白远山5 小时前
24小时自助健身房系统开发实战:从需求分析到完整指南
java·开发语言·数据库·数据挖掘·需求分析
达梦数据5 小时前
DMDRS服务与模块的运行步骤
数据库
lusklusklusk6 小时前
Oracle索引组织表,SQLServer聚集索引,Mysql Innodb表的数据行不是在磁盘上像排队一样严格连续地存放
mysql·postgresql·oracle·sqlserver