扫码阅读
手机扫码阅读

TiDB | 导入文档繁琐耗时?那我要说两句了

367 2023-09-07
TiDB数据导入实践摘要

TiDB神州数码云基地:在 TiDB 上的尝试、调研与分享

本文主要分享了如何高效地将数据导入到TiDB集群中,涉及到TiDB集群的准备工作,以及使用不同工具进行数据导入的测试与分析。

TiDB集群准备

为了防止在数据导入时出现写热点和大事务导致的OOM,需要进行一些配置。通过增加SHARD_ROW_ID_BITSpre_split_regions参数以及手动切分region来避免写热点问题。同时,通过启用enable-batch-dml配置,并设置tidb_dml_batch_sizetidb_batch_insert参数来避免大事务导致的OOM。

文档导入测试

对比了Navicat、LOAD DATA命令和Lightning工具的优缺点。Navicat拥有良好的交互界面但仅限Windows系统;LOAD DATA是MySQL中的传统批量导入方式,兼容性好;而Lightning虽然导入速度最快,但使用上有限制,如需频繁修改配置,不支持txt文件,且失败后需要手动调整TiKV集群状态。

数据准备

测试了不同数据量(100MB至11GB)的csv文件导入到TiDB集群中,集群配置为每台机器8 vCore,32G内存,千兆带宽。

测试结果与总结

Lightning在local模式下导入速度最快,但限制较多;LOAD DATA虽然速度稍慢,但支持txt文件且易于自定义,适合基于业务需求开发脚本;Lightning的tidb模式适合增量数据导入;而Navicat则适合初学者导入少量数据。本文旨在帮助读者更有效地导入数据到TiDB,同时欢迎大家加入社群讨论。

了解云基地,就现在!

神州数码专注于IT技术,虽然历史不长,但实力雄厚。

想要了解更多,点击 查看原文