---
title: '一体化数据同步平台 DM 1.0 GA 发布 丨TiDB 工具'
date: '2019-09-06T00:00:00+08:00'
status: publish
permalink: /blog/dm-1-0-ga
author:
    - 沈瑀昊
    - 沈瑀昊
    - 沈瑀昊
excerpt: 'DM 在 TiDB DevCon 2019 上正式开源，经过半年多时间在大量用户、开发者的支持和反馈下，今天我们宣布 DM 1.0 GA 正式发布。'
type: post
id: 2987
category:
    - 产品技术解读
tag:
    - DM
    - 社区
    - 社区动态
post_format: []
profile:
    - 沈瑀昊
algolia_posts_post_records_count:
    - '2'
---
DM（TiDB Data Migration）是由 PingCAP 开发的一体化数据同步平台，支持从 MySQL 或 MariaDB 到 TiDB 的全量数据迁移和增量数据同步。无论是从 MySQL 向 TiDB 进行平滑数据迁移还是用 TiDB 作为多个 MySQL 实例的数据汇总库，都可以通过 DM 来实现。DM 在 [TiDB DevCon 2019](https://tidb.net/archived/events/devcon2019/) 上正式开源，经过半年多时间在大量用户、开发者的支持和反馈下，其功能和稳定性越来越完善。在今天，我们宣布 DM 1.0 GA 正式发布。

![DM Architecture](https://img1.pingcap.com/prod/1_59a060dd01.png)

<center>DM Architecture</center>核心特性
----

### 一体化数据同步

在进行上下游数据同步的时候，一般需要先进行全量数据复制，再进行增量数据同步。DM 同步任务支持配置多个上游 MySQL/MariaDB 实例，并且同时执行全量迁移和增量同步，可以简单稳定地满足用户迁移数据的场景。

### 同步规则可配置

DM 提供了包括库表路由（Table routing）、黑白名单（Black & white table lists）、binlog 过滤（Binlog event filter）在内丰富的数据同步规则，支持在数据同步中进行自定义配置。

### 分库分表自动合并

在使用 MySQL 支撑大量数据时，经常会选择使用分库分表的方案。但当将数据同步到 TiDB 后，通常希望逻辑上进行合库合表。DM 针对合库合表的同步场景，提供了强大的分库分表自动合并机制，能够协调上游各分片之间的 DDL 同步，保证数据同步的正确性。

### 异常任务自动恢复

在数据同步的过程中，上游、下游、DM 自身的问题都有可能导致同步任务的中断。DM 针对常见的异常同步场景进行了优化，支持自动检测相关服务状态并自动尝试恢复大部分的异常同步任务，使得同步任务的运行更加稳定可靠。

更多资料
----

大家可以参考 [DM 使用文档](https://docs.pingcap.com/zh/tidb/stable/dm-overview) 来部署并体验，参考 DM 升级指南更新至 GA 版本。想深入了解 DM 相关实现原理的同学，也可以查看 [DM 源代码](https://github.com/pingcap/dm) 以及配套的 [DM 源码阅读系列](/blog/tag/dm-source-code-reading/) 文章。如果有相关的问题，欢迎在 Github 上提 issue 或者是在 [AskTUG 问答社区](https://asktug.com/) 中讨论。

下一步计划
-----

最后再次感谢各位用户、开发者对 DM 提供的支持和帮助。在 DM 1.0 GA 发布之后，我们会持续打磨优化 DM，在接下来的版本中，提供 DM 组件高可用、优化分库分表合并机制、支持同步过程在线校验等新特性，向更加完善的数据同步平台方向持续演进。