# `TiDB Data Migration` Overview

+ `TiDB Data Migration (DM)` is an integrated data migration task management platform
+ Can be used for migrating and merging `MySQL` shards
+ Supports the full data migration and the incremental data replication from `MySQL 5.7` compatible databases
  + Replicating `DML` and `DDL` events from source database to `TiDB`
  + Versatile filters to extract `MySQL binlog` events
  + Centralized management
  + High availability
-------------------------------------------------------------
`TiDB Data Migration` (`DM`) is an integrated data migration task management platform, which supports the full data migration and the incremental data replication from `MySQL-compatible` databases (such as `MySQL`, `MariaDB`, and `Aurora MySQL`) into `TiDB`. It can help to reduce the operation cost of data migration and simplify the troubleshooting process.

Key features:
- Compatibility with `MySQL`. `DM` is compatible with `MySQL 5.7` protocols and most of the features and syntax of `MySQL 5.7`.
- Replicating `DML` and `DDL` events. It supports parsing and replicating `DML` and `DDL` events in `MySQL` binlog.
- Migrating and merging `MySQL` shards. `DM` supports migrating and merging multiple `MySQL` database instances upstream to one `TiDB` database downstream. It supports customizing replication rules for different migration scenarios. It can automatically detect and handle `DDL` changes of upstream `MySQL` shards, which greatly reduces the operational cost.
- Various types of filters. You can predefine event types, regular expressions, and `SQL` expressions to filter out `MySQL` binlog events during the data migration process.
- Centralized management. `DM` supports thousands of nodes in a cluster. It can run and manage a large number of data migration tasks concurrently.
- Optimization of the third-party `Online Schema Change` process. In the `MySQL` ecosystem, tools such as `gh-ost` and `pt-osc` are widely used. `DM` optimizes its change process to avoid unnecessary migration of intermediate data. For details, see `online-ddl`.
- High availability. `DM` supports data migration tasks to be scheduled freely on different nodes. The running tasks are not affected when a small number of nodes crash.

