Lightning 文档对 tidb 模式下强行跳过 checksum 与 analyze 缺少描述。

  • 出现的问题:
    checksum 和 analyze 在 tidb 模式下时,会强制设置为 false,导入数据时不会进行提醒,会直接显示跳过 checksum 和 analyze。

我认为需要在文档中增加一些提醒和描述,或者增加日志输出的内容。

checksum 本来就是只针对 local 模式的吧,tidb-backend 本来就用不上?

已反馈~等文档的老师帮忙看看~

@pupillord 感谢反馈。checksum 和 analyze 仅对 local/importer backend 有效,对 tidb backend 会强制跳过相关阶段。两个阶段的具体原理如下:
checksum: 对比 tidb-lightning 编码的所有 key-value 的 (total_keys, total_bytes, crc) 与导入完成是 tidb 对应表的结果(admin checksum table) 的结果,基于此判断是否有数据不一致。由于 tidb backend 并不直接编码成 key-value 的形式,因此无法直接计算相关的数值。

analyze: tidb backend 通过 sql 执行的方式导入数据,这种情况 tidb 能够自动在后台收集相关的统计信息,因此无须显示触发。作为对比,local/importer backend, 导入的过程中数据直接写入 tikv, 并不经过 tidb, 因此,导入结束时,tidb 无法收集到任何统计信息,所以需要额外显示触发一次 analyze, 确保tidb 可以通过这些统计信息为后续的读写选择合适的执行计划。

1赞

好的,感谢指导,原因我都知道了,主要是我觉得这个地方可以在文档中简单标注一下,不然对于刚使用的人,可能会在这个地方比较迷惑。

1赞

嗯嗯,感谢反馈。已提交文档的 PR: https://github.com/pingcap/docs-cn/pull/9077