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 逻辑模式导入的更多相关文章

  1. TiDB Lightning导入超大型txt文件实践

    背景 TiDB 提供了很多种数据迁移的方式,但这些工具/方案普遍对MySQL比较友好,一旦涉及到异构数据迁移,就不得不另寻出路,借助各种开源或商业的数据同步工具.其实数据在不同系统的流转当中,有一种格 ...

  2. 探索TiDB Lightning的源码来解决发现的bug

    背景 上一篇<记一次简单的Oracle离线数据迁移至TiDB过程>说到在使用Lightning导入csv文件到TiDB的时候发现了一个bug,是这样一个过程. Oracle源库中表名都是大 ...

  3. [转帖] sqlserver CAL 授权模式下 只能够有20个core的使用问题

    http://www.cnblogs.com/diabloxl/p/3623640.html?utm_source=tuicool&utm_medium=referral 公司这边性能组老师进 ...

  4. 【TIDB】4、业界使用情况

    一.小米 1.背景 小米关系型存储数据库首选 MySQL,单机 2.6T 磁盘.由于小米手机销量的快速上升和 MIUI 负一屏用户量的快速增加,导致负一屏快递业务数据的数据量增长非常快, 每天的读写量 ...

  5. 记一次简单的Oracle离线数据迁移至TiDB过程

    背景 最近在支持一个从Oracle转TiDB的项目,为方便应用端兼容性测试需要把Oracle测试环境的库表结构和数据同步到TiDB中,由于数据量并不大,所以怎么方便怎么来,这里使用CSV导出导入的方式 ...

  6. Oracle逻辑备份与恢复

      1. 备份的类型 按照备份方式的不同,可以把备份分为两类: 1.1 逻辑备份:指通过逻辑导出对数据进行备份.将数据库中的用户对象导出到一个二进制文件中,逻辑备份使用导入导出工具:EXPDP/IMP ...

  7. Odoo 12 开发手册指南(八)—— 业务逻辑 – 业务流程的支持

    在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件 ...

  8. exp/expdp 与 imp/impdp命令导入导出数据库详解

    一.exp命令导出数据库 如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中文 ...

  9. Oracle 数据库导入与出

    Oracle 数据库导入与出 导出( EXPORT )是用 EXP 将数据库部分或全对象的结构和导出 . 导入( 导入( IMPORT )是用 )是用 IMP IMP将 OS 文件中的对象结构和数据装 ...

  10. imp导入备份时报:无法转换为环境字符集句柄

    imp导入备份时报:无法转换为环境字符集句柄 ... 在imp 还原数据库的时候出现问题如下: 这个问题是 你用 expdp导出的 却用客户端的 imp 导入:换成impdp导入即可. 当用impdp ...

随机推荐

  1. 神经网络基础篇:详解向量化逻辑回归(Vectorizing Logistic Regression)

    向量化逻辑回归 讨论如何实现逻辑回归的向量化计算.这样就能处理整个数据集,甚至不会用一个明确的for循环就能实现对于整个数据集梯度下降算法的优化 首先回顾一下逻辑回归的前向传播步骤.所以,如果有 \( ...

  2. 华为云云原生视窗:一文回顾Q1精彩瞬间

    摘要:一文速览2023年Q1期间华为云云原生相关动态信息. 华为云云原生动态 华为云海外首发CCI Serverless容器服务 在MWC23 巴展期间,华为云海外首发CCI Serverless容器 ...

  3. 18篇文章系统解读:中台规划如何撬动企业IT基础设施转型升级

    摘要:通过这个系列,让大家对中台的价值.针对的问题痛点.中台规划的方法思路和技巧.一些中台业务实践有个基本的认识,让客户清楚的意识到企业中台的业务价值,进而通过企业中台规划牵引客户IT基础设施投资. ...

  4. 快来一起玩转LiteOS组件:Curl

    摘要:Curl是一个文件传输工具,常用于数据上传和下载,本demo基于Cloud_STM32F429IGTx_FIRE开发板演示了在curl demo中调用curl提供的API来下载一个文件,并将其保 ...

  5. Net 高级调试之十六:平台互用性及P/Invoke和内存泄漏调试

    一.简介 今天是<Net 高级调试>的第十六篇文章,也是这个系列的最后一篇文章了.既然是最后一篇文章,我需要在这里说明一下,我当前的这个系列,不是针对<Net 高级调试>这本书 ...

  6. LAS Spark+云原生:数据分析全新解决方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数据规模的迅速增长和数据处理需求的不断演进,云原生架构和湖仓分析成为了现代数据处理的重要趋势.在这个数字化时代 ...

  7. 如何用 DataTester 设计并创建可视化实验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 设计一个可视化实验 确定实验目标:(示例)通过修改页面的「免费试用」按钮背景颜色,提高免费试用按钮的转化率. 确定 ...

  8. PPT 如何将大段WORD制作成PPT

    PPT 如何将大段WORD制作成PPT 标记等级 发送到PPT 图片.表格,无法发送

  9. JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并

    JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并 <dependency> <groupId>com.itextpdf</groupId> < ...

  10. forms组件渲染标签 form表单展示信息 forms组件校验方式 form组件源码 modelform组件 django自定义中间件

    目录 forms组件渲染标签 方式一:全自动渲染表单 as_p as_ul as_table 表单类的label标签 方式二:手动渲染 方式三:for循环表单对象(推荐) 查看源码 渲染标签的注意事项 ...