AWS Database Migration Service moves data between relational databases, warehouses, and NoSQL stores, either as a one-time migration or as ongoing replication that keeps a source and target in sync.
A managed replication instance (or DMS Serverless capacity units) runs tasks between a source and a target endpoint, full load first, CDC after, with automatic failover to a standby. Sources need log access: ROW binlog on MySQL, supplemental logging on Oracle, MS-CDC on SQL Server. Billing is instance hours or DCU-hours plus storage.
How AWS Database Migration Service answers the questions Change Data Capture turns on.
| How it works | |
| Initial snapshot | Full load then CDC, in one task |
| End-to-end lag | Seconds: CDCLatencySource and CDCLatencyTarget report the lag |
| Delivery guarantee | At-least-once: duplicates possible without a primary key |
| Schema drift | Limited DDL: add, drop and rename columns; alters aren't backfilled |
| Running it | |
| What you run | A replication instance you size, or DMS Serverless capacity units |
| Connections | |
| Sources | Relational, warehouse and NoSQL sources; heterogeneous |
| Source requirements | Oracle supplemental logging, MySQL ROW binlog, SQL Server MS-CDC |
| Transformations | Table-mapping rules: rename, prefix, drop or add computed columns |
| Destinations | AWS databases, warehouses, S3 and NoSQL targets |
| Cost | |
| Billing unit | Replication instance hours, or DCU-hours on Serverless, plus storage |
vs AWS Database Migration Service: Open source (permissive) · Self-hosted · Managed · Free · Subscription · Operational complexity: High · Streaming · Batch · Java, Scala, Python
vs AWS Database Migration Service: Open source (permissive) · Self-hosted · Managed · Free · Subscription · Operational complexity: High · Streaming · Java
vs AWS Database Migration Service: Source-available · Managed · Self-hosted · Hybrid · Free · Subscription · Operational complexity: Low · Rust