写点什么

DM filter 实践整理

  • 2022 年 7 月 11 日
  • 本文字数:598 字

    阅读完需:约 2 分钟

作者: xfworld 原文来源:https://tidb.net/blog/5ad1c8e9


【是否原创】是


【首发渠道】TiDB 社区


【目录】


DM 过滤可用的方案整理


  1. 标准的按照库或者表执行过滤

  2. DDL 出错 handle-error 跳过

  3. Binlog event filter 支持比表更细的粒度


【正文】


整个故事的开端和来源: dm 如何过滤表整理语句


目前从上游同步的方案有以下几种:


  1. 采用 Mysql 相关的第三方订阅 binlog 的服务

  2. 阿里的 Canal

  3. Maxwell

  4. mysql_streamer

  5. debezium

  6. flink (对 debezium 进行进一步的封装达成一些特性需求)

  7. 官方生态工具 DM


这里主要描述下官方的生态工具 DM,DM 在运行和实践过程中,总会遇到一些问题:


  • DDL 造成的同步失败

  • 如果是 DDL 造成的同步失败,可以采用 handle-error 跳过



主要参考文档:


https://docs.pingcap.com/zh/tidb-data-migration/dev/handle-failed-ddl-statements#handle-error


  • 同步过程中,发现有一些 语句需要跳过

  • 可以通过库名和表名,以及相关的动作进行过滤

  • 以下是官方提供的配置示例:


主要参考文档:


https://docs.pingcap.com/zh/tidb-data-migration/stable/task-configuration-guide# 配置需要过滤的操作


  • 需要更细的粒度,直接通过 binlog 进行过滤


主要参考文档:


https://docs.pingcap.com/zh/tidb-data-migration/stable/key-features#binlog-event-filter


过滤可以参考的表达式:https://github.com/google/re2/wiki/Syntax


以上整理的实践过程,希望能帮助大家,如果有遗漏或者补充的地方,欢迎回贴!共同完善!


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
DM filter 实践整理_实践案例_TiDB 社区干货传送门_InfoQ写作社区