fluent
(Ti D Ber Cy B Zk12 I)
1
需求反馈
请清晰准确地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】
现阶段,我在使用TiDB时,希望将其当做数据中台使用。需要全量+增量同步数据,由于业务表会加很多索引,导致dm的 load阶段耗时很长。
现在的解决方案是自行导出表结构,删除索引,手动建表,然后再执行task任务。
【期望的需求行为】
能否在task任务中新增配置项,用于配置是否创建索引。
【需求可替代方案】
【背景信息】
如哪些用户将从中获益,以及一些使用场景,任何API设计,模型或者图标都会更有帮助。
WalterWj
(王军 - PingCAP)
2
你这是需要一个 dml filter ,跳过索引添加 ddl 同步?
WalterWj
(王军 - PingCAP)
3
如果是建表的时候已经有的索引,同步时也会跟着建立吧。
如果是在表已经存在,后期陆续加入的索引,想过滤这部分后期加索引的DDL,印象中DM的过滤操作里是可以设置的,比如添加一些binlog event级别的过滤,直接过滤指定库表的 alter table xx add index xxx 操作,这样应该可以满足你的需求
fluent
(Ti D Ber Cy B Zk12 I)
5
感谢你的回复。dm在全量同步阶段,会导出所有表的表结构,其中就包含了创建索引的语句,然后会导致全量同步时,由于索引的存在,全量导入会很慢。
从社区了解到,可以先自己优先建立好表结构,不包含索引,然后导数据,dm检测到库和表都存在的情况下,就不会再创建了。
你说的filter是在sync阶段了,可以过滤掉所有的创建索引操作。
我描述的是,dm自动全量的时候,会导出表结构包含索引,能否在这里加个开关,避免每次都需要手动创建表结构。