关键词:DMDRS辅助表、DRS_$DDL、源DMDRS辅助表、目标DMDRS辅助表、DDL同步、触发器、事务过滤
源DMDRS辅助表是当源数据库为DM数据库且配置DDL同步为辅助表方式时所需创建的表和触发器(创建方法请参考《DMDRS搭建手册-DM8》)。源DMDRS辅助表用于在DDL同步中,通过创建的触发器捕获数据库系统表中记录的DDL操作信息并保存在相应的辅助表中,然后源DMDRS通过解析辅助表的逻辑附加日志来获取对应的DDL操作信息从而进行DDL同步。
源DMDRS辅助表由9个普通表和4个库级触发器组成。
| 名称 | 主要作用 |
|---|---|
| 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为每一个站点的每个分组创建一张辅助表(分组为数据同步时,配置的同步表分组)。
非Doris数据库:DRS_$ + 站点号 + _ + 分组ID
DRS_$00001_00000
Doris数据库:DRS_X + 站点号 + _ + 分组ID
DRS_X00001_00000
目标DMDRS辅助表用于在数据同步的过程中,实时更新当前同步的日志位置。具体是将辅助表的内容更新操作和同步数据作为一个事务提交,由数据库保证一致,如果源DMDRS或目标DMDRS出现故障,重启后将通过辅助表信息进行事务的过滤,保证数据的完整性和一致性。
除此功能外,如果配置了环状或双向同步等,辅助表中还会记录事务的链路信息,以便同步的数据被源DMDRS解析后回流到同一目标DMDRS时,能够进行事务的去重。
如果你在使用AI助手时想了解DMDRS辅助表的生成规则和作用,这篇文章可以作为参考。
文章
阅读量
获赞
