tis
tis copied to clipboard
mysql同步starrocks,希望支持ddl变更
场景描述: 将生产mysql实时同步至starrocks,先同步全量表结构及数据,再同步增量
希望有的功能: 1、全量同步后,能记录最后的binlog信息,这样方便后续配置增量同步 2、增量同步中希望能增加从指定binlog位点进行同步 3、如当前已配置整库同步任务,如果mysql中新建了一张表,希望能自动或手动修改配置,实现新表同步至starrocks 4、支持mysql中的ddl变更同步,如添加字段、删除字段、修改数据类型等ddl操作 5、支持建表类型转换,如starrocks不支持time类型,可以配置类型映射,比如自动建表时把time类型替换为varchar类型
对于支持ddl变更,如不能实时同步的话,也可以按这样的场景操作。如上游mysql表增加字段,对应同步任务报错中断,然后手工在starrocks中增加字段后,再重新开启实时同步。不知道这样是否可行
对于支持ddl变更,如不能实时同步的话,也可以按这样的场景操作。如上游mysql表增加字段,对应同步任务报错中断,然后手工在starrocks中增加字段后,再重新开启实时同步。不知道这样是否可行
你的意思,不希望通过现在的删除增量通道的过程,而是手动添加完字段之后,可以立即启动运行。 是这样吧?
场景描述: 将生产mysql实时同步至starrocks,先同步全量表结构及数据,再同步增量
希望有的功能:
- 全量同步后,能记录最后的binlog信息,这样方便后续配置增量同步 ==》 这个届时会尝试一下把binlog的偏移量显示在TIS的UI上
- 增量同步中希望能增加从指定binlog位点进行同步 ==》 这个之前看flink-cdc的文档应该是支持直接设置gtid的偏移量,从指定的偏移位点开始消费
- 如当前已配置整库同步任务,如果mysql中新建了一张表,希望能自动或手动修改配置,实现新表同步至starrocks
- 支持mysql中的ddl变更同步,如添加字段、删除字段、修改数据类型等ddl操作 ===》 3,4两点暂时还不能支持
- 支持建表类型转换,如starrocks不支持time类型,可以配置类型映射,比如自动建表时把time类型替换为varchar类型
==》 您说的
starrocks不支持time类型,那可否映射成datetime,date部分直接设置成1970年?您说的办法自动建表时把time类型替换为varchar类型倒是也行,只是需要在flink-sql上设置一下convert语句
对于支持ddl变更,如不能实时同步的话,也可以按这样的场景操作。如上游mysql表增加字段,对应同步任务报错中断,然后手工在starrocks中增加字段后,再重新开启实时同步。不知道这样是否可行
你的意思,不希望通过现在的删除增量通道的过程,而是手动添加完字段之后,可以立即启动运行。 是这样吧?
我的意思是,如果tis平台暂时不支持ddl变更,短期内可以用另一种方式实现:即上游mysql有ddl变更时,tis侦测到ddl变更后,实时同步任务立即报错中断,然后手工介入,在下游starrocks中执行ddl变更后,再重新开启tis平台的实时同步
,tis侦测到ddl变更后,实时同步任务立即报错中断,然后手工介入,在下游starrocks中执行ddl变更后,再重新开启tis平台的实时同步
方案不错能够进一步细化报错规则?例如,上游表加字段,TIS侦测到ddl变更就立即报错并且终止任务执行,这是否有必要?
如果上游mysql表结构发生变更,说明业务逻辑已发生变化,这时我觉得有必要立即中断同步。比如上游mysql加了个字段,然后starrocks中没有同步到这个字段数据,恰巧下游基于starrocks的数据分析或者报表需要用到这字段,那这可能带来错误的分析或错误的报表。当然,tis平台如果能兼容flink cdc 3.0以上版本,那就可以不中断实时同步了。
中断同步任务,报错规则,常见的兼容mysql以下几类操作就可以 1、建表,删表:create table xxx,drop table xxx 2、增加字段:alter table xxx add column 3、删除字段:alter table xxx drop column 4、修改字段:alter table xxx change/modify column 5、增加索引:alter table xxx add index ,create index 6、删除索引:alter table xxx drop index
中断同步任务,报错规则,常见的兼容mysql以下几类操作就可以 1、建表,删表:create table xxx,drop table xxx 2、增加字段:alter table xxx add column 3、删除字段:alter table xxx drop column 4、修改字段:alter table xxx change/modify column 5、增加索引:alter table xxx add index ,create index 6、删除索引:alter table xxx drop index
ok