Database Migration Service (DMS) dan Schema Conversion Tool
Migrasikan basis data homogen dan heterogen dengan DMS menggunakan pemuatan penuh atau CDC, lalu konversikan dialek skema dengan Schema Conversion Tool.
Database Migration Service (DMS) dan Schema Conversion Tool adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Apa Itu AWS DMS?
AWS Database Migration Service (DMS) memigrasikan basis data ke AWS dengan waktu henti minimal. DMS mendukung migrasi homogen (misalnya, Oracle ke Oracle, MySQL ke MySQL) dan migrasi heterogen (misalnya, Oracle ke Aurora PostgreSQL, SQL Server ke MySQL). DMS menggunakan instans replikasi yang membaca dari sumber, secara opsional mengubah data, lalu menulisnya ke target. Anda hanya membayar waktu aktif instans replikasi.
Komponen DMS: Endpoint, Instans Replikasi
DMS memiliki tiga komponen utama. Source Endpoints menentukan koneksi ke basis data sumber (URL JDBC, kredensial, TLS). Target Endpoints menentukan basis data tujuan. Replication Instance adalah server terkelola berbasis EC2 yang disediakan DMS di VPC Anda untuk menjalankan beban kerja migrasi. Pilih ukuran instans replikasi berdasarkan jumlah data yang perlu dimigrasikan dan apakah Anda ingin menggunakan multi-AZ untuk instans replikasi itu sendiri.
# Create a DMS replication instance
aws dms create-replication-instance \
--replication-instance-identifier my-dms-instance \
--replication-instance-class dms.t3.medium \
--allocated-storage 50 \
--vpc-security-group-ids sg-abc123 \
--replication-subnet-group-identifier my-dms-subnet-group \
--multi-az false \
--publicly-accessible falseMigrasi Full Load vs CDC
DMS mendukung dua mode migrasi. Full Load menyalin semua data yang ada dari sumber ke target—cocok jika Anda dapat menerima waktu henti atau sumber bersifat hanya-baca selama migrasi. Change Data Capture (CDC) menangkap perubahan berkelanjutan dari log transaksi sumber setelah Full Load selesai, sehingga sumber dan target tetap sinkron. Migrasi gabungan Full Load + CDC meminimalkan waktu henti: migrasikan data saat sumber tetap aktif, lalu lakukan peralihan ketika target sudah menyusul.
# Create a DMS replication task with Full Load + CDC
aws dms create-replication-task \
--replication-task-identifier sales-migration \
--source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
--target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
--replication-instance-arn arn:aws:dms:us-east-1:123:rep:my-dms-instance \
--migration-type full-load-and-cdc \
--table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "all", "object-locator": {"schema-name": "%", "table-name": "%"}, "rule-action": "include"}]}'Schema Conversion Tool (SCT)
AWS Schema Conversion Tool (SCT) adalah aplikasi gratis yang dapat diunduh dan secara otomatis mengonversi skema basis data sumber (DDL) ke format yang kompatibel dengan mesin basis data target. SCT menangani definisi Table, View, prosedur tersimpan, fungsi, dan pemicu. Untuk migrasi heterogen (misalnya, Oracle ke PostgreSQL), SCT mengonversi sebagian besar objek secara otomatis dan menandai item yang memerlukan peninjauan manual karena perbedaan sintaks yang tidak didukung.
# SCT is a GUI desktop tool, but here is the workflow:
# 1. Connect SCT to source Oracle database
# 2. Connect SCT to target Aurora PostgreSQL database
# 3. Run schema assessment: SCT rates conversion complexity per object
# 4. Convert schema automatically (SCT generates PostgreSQL DDL)
# 5. Apply converted DDL to target (SCT executes or exports SQL script)
# 6. Review and manually fix flagged items (e.g., PL/SQL procedures with Oracle-specific syntax)Migrasi Homogen vs Heterogen
Untuk migrasi homogen (mesin yang sama, misalnya MySQL lokal ke RDS for MySQL), SCT biasanya tidak diperlukan karena skemanya kompatibel secara langsung. DMS dapat segera menjalankan Full Load + CDC. Untuk migrasi heterogen (mesin yang berbeda), SCT harus mengonversi skema terlebih dahulu, DMS menangani migrasi data, dan Anda mungkin perlu menulis ulang secara manual prosedur tersimpan serta pemicu yang tidak memiliki padanan pada mesin target.
# Example heterogeneous migration workflow:
# On-premises Oracle -> Amazon Aurora PostgreSQL
#
# Step 1: SCT converts Oracle DDL to PostgreSQL DDL
# Step 2: Apply PostgreSQL DDL to Aurora target
# Step 3: DMS Full Load + CDC copies Oracle table data to Aurora
# Step 4: Validate row counts and checksums
# Step 5: Cut over application connections to Aurora endpoint
# Step 6: Terminate DMS task and replication instanceBasis Data Sumber dan Target yang Didukung
DMS mendukung berbagai sumber: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2, dan S3. Target yang didukung mencakup semua layanan di atas serta Amazon Redshift, DynamoDB, Kinesis Data Streams, dan Kafka. Hal ini membuat DMS berguna bukan hanya untuk migrasi relasional, tetapi juga untuk mengalirkan peristiwa perubahan relasional ke data lake atau arsitektur berbasis peristiwa menggunakan CDC ke Kinesis.
Aturan Pemetaan Table DMS
DMS menggunakan aturan pemetaan Table (JSON) untuk mengontrol skema dan Table mana yang disertakan atau dikecualikan, serta untuk menerapkan transformasi data. Anda dapat mengganti nama skema atau Table, mengonversi nilai kolom (misalnya, mengubah semua String menjadi huruf besar), menambahkan kolom turunan, atau memfilter baris. Ini berguna saat melakukan migrasi ke target dengan konvensi penamaan yang berbeda atau saat Anda hanya ingin memigrasikan sebagian Table.
# Table mapping: include only the 'orders' table, rename schema
{
'rules': [
{
'rule-type': 'selection',
'rule-id': '1',
'rule-name': 'select-orders',
'object-locator': {'schema-name': 'prod_db', 'table-name': 'orders'},
'rule-action': 'include'
},
{
'rule-type': 'transformation',
'rule-id': '2',
'rule-name': 'rename-schema',
'rule-action': 'convert-uppercase',
'rule-target': 'schema',
'object-locator': {'schema-name': 'prod_db'}
}
]
}Memantau Kemajuan Migrasi DMS
DMS memublikasikan metrik ke CloudWatch: FullLoadThroughputRowsSource (baris per detik yang dimuat), CDCLatencySource (kesenjangan antara log transaksi sumber dan saat DMS membacanya), serta CDCLatencyTarget (kesenjangan antara saat DMS membaca dan menulis ke target). Pantau CDCLatencyTarget dengan saksama selama fase sinkronisasi—ketika nilainya turun mendekati nol, target telah menyusul sumber dan Anda siap melakukan peralihan.
# Monitor CDC latency via CloudWatch CLI
aws cloudwatch get-metric-statistics \
--namespace AWS/DMS \
--metric-name CDCLatencyTarget \
--dimensions Name=ReplicationInstanceIdentifier,Value=my-dms-instance \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00Z \
--period 60 \
--statistics AverageDMS Serverless
DMS Serverless secara otomatis menyediakan dan menskalakan kapasitas replikasi berdasarkan beban kerja migrasi, sehingga Anda tidak perlu memilih dan mengelola ukuran instans replikasi. Anda menentukan unit kapasitas DMS minimum dan maksimum (DCU), lalu DMS melakukan penskalaan otomatis dalam rentang tersebut. Fitur ini ideal untuk migrasi dengan beban yang berubah-ubah atau ketika Anda ingin menghindari risiko ukuran instans replikasi yang terlalu kecil saat beban migrasi mencapai puncaknya.
# Create a DMS Serverless replication
aws dms create-replication \
--replication-config-identifier my-serverless-migration \
--replication-type full-load-and-cdc \
--source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
--target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
--compute-config '{
"MinCapacityUnits": 2,
"MaxCapacityUnits": 64,
"MultiAZ": false,
"ReplicationSubnetGroupId": "my-subnet-group",
"VpcSecurityGroupIds": ["sg-abc123"]
}'Memvalidasi Kelengkapan Migrasi
Setelah migrasi, validasi kelengkapan data menggunakan Data Validation DMS. Aktifkan fitur ini di pengaturan tugas, lalu DMS membandingkan jumlah baris dan checksum antara Table sumber dan target serta melaporkan ketidaksesuaian ke Table validasi terpisah. Untuk migrasi heterogen, jalankan juga pengujian awal pada tingkat aplikasi. Jangan pernah melakukan peralihan sebelum validasi menunjukkan tidak ada perbedaan—menyelaraskan data setelah peralihan yang bermasalah jauh lebih mahal daripada meluangkan waktu tambahan untuk melakukan validasi.
# Enable validation in DMS task settings (JSON)
{
'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
'ValidationSettings': {
'EnableValidation': true,
'ValidationMode': 'ROW_LEVEL',
'ValidationOnly': false,
'FailureMaxCount': 10000
}
}Skenario Ujian DMS yang Umum
Dalam ujian SAA-C03, DMS muncul dalam skenario yang memerlukan migrasi basis data dengan waktu henti minimal. Petunjuk utamanya: 'migrasikan basis data dengan replikasi berkelanjutan' → DMS Full Load + CDC. 'perubahan mesin heterogen' → SCT terlebih dahulu, kemudian DMS. 'replikasi perubahan hampir secara waktu nyata ke data lake' → DMS CDC ke Kinesis atau S3. 'konsolidasikan beberapa basis data sumber ke satu target' → beberapa tugas DMS ke satu endpoint target. DMS secara khusus ditujukan untuk migrasi basis data—untuk migrasi server gunakan MGN, sedangkan untuk transfer data massal gunakan DataSync atau Snowball.
Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa DMS mendukung migrasi basis data homogen dan heterogen menggunakan mode Full Load dan CDC, SCT mengotomatiskan konversi skema untuk migrasi yang mengubah mesin serta menandai item yang memerlukan peninjauan manual, dan DMS Serverless melakukan penskalaan otomatis kapasitas replikasi sehingga keputusan tentang ukuran instans tidak diperlukan. Selanjutnya, kita akan membahas Amazon EventBridge untuk perutean berbasis peristiwa dan arsitektur bus.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Database Migration Service (DMS) dan Schema Conversion Tool” gratis?
Ya — teks lengkap “Database Migration Service (DMS) dan Schema Conversion Tool” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Database Migration Service (DMS) dan Schema Conversion Tool”?
Migrasikan basis data homogen dan heterogen dengan DMS menggunakan pemuatan penuh atau CDC, lalu konversikan dialek skema dengan Schema Conversion Tool. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?
Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Database Migration Service (DMS) dan Schema Conversion Tool” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- 7 R Strategi Migrasi
- AWS Migration Hub dan Application Discovery Service
- Application Migration Service (MGN)
- Database Migration Service (DMS) dan Schema Conversion Tool