TiDB 生态工具功能概览

本文档从生态工具的功能出发,介绍部分生态工具的功能以及它们之间的替代关系。

全量导出

Dumpling 是一个用于从 MySQL/TiDB 进行全量逻辑导出的工具。

基本信息:

  • Dumpling 的输入:MySQL/TiDB 集群
  • Dumpling 的输出:SQL/CSV 文件
  • 适用 TiDB 版本:所有版本
  • Kubernetes 支持:尚未支持

全量导入

TiDB Lightning 是一个用于将全量数据导入到 TiDB 集群的工具。

使用 TiDB Lightning 导入数据到 TiDB 时,有两种模式:

  • importer 模式:以 TiKV-importer 作为后端,这种模式一般用于导入大量的数据(TB 级别)到新集群,但在数据导入过程中集群无法提供正常的服务。
  • tidb 模式:以 TiDB/MySQL 作为后端,这种模式相比 importer 模式的导入速度较慢,但是可以在线导入,同时也支持将数据导入到 MySQL。

基本信息:

备份和恢复

Dumpling 可用于将 TiDB 集群备份到 SQL 或 CSV 格式的文件,可参考全量导出

TiDB Lightning 可用于将 Dumpling 导出的 SQL 或 CSV 格式的文件恢复到 TiDB 集群,可参考 全量导入

TiDB 增量日志同步

TiDB Binlog 是收集 TiDB 的增量 binlog 数据,并提供准实时同步和备份的工具。该工具可用于 TiDB 集群间的增量数据同步,如将其中一个 TiDB 集群作为另一个 TiDB 集群的从集群。

基本信息:

数据迁入

TiDB Data Migration (DM) 是将 MySQL/MariaDB 数据迁移到 TiDB 的工具,支持全量数据和增量数据的迁移。

基本信息:

  • DM 的输入:MySQL/MariaDB
  • DM 的输出:TiDB 集群
  • 适用 TiDB 版本:所有版本
  • Kubernetes 支持:开发中

如果数据量在 TB 级别以下,推荐直接使用 DM 迁移 MySQL/MariaDB 数据到 TiDB(迁移的过程包括全量数据的导出导入和增量数据的同步)。

如果数据量在 TB 级别,推荐的迁移步骤如下:

  1. 使用 Dumpling 导出 MySQL/MariaDB 全量数据。
  2. 使用 TiDB Lightning 将全量导出数据导入 TiDB 集群。
  3. 使用 DM 迁移 MySQL/MariaDB 增量数据到 TiDB。