TiDB Lightning TiDB-Backend
Importer-backend:
tidb-lightning
先将 SQL 或 CSV 数据编码成键值对,由tikv-importer
对写入的键值对进行排序,然后把这些键值对 Ingest 到 TiKV 节点中。TiDB-backend:
tidb-lightning
先将数据编码成INSERT
语句,然后直接在 TiDB 节点上运行这些 SQL 语句进行数据导入。
使用 TiDB-backend 时,你无需部署 tikv-importer
。与标准部署过程相比,部署 TiDB-backend 时有如下不同:
- 可以跳过所有涉及
tikv-importer
的步骤。 - 必须更改相应配置申明使用的是 TiDB-backend。
使用 TiDB-backend 时, TiDB Lightning 的速度仅受限于 TiDB 执行 SQL 语句的速度。因此,即使是低配的机器也足够发挥出最佳性能。推荐的硬件配置如下:
- 16 逻辑核 CPU
- 千兆网卡
忽略
group_vars/all.yml
文件中tikv_importer_port
部分的设置, 文件也不需要修改。但是你需要在conf/tidb-lightning.yml
文件中将backend
设置更改为tidb
。启动、部署集群。
为 TiDB Lightning 挂载数据源。
在运行 tidb-lightning
之前,在配置文件中加上如下几行:
或者在用命令行启动 tidb-lightning
时,传入参数 --backend tidb
。
TiDB-backend 支持导入到已填充的表(非空表)。但是,新数据可能会与旧数据的唯一键冲突。你可以通过使用如下任务配置来控制遇到冲突时的默认行为:
TiDB Lightning TiDB-backend 可以完全取代 。下表说明了如何将 Loader 的配置迁移到 中: