官方文档:https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/backup-restore-overview
TiDB DM、BR(Backup & Restore)、Dumpling 是 TiDB 生态系统中的不同工具,它们各自在数据迁移、备份和恢复方面扮演着不同的角色。以下是对这三个工具的对比:
1. TiDB DM(Data Migration)
功能:
- TiDB DM 主要用于将数据从 MySQL/MariaDB 迁移到 TiDB。
- 它支持全量数据迁移和增量数据同步。
- 特别适用于需要从多个 MySQL/MariaDB 实例的分库分表场景合并后同步到同一个 TiDB 集群的情况。
组件:
- DM-master:管理整个 DM 集群,维护集群的拓扑信息,监控 DM-worker 实例的运行状态,进行数据同步任务的拆解与分发等。
- DM-worker:执行具体的全量、增量数据同步任务,将上游 MySQL 的 binlog 拉取到本地并持久化保存,然后同步到下游 TiDB。
- DM-ctl:命令行交互工具,用于 DM 集群和数据同步任务的管理。
2. BR(Backup & Restore)
功能:
- BR 是 TiDB 的备份恢复工具,用于对 TiDB 集群进行物理备份和恢复。
- 它支持快速备份和恢复大量数据,适合用于灾难恢复和数据迁移等场景。
特点:
- 速度快:物理备份和恢复的速度通常比逻辑备份和恢复要快。
- 适用于大数据量:特别适合于备份和恢复几十GB到TB级别的数据。
3. Dumpling
功能:
- Dumpling 是 TiDB 的逻辑备份工具,用于导出 TiDB 数据库中的数据为 SQL 或 CSV 文件。
- 它支持多线程导出,可以加快数据导出的速度。
特点:
- 可读性强:导出的 SQL 文件易于阅读和理解,便于进行数据迁移或数据分析。
- 灵活性高:支持导出指定的数据库、表或数据行,可以根据需要进行定制化的数据导出。
对比总结
TiDB DM | BR | Dumpling | |
---|---|---|---|
主要功能 | 数据迁移(MySQL/MariaDB 到 TiDB) | 备份恢复(TiDB 集群的物理备份和恢复) | 数据导出(TiDB 数据的逻辑导出) |
适用场景 | 从 MySQL/MariaDB 到 TiDB 的数据迁移 | 灾难恢复、数据迁移等需要物理备份和恢复的场景 | 需要将数据导出为 SQL 或 CSV 文件的场景 |
组件/特性 | DM-master、DM-worker、DM-ctl | 物理备份和恢复 | 多线程导出、支持 SQL 和 CSV 格式 |
优势 | 支持全量和增量数据同步,适用于复杂的数据迁移场景 | 备份恢复速度快,适用于大数据量 | 导出数据可读性强,灵活性高 |