tidb两亿数据迁移到分区表的解决方案。

想要了解普通的两亿表数据怎么迁移到同库的分区表下面,目前尝试了flink sql,发现查询会超时,各位大佬有什么实操方法没

这么多数据直接迁移必然会有大事务,会有诸多限制,你可以用微批sql切分小事务的方式迁移。

或者使用dumpling +lightning实现并发导出和导入,这么大的数据,也更推荐这个方式。

1 个赞

按分区维度拆分成多个逐步迁移可以么?标配下,2亿数据迁移不算多。

那还是dumpling+lightning吧。。。。

这么大的数据量用Flink SQL不是一种好的方案,不管是从执行效率上还是对数据库的影响层面来说。建议还是按楼上这几位大佬的说法,使用Dumpling导出+Lightning导入的方式,这种方式还是比较稳定并且效率比Flink SQL高不少,我们之前试过,Dumpling导出200G的数据,然后Lightning(Local模式)导入,大概花了不到2个小时。

确实,按照dumpling+lightning的方式更合适

用dumpling+lightning的方式,并发导出导入

使用dumpling +lightning实现并发导出和导入

dumpling+lightning

我刚去掉分区表,分区表在tidb用收益基本只有删除分区,bug很多

按照分区键分批从源表select 数据出来,insert into 目标表这个走内存的应该是最快的了。担心大事务的话,搞个存储过程迁移。

Tidb社区版没有存过的

dumpling+lightning

2亿数据,大小估计在100G以内,勉强使用dumpling

最简单的按主键范围拆多个where ,然后insert into select * from旧表 ,2亿不算大

哦。没看到他说是社区版。。

:yum:一般习惯默认都是社区版~企业版一般直接找原厂支持了

dumpling+lightning

mark这个学习了,后面估计也会迁数据

mark,后面要迁移了。。