DM filter 实践整理
作者: xfworld 原文来源:https://tidb.net/blog/5ad1c8e9
【是否原创】是
【首发渠道】TiDB 社区
【目录】
DM 过滤可用的方案整理
标准的按照库或者表执行过滤
DDL 出错 handle-error 跳过
Binlog event filter 支持比表更细的粒度
【正文】
整个故事的开端和来源: dm 如何过滤表整理语句
目前从上游同步的方案有以下几种:
采用 Mysql 相关的第三方订阅 binlog 的服务
阿里的 Canal
Maxwell
mysql_streamer
debezium
flink (对 debezium 进行进一步的封装达成一些特性需求)
官方生态工具 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
以上整理的实践过程,希望能帮助大家,如果有遗漏或者补充的地方,欢迎回贴!共同完善!
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/4c9f0a620acf7f7644bf6f300】。文章转载请联系作者。
评论