tidb-lightning使用local物理模式导入的前提条件

【TiDB 使用环境】生产环境 /测试环境
【TiDB 版本】v5.2.3
【TiDB-Lightning 版本】v5.2.3
【遇到的问题:问题现象及影响】
lightning使用local物理导入的方式,有要求目标表为空的前提,比如导入表A,目标端表A为空,但是目标库还有其他10张有数据的表,会被影响吗?

1 个赞

除了资源竞争,其他的应该没啥影响

2 个赞

只要目标表 A 为空 ,目标库中其他的 10 张有数据的表是安全的,不会被删除或覆盖. 在 Local 模式下,Lightning 绕过 TiDB 层,直接生成 KV 数据并写入 TiKV, 生成的键值对(Key-Value)只包含你正在导入的那个表的数据,因此不会产生删除其他表数据的指令

2 个赞

如果表 A 中有任何数据(哪怕只有一行),或者有未清理的残留元数据,Lightning 都会报错并停止任务,以防止数据重复

1 个赞

不会对目标库中其他已有数据的表造成直接的、破坏性的影响(数据不会丢失、不会被篡改),但会产生一定的集群资源压力影响,可能导致其他表的读写延迟短暂升高

2 个赞

官方文档有专门描述:

2 个赞

业务数据方面应该不会有影响

1 个赞
  • 版本匹配:TiDB 集群版本与 TiDB Lightning 版本必须完全一致(如用户场景中均为 v5.2.3,符合要求)。
  • 目标表约束:待导入的目标表必须为空,且表结构需提前在 TiDB 中创建(物理模式不支持自动建表,需手动或通过 DDL 文件预创建表结构)。
  • 权限要求:执行 Lightning 的用户需拥有 TiDB 的SUPERINSERTALTER权限,同时需具备本地数据源文件的读写权限。
  • 存储介质:导入的数据源(如 SQL dump、Parquet 文件)需存储在 Lightning 所在机器的本地磁盘(Local 模式核心是读取本地数据),且磁盘剩余空间需大于数据源体积。
  • 集群状态:TiDB 集群需正常运行,TiKV 节点的剩余存储空间需满足导入数据的容量需求,且集群未处于高负载状态(避免导入引发性能过载)。
  • 配置要求:Lightning 配置文件中需指定backend = "local",同时正确配置 TiDB、TiKV 的连接地址及数据文件路径。
1 个赞

OK明白了,总结下来就是对目标表有影响,对其他表没有影响,然后再影响目标集群的负载情况

只影响被导入的表

可以做TB 级别的数据迁移吗?

可以,很快的

不会对目标库中其他非导入表产生任何影响

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。