[转帖]tidb-lightning 逻辑模式导入

tidb,lightning,逻辑,模式,导入 · 浏览次数 : 0

小编点评

**逻辑导入模式配置文件** ``` data-source-dir = \"/data/my_database\" tikv-importer = { backend = "tidb", # 指定逻辑导入模式配置 on_duplicate = "replace" } ``` **性能优化** * **设置 region-concurrency **参数:该参数指定逻辑导入模式中的并发写入数,默认值为 CPU 核数。 * **调整 raftstore.apply-pool-size 和 raftstore.store-pool-size **参数:它们用于指定raftstore的应用和存储池的大小。 **其他设置** * ** log-level 配置:**设置日志等级。 * ** tidb-server 配置:**指定目标 TiDB 集群的信息。 * ** region-concurrency 配置:**指定逻辑导入模式中的写入并发数。

正文

https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-configuration

 

本文档介绍如何编写逻辑导入模式的配置文件,如何进行性能调优等内容。

配置及使用

可以通过以下配置文件使用逻辑导入模式执行数据导入:

[lightning] # 日志 level = "info" file = "tidb-lightning.log" max-size = 128 # MB max-days = 28 max-backups = 14 # 启动之前检查集群是否满足最低需求。 check-requirements = true [mydumper] # 本地源数据目录或外部存储 URI。关于外部存储 URI 详情可参考 https://docs.pingcap.com/zh/tidb/v6.6/backup-and-restore-storages#uri-%E6%A0%BC%E5%BC%8F。 data-source-dir = "/data/my_database" [tikv-importer] # 导入模式配置,设为 tidb 即使用逻辑导入模式 backend = "tidb" # 逻辑导入模式插入重复数据时执行的操作。 # - replace:新数据替代已有数据 # - ignore:保留已有数据,忽略新数据 # - error:中止导入并报错 on-duplicate = "replace" [tidb] # 目标集群的信息。tidb-server 的地址,填一个即可。 host = "172.16.31.1" port = 4000 user = "root" # 设置连接 TiDB 的密码,可为明文或 Base64 编码。 password = "" # tidb-lightning 引用了 TiDB 库,并生成产生一些日志。 # 设置 TiDB 库的日志等级。 log-level = "error"

TiDB Lightning 的完整配置文件可参考完整配置及命令行参数

冲突数据检测

冲突数据,即两条或两条以上的记录存在主键或唯一键列数据重复的情况。当数据源中的记录存在冲突数据,将导致该表真实总行数和使用唯一索引查询的总行数不一致的情况。TiDB Lightning 的逻辑导入模式通过 on-duplicate 配置冲突数据检测的策略,TiDB Lightning 根据策略使用不同的 SQL 语句进行插入。

策略冲突时默认行为对应 SQL 语句
replace 新数据替代旧数据 REPLACE INTO ...
ignore 保留旧数据,忽略新数据 INSERT IGNORE INTO ...
error 中止导入 INSERT INTO ...

性能调优

  • TiDB Lightning 的逻辑导入模式性能很大程度上取决于目标 TiDB 集群的写入性能,当遇到性能瓶颈时可参考 TiDB 相关性能优化文档

  • 如果发现目标 TiDB 集群的的写入尚未达到瓶颈,可以考虑增加 Lightning 配置中 region-concurrency 的值。region-concurrency 默认值为 CPU 核数,其含义在物理导入模式和逻辑导入模式下有所不同,逻辑导入模式的 region-concurrency 表示写入并发数。配置示例:

    [lightning] region-concurrency = 32
  • 调整目标 TiDB 集群的 raftstore.apply-pool-size 和 raftstore.store-pool-size 参数也可能提升导入速度。

与[转帖]tidb-lightning 逻辑模式导入相似的内容:

[转帖]tidb-lightning 逻辑模式导入

https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-configuration 本文档介绍如何编写逻辑导入模式的配置文件,如何进行性能调优等内容。 配置及使用 可以通过以下配置文件使用逻辑导入模式执行数据导入: [lightning] # 日

[转帖]使用逻辑导入模式

https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-logical-import-mode-usage#%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98 配置及使用 可以通过以下配置文件使用逻辑导入模式执行数据导入:

[转帖]TiDB Lightning 在数据迁移中的应用与错误处理实践

TiDB Lightning 在数据迁移中的应用与错误处理实践 作者简介:DBA,会点 MySQL,懂点 TiDB,Python。 个人主页:https://tidb.net/u/seiang/answer ,希望随着自己在 TiDB 上的成长,后续的主页内容越来越丰富。 俗话说:工欲善其事,必先利

[转帖]TiDB Lightning 监控告警

https://docs.pingcap.com/zh/tidb/v6.5/monitor-tidb-lightning tidb-lightning 支持使用 Prometheus 采集监控指标 (metrics)。本文主要介绍 TiDB Lightning 的监控配置与监控指标。 监控配置 如果

[转帖]TIDB - 使用 Dumpling 和 TiDB Lightning 迁移Mysql数据至TIDB中

一、TiDB Lightning介绍 TiDB Lightning 是一个将全量数据高速导入到 TiDB 集群的工具,目前支持 Mydumper 或 CSV 输出格式的数据源。你可以在以下两种场景下使用 Lightning: 迅速导入大量新数据。 备份恢复所有数据。 目前,TiDB Lightnin

[转帖]使用 Dumpling 和 TiDB Lightning 备份与恢复

https://docs.pingcap.com/zh/tidb/stable/backup-and-restore-using-dumpling-lightning 本文档介绍如何使用 Dumpling 和 TiDB Lightning 进行全量备份与恢复。 在备份与恢复场景中,如果需要全量备份少

[转帖]使用 Dumpling 和 TiDB Lightning 备份与恢复

本文档介绍如何使用 Dumpling 和 TiDB Lightning 进行全量备份与恢复。 在备份与恢复场景中,如果需要全量备份少量数据(例如小于 50 GB),且不要求备份速度,你可以使用 Dumpling 从 TiDB 数据库导出数据进行备份,再使用 TiDB Lightning 将数据导入至

[转帖]2.2.1 Lightning 工作原理

https://book.tidb.io/session2/chapter2/lightning-internal.html TiDB Lightning 工具支持高速导入 Mydumper 和 CSV 文件格式的数据文件到 TiDB 集群,导入速度可达每小时 300 GB,是传统 SQL 导入方式

[转帖]TiDB 使用 dumpling 导出数据,并使用 lightning 导入到另一个 TiDB 库

本文介绍从 TiDB-A 库导出数据到 TiDB-B 库; 导出 Dumpling 包含在 tidb-toolkit 安装包中,可在此下载。 从 TiDB/MySQL 导出数据 需要的权限 SELECTRELOADLOCK TABLESREPLICATION CLIENT 导出到 sql 文件 先贴

[转帖]使用 Logical Import Mode

https://docs.pingcap.com/zh/tidb/v6.5/tidb-lightning-logical-import-mode-usage 配置及使用 可以通过以下配置文件使用 Logical Import Mode 执行数据导入: [lightning] # 日志 level =