Topic --> DMS
-----------------------------------------------------------------------------------
--------------------------------------------------------------------
In AWS DMS (Database Migration Service), there are three main types of migrations,
depending on your data transfer needs:
Type of DMS Migration Source & Target
Use Case Example
Homogeneous Same DB Engine
MySQL ➝ MySQL (cloud migration)
Heterogeneous Different Engines
Oracle ➝ PostgreSQL (modernization)
Continuous Replication Any
Sync data in real-time (MySQL ➝ Redshift)
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
1. Homogeneous Migration
Source and target databases are the same engine
(or very similar)
Examples:
MySQL ➝ MySQL
PostgreSQL ➝ PostgreSQL
Use Case:
When you're upgrading to a new version, changing infrastructure (e.g., on-prem to
cloud), or moving across regions.
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
🔄 2. Heterogeneous Migration
Source and target databases use different engines
Examples:
Oracle ➝ PostgreSQL
SQL Server ➝ MySQL
Use Case:
When switching to an open-source or cost-effective engine, or modernizing your
database stack.
👉 Requires using AWS Schema Conversion Tool (SCT) to convert schema and code
(functions, triggers).
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
🔃 3. Continuous Data Replication
Real-time replication from source to target with ongoing changes (CDC: Change Data
Capture)
Examples:
Syncing MySQL to PostgreSQL continuously
Keeping a DR (Disaster Recovery) copy updated
Use Case:
Zero downtime migration
Real-time analytics or reporting on a separate DB
Disaster recovery setup
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
What Are "Source" and "Target" in DMS?
Source = Where the data currently lives (your existing database)
Target = Where you want to move the data to (your new database)
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
Configuration: Steps in Simple Words:
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
Config ===> Source > Source endpoint > Replica > Targent endpoint > Target
Source Database
👉 MySQL database with school_db.courses
Target Database
👉 PostgreSQL on RDS (this is where you want to move the data)
Create a Replication Instance in DMS
👉 This is the worker that does the copying job
Create a Replication Subnet Group
👉 Choose subnets in your VPC so DMS knows where it can connect
Create Endpoints
👉 Tell DMS how to connect to:
Source: MySQL (hostname, port, user, password)
Target: PostgreSQL (hostname, port, user, password)
Create a Migration Task
👉 Set the task to copy the courses table from school_db
👉 Choose Full Load to copy all existing data
Start the Task
👉 DMS begins copying data from MySQL to PostgreSQL
Verify the Data
👉 Check your PostgreSQL courses table — the data should now be there!
-----------------------------------------------------------------------------------
-------------------------------------------------------------------