[转帖]使用 Logical Import Mode

使用,logical,import,mode · 浏览次数 : 0

小编点评

**TiDB Lightning 数据导入配置文件** ```yaml # 日志级别 log-level: "error" # 数据源目录 data-source-dir: "/data/my_database" # TiDB 连接配置 tikv-importer: # 数据源配置 data-source-dir: data-source-dir # 模式配置 mode: tidb # 批量插入操作 max-rows: 10000 # 数据导入配置 [mydumper] # 本地源数据目录 data-source-dir: data-source-dir # 连接密码 password: "" # 数据导入策略 [tidb] # 线程并发数 region-concurrency: 32 # 目标集群信息 tidb-server: # 主机地址 host: "172.16.31.1" # 端口 port: 4000 # 用户名 user: "root" ``` **配置说明:** * `log-level`:控制日志级别,可设置 `error` 或其他级别。 * `data-source-dir`:指定数据源的目录路径。 * `tikv-importer`:设置 TiDB 连接配置。 * `[mydumper]`:定义一个独立 section,包含本地数据源配置和 TiDB 连接密码。 * `[tidb]`:定义 TiDB 数据导入配置。 * `region-concurrency`:设置写入并发数。 * `tidb`:指定目标 TiDB 集群信息。

正文

https://docs.pingcap.com/zh/tidb/v6.5/tidb-lightning-logical-import-mode-usage

配置及使用

可以通过以下配置文件使用 Logical Import Mode 执行数据导入:

[lightning] # 日志 level = "info" file = "tidb-lightning.log" max-size = 128 # MB max-days = 28 max-backups = 14 # 启动之前检查集群是否满足最低需求。 check-requirements = true [mydumper] # 本地源数据目录或外部存储 URL data-source-dir = "/data/my_database" [tikv-importer] # 导入模式配置,设为 tidb 即使用 Logical Import Mode backend = "tidb" # Logical Import Mode 插入重复数据时执行的操作。 # - 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 的 Logical Import Mode 通过 on-duplicate 配置冲突数据检测的策略,TiDB Lightning 根据策略使用不同的 SQL 语句进行插入。

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

性能调优

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

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

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

与[转帖]使用 Logical Import Mode相似的内容:

[转帖]使用 Logical Import Mode

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

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

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 配置及使用 可以通过以下配置文件使用逻辑导入模式执行数据导入:

[转帖]使用JMX服务监控Java程序性能

https://www.jianshu.com/p/3c3c836c1c20?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation 背景 单机收集服务器需要性能监控和测试。 JMX

[转帖]使用 tc netem 模拟网络异常

https://cizixs.com/2017/10/23/tc-netem-for-terrible-network/ 在某些情况下,我们需要模拟网络很差的状态来测试软件能够正常工作,比如网络延迟、丢包、乱序、重复等。linux 系统强大的流量控制工具 tc 能很轻松地完成,tc 命令行是 ipr

[转帖]使用 sysdig 进行监控和调试 linux 机器

https://cizixs.com/2017/04/27/sysdig-for-linux-system-monitor-and-analysis/ sysdig 简介 sysdig 官网 上对自己的介绍是: Open Source Universal System Visibility With

[转帖]使用MAT命令行工具生成堆dump分析文件

https://www.cnblogs.com/hellxz/p/use_mat_linux_command_line_generate_reports.html 写作目标 Java程序运行过程中,难免会出现 OOM,往往是在 JVM 启动参数中添加出现 OOM 时输出堆 dump(又名:堆转储、堆

[转帖]使用火焰图(FlameGraph)分析程序性能

火焰图概念 火焰图(FlameGraph)是 svg 格式的矢量图,是先通过 perf 等工具分析得到结果,并将该结果生成的具有不同层次且支持互动的图片,看起来就像是火焰,这也是它的名字的由来。表现形式如下所示: 需要注意以下几点: 纵向(Y 轴)高低不平,表示的是函数调用栈的深度。每一层都是一个函

[转帖]使用Prometheus和Grafana监控RabbitMQ集群 (使用RabbitMQ自带插件)

https://www.cnblogs.com/hahaha111122222/p/15683696.html 配置RabbitMQ集群 官方文档:https://www.rabbitmq.com/prometheus.html#quick-start 官方github地址:https://gith

[转帖]使用Flame Graph进行系统性能分析

http://t.zoukankan.com/arnoldlu-p-10148558.html 关键词:Flame Graph、perf、perl。 FlameGraph是由BrendanGregg开发的一款开源可视化性能分析工具,形象的成为火焰图。 从底向上像火苗一样逐渐变小,也反映了相互之间的包

[转帖]使用 nsenter、dig 和 tcpdump 调试 Kubernetes 网络问题

https://zhuanlan.zhihu.com/p/410217354 使用 nsenter、dig 和 tcpdump 调试 Kubernetes 网络问题 作为 Kubernetes 管理员,我经常发现自己需要调试应用程序和系统问题。我遇到的大多数问题都可以通过 Grafana 仪表板和