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. STM32CubeMX教程13 ADC - 单通道转换

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) ST-LINK/V2驱动 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK ...

  2. Feign传递参数

    传递单个参数 1客户端 @RequestMapping("/one") public BaseResp one(@RequestParam("id") Inte ...

  3. IAP:物联网终端软件升级技术

    摘要:IAP是利用自己的程序代码实现升级程序(新的APP)从外部接口(可以是串口.I2C.SPI.网口等等)写入到flash中,再通过flash读写操作,将新的APP覆盖原有APP程序,在重新从新的A ...

  4. 一分钟带你了解Huawei LiteOS组件开发指南

    摘要:本文将基于Huawei LiteOS系统,从组件定义开始带你走进组件开发指南. 本文分享自华为云社区<一分钟带你了解Huawei LiteOS之组件开发指南>,作者: Lionlac ...

  5. .Net Core 中 MemoryCache 使用

    1.Demo,实际项目中不这么使用 class Program { static void Main(string[] args) { //缓存的配置 MemoryCacheOptions cache ...

  6. 【AI 安全探索】AI 流行的时代,我们应该担心什么?

    视频地址:https://www.bilibili.com/video/BV1eg4y1Q7N5/ 是未来危机,还是眼下的问题? Sasha Luccioni 是 Hugging Face 团队的道德 ...

  7. ABAP 辨析 标准表|排序表|哈希表

    1.文档介绍 本文档将介绍内表的区别和用法,涉及标准表.排序表.哈希表 2.用法与区别 2.1.内表种类 内表顶层为任意表,任意表分为索引表和哈希表,索引表又可分为标准表和排序表,结构如图: 2.2. ...

  8. BOM批量查询

     1业务要求 1.当多层展开时: 根据"BOM应用程序"字段CAPID在TC04中取出"选择ID"TC04-CSLID: 再根据TCS41-CSLID= TC0 ...

  9. HHKB Programming Contest 2020 补题记录(D题投影,E题预处理节省时间)

    补题链接:Here A - Keyboard 签到,S 为 Y 则输出大写 T,不然则原样输出 T int main() { ios_base::sync_with_stdio(false), cin ...

  10. Spark 数据倾斜及其解决方案

    本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/lqMu6lfk-Ny1ZHYruEeBdA 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双 ...