• 导出的数据格式无法满足 TiDB Lighting 数据导入工具的快速解析需要
    • Mydumper 官方仓库年久失修,TiDB 并不倾向于在 fork 版本中继续提供新特性
    • Mydumper 本身采用的开源协议与 TiDB 所使用的开源协议不兼容
    • 完全采用 Golang,与 TiDB 生态集成度高
    • 能够提供 Mydumper 类似的功能,且支持并发高速导出 MySQL 协议兼容数据库数据
    • 提供 SQL、CSV 等多种数据输出格式,以便于快速导出及导入

    2. 工作原理

    • 配置解析:处理用户通过命令行传入的参数
    • 数据库信息预处理:在数据导出任务进行之前,获取数据库服务器版本、数据表、数据库视图等相关信息并进行预处理
    • 一致性控制器:通过用户传入的一致性规则,在数据导出过程中保障数据一致性
    • Black & White 列表:根据设置的规则过滤不需要导出的数据表
    • 表数据中间表示层:中间表示层将数据表进行封装,提供一套 API 以供写控制器进行数据迭代写入