返回介绍

应用场景

发布于 2020-10-27 05:11:40 字数 1765 浏览 1104 评论 0 收藏 0

本文档介绍 TiDB Data Migration (DM) 支持的主要应用场景及相关的使用建议。

非合库合表场景

将 TiDB 作为 MySQL/MariaDB 的从库

如需将 TiDB 作为上游 MySQL/MariaDB 的从库,即将上游实例中的所有数据先以全量形式导入到 TiDB,然后以增量形式实时复制后续变更到 TiDB,则简单按如下规则配置数据迁移任务即可:

  • 指定 task-modeall
  • 配置 target-database 为下游 TiDB 相关连接信息。
  • mysql-instances 中为上游 MySQL/MariaDB 配置对应的 source-id
  • 使用默认的并发控制参数或按需配置 mydumper-threadloader-threadsyncer-thread
  • 无需配置 route-rulesfilter-rulesblock-allow-list 等。

迁移 MySQL/MariaDB 中部分业务数据

如果原 MySQL/MariaDB 中有多个业务的数据,但暂时只需要迁移其中的部分业务数据到 TiDB,则按照合库合表场景

如果上游 MySQL/MariaDB 中的数据是以分库分表等形式存在的,在迁移到 TiDB 时通常会期望将其进行合并,这时可通过配置 route-rules 来将上游数据中的库名、表名等重命名后合并到下游同一个库或表中,具体可参考 DM 分库分表合并场景以及分表合并数据迁移最佳实践

对于 DDL 的迁移,DM 提供了特殊的支持,具体可参考分库分表合并迁移

如只需迁移部分业务数据或过滤部分特定操作,可直接参考前述非合库合表场景中的online DDL 场景

在 MySQL 生态中,经常会使用 pt-osc 或 gh-ost 等工具执行 online DDL 操作,DM 对此类场景提供了特殊的支持,通过配置 online-ddl-scheme 参数即可开启。具体可参考 DM online-ddl-scheme

变更 DM 连接的上游 MySQL 实例

使用 MySQL/MariaDB 时,经常会构建主从集群以提升读取性能,确保数据安全。如果在使用 DM 进行数据迁移过程中,DM-worker 原来连接的上游 MySQL/MariaDB 实例由于某些原因不可用,则需要将 DM-worker 连接到上游主从集群间的另一实例。对于此类场景,DM 提供了较好的支持,但仍有一些限制,具体可以参考 切换 DM-worker 与上游 MySQL 实例的连接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文