lightning导入数据对在线集群具体有哪些影响

【 TiDB 使用环境】
spark大规模数据处理

【概述】 场景 + 问题概述
我们的业务需要定期将线上业务产生的数据批量导入Tidb,数据量比较大,需要较高的写入速度

【备份和数据迁移策略逻辑】
每次导入数据都会是一张新的表,在导入完成之前不会进行任何读写操作。

【背景】 做过哪些操作
分别测试过用jdbc和tispark两种方式将数据写入Tidb,以及用lightning的local backend进行导入

【现象】 业务和数据库现象
jdbc和tispark方式速度只有lightning的1/10左右。

【问题】 当前遇到的问题
官方文档提到lightning使用local backend时会影响集群对外提供服务,这里的影响具体是指什么?只是性能上的影响么?从tidb源码上看似乎只是调整了pd和tikv的一些参数,目前我们的测试导入过程依旧可以正常执行SQL查询,想确定一下对在线集群使用lightning是否会造成数据丢失或者不一致的问题?

【业务影响】

【TiDB 版本】
v5.2.3
【附件】

官方文档提到lightning使用local backend时会影响集群对外提供服务,这里的影响具体是指什么?只是性能上的影响么?
我理解,影响对外提供服务最主要的是这步

当一个引擎文件数据写入完毕时, tidb-lightning 便开始对目标 TiKV 集群数据进行分裂和调度,然后导入数据到 TiKV 集群。

根据 tidb 的架构,pd节点的负责任务调度,其中有N多调度任务,其中一个就是分裂 region,如果 region-schedule-limit 参数设置的过小,则会阻塞调度任务,如果设置过大,pd节点可能会面临主机资源耗尽的情况

想确定一下对在线集群使用lightning是否会造成数据丢失或者不一致的问题?

整张表相关联的所有引擎文件完成导入后, tidb-lightning 会对比本地数据源及下游集群的校验和 (checksum),确保导入的数据无损,然后让 TiDB 分析 ( ANALYZE ) 这些新增的数据,以优化日后的操作。同时, tidb-lightning 调整 AUTO_INCREMENT 值防止之后新增数据时发生冲突。

lightning 工作原理
https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-overview

对于正在运行使用的生产环境,建议用 tidb 的导入模式。如数据量巨大,可在低峰期用 local 模式,会暂停压缩,优先导入

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