All Products
Search
Document Center

Data Transmission Service:Migrasi data dari instans RDS for MySQL ke proyek DataHub

Last Updated:Mar 28, 2026

Gunakan Data Transmission Service (DTS) untuk mengalirkan event perubahan MySQL ke proyek DataHub dengan downtime mendekati nol. Pendekatan ini direkomendasikan untuk membangun pipeline analitik real-time atau alur kerja Change Data Capture (CDC) berbasis sumber ApsaraDB RDS for MySQL.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

Jenis migrasi

DTS mendukung jenis migrasi berikut untuk skenario ini. Pilih kombinasi yang sesuai dengan tujuan Anda.

TypeApa yang dilakukanKapan digunakan
Schema migrationMenyalin skema tabel dari sumber ke tujuanWajib sebagai langkah pertama saat menggunakan migrasi inkremental
Incremental data migration (direkomendasikan)Secara terus-menerus mereplikasi perubahan (INSERT, UPDATE, DELETE) setelah migrasi skemaPipeline CDC, pergantian sistem dengan downtime mendekati nol, replikasi berkelanjutan
Migrasi data penuh tidak tersedia untuk tujuan DataHub. Pilih migrasi skema, migrasi data inkremental, atau keduanya.

Mengapa menggunakan migrasi data inkremental? Migrasi ini mereplikasi perubahan secara real time tanpa mengganggu aplikasi sumber, sehingga menjadi pilihan tepat untuk workload apa pun yang tidak dapat mentoleransi downtime.

Operasi SQL yang didukung untuk migrasi inkremental

Jenis operasiPernyataan SQL
DMLINSERT, UPDATE, DELETE
DDLADD COLUMN

Izin yang diperlukan

DatabaseIzin yang diperlukan
Instans sumber ApsaraDB RDS for MySQLAkses baca pada objek yang akan dimigrasikan

Penagihan

Jenis migrasiBiaya konfigurasi tugasBiaya lalu lintas Internet
Migrasi skemaGratisDikenakan hanya jika data meninggalkan Alibaba Cloud melalui Internet. Lihat Ikhtisar penagihan.

Batasan

DTS tidak memigrasikan foreign keys. Operasi cascade dan delete yang didefinisikan di database sumber tidak direplikasi ke tujuan.

Persyaratan database sumber

  • Server sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth rendah mengurangi kecepatan migrasi.

  • Tabel harus memiliki batasan PRIMARY KEY atau UNIQUE, dan semua field harus unik. Tanpa ini, tujuan mungkin berisi catatan duplikat.

  • Jika Anda memilih tabel sebagai objek migrasi dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi ke beberapa tugas atau migrasikan seluruh database.

Untuk migrasi data inkremental, aktifkan binary logging di konsol ApsaraDB RDS dan atur parameter berikut. Jika salah satu nilai salah, pemeriksaan awal gagal dan tugas tidak dapat dimulai.

ParameterNilai yang diperlukanReferensi
binlog_formatrowUbah parameter instans ApsaraDB RDS for MySQL
binlog_row_imagefullSama seperti di atas
Penting

Untuk MySQL yang dikelola sendiri yang dideploy dalam kluster dual-primary, atur log_slave_updates ke ON agar DTS dapat menangkap semua log biner. Lihat Buat akun untuk database MySQL yang dikelola sendiri dan konfigurasi binary logging.

Persyaratan retensi log biner — jika DTS tidak dapat membaca log biner yang diperlukan, tugas gagal dan data mungkin hilang atau tidak konsisten:

Lingkup migrasiPeriode retensi minimum
Hanya migrasi data inkrementalLebih dari 24 jam
Migrasi skema + migrasi data inkrementalMinimal 7 hari (dapat dikurangi menjadi 24 jam setelah migrasi skema selesai)

Lihat Lihat dan hapus file log biner instans ApsaraDB RDS for MySQL.

Selama migrasi skema: Jangan menjalankan operasi DDL yang mengubah skema database atau tabel. Melakukannya menyebabkan tugas gagal.

Batasan lainnya

  • Hanya tabel yang dapat dipilih sebagai objek migrasi.

  • Jangan gunakan alat seperti pt-online-schema-change untuk operasi DDL selama migrasi — hal ini dapat menyebabkan tugas gagal.

  • Jika hanya DTS yang menulis ke tujuan, Data Management (DMS) dapat melakukan DDL online pada tabel sumber. Lihat Lakukan operasi DDL tanpa lock.

    Peringatan

    Jika alat lain juga menulis ke tujuan, jangan gunakan DMS untuk DDL online. Kehilangan data di tujuan mungkin terjadi.

  • DTS menggunakan ROUND(COLUMN, PRECISION) untuk membaca kolom FLOAT dan DOUBLE. Presisi default: 38 digit untuk FLOAT, 308 digit untuk DOUBLE. Verifikasi bahwa nilai default ini memenuhi kebutuhan Anda sebelum memulai.

  • DTS mencoba ulang tugas yang gagal hingga 7 hari. Sebelum mengalihkan workload Anda ke tujuan, hentikan atau lepas tugas tersebut — atau jalankan REVOKE untuk mencabut izin tulis DTS. Jika tidak, data sumber mungkin menimpa data tujuan setelah percobaan ulang.

Kasus khusus untuk sumber MySQL yang dikelola sendiri

  • Failover primary/secondary selama migrasi menyebabkan tugas gagal.

  • Jika tidak ada operasi DML yang terjadi di sumber dalam periode panjang, pembacaan latensi migrasi mungkin tidak akurat. Jalankan operasi DML di sumber untuk memperbarui nilai latensi. Jika Anda memilih seluruh database sebagai objek migrasi, buat tabel heartbeat yang menerima data setiap detik.

  • DTS secara berkala menjalankan CREATE DATABASE IF NOT EXISTS `test` di sumber untuk memajukan posisi log biner.

Buat tugas migrasi data

Langkah 1: Buka halaman Tugas Migrasi Data

  1. Login ke Konsol Data Management (DMS).

  2. Di bilah navigasi atas, klik DTS.

  3. Di panel navigasi kiri, pilih DTS (DTS) > Data Migration.

Tata letak konsol mungkin berbeda. Lihat Mode simple dan Konfigurasi konsol DMS sesuai kebutuhan bisnis Anda. Atau, langsung buka halaman Tugas Migrasi Data di konsol DTS baru.

Langkah 2: Pilih wilayah

Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi data Anda berada.

Di konsol DTS baru, pilih wilayah di pojok kiri atas.

Langkah 3: Konfigurasi database sumber dan tujuan

Klik Create Task. Baca batasan yang ditampilkan di bagian atas halaman konfigurasi sebelum melanjutkan.

Peringatan

Mengabaikan batasan yang ditampilkan dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.

Parameter database sumber:

ParameterDeskripsi
Task NameDTS memberikan nama secara otomatis. Tentukan nama deskriptif agar mudah mengidentifikasi tugas. Nama tidak perlu unik.
Select an existing DMS database instanceOpsional. Jika Anda memilih instans yang sudah ada, DTS menerapkan pengaturannya secara otomatis.
Database TypePilih MySQL.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah tempat instans sumber ApsaraDB RDS for MySQL berada.
Cross-accountPilih No untuk migrasi dalam akun yang sama.
RDS Instance IDID instans sumber ApsaraDB RDS for MySQL.
Database AccountAkun dengan izin baca pada objek yang akan dimigrasikan.
Database PasswordKata sandi untuk akun database.
EncryptionPilih Non-encrypted atau SSL-encrypted. Untuk enkripsi SSL, aktifkan terlebih dahulu di instans RDS. Lihat Konfigurasi enkripsi SSL untuk instans ApsaraDB RDS for MySQL.

Parameter database tujuan:

ParameterDeskripsi
Select an existing DMS database instanceOpsional. Jika Anda memilih instans yang sudah ada, DTS menerapkan pengaturannya secara otomatis.
Database TypePilih DataHub.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah tempat proyek DataHub berada.
ProjectProyek DataHub tujuan.

Langkah 4: Uji konektivitas

Klik Test Connectivity and Proceed.

DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih alamat IP instans database Alibaba Cloud atau aturan grup keamanan instans Elastic Compute Service (ECS). Untuk database yang dikelola sendiri yang di-host di pusat data atau cloud pihak ketiga, tambahkan secara manual blok CIDR DTS ke daftar putih alamat IP database. Lihat Tambahkan blok CIDR server DTS ke pengaturan keamanan database on-premises.

Peringatan

Menambahkan blok CIDR DTS ke daftar putih atau grup keamanan menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah-langkah berikut: perkuat keamanan akun dan kata sandi, batasi port yang terbuka, autentikasi panggilan API, audit rutin daftar putih alamat IP dan aturan grup keamanan ECS, serta pertimbangkan menghubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway (SAG).

Langkah 5: Pilih objek migrasi

Konfigurasikan pengaturan berikut:

ParameterDeskripsi
Synchronization TypePilih Schema Migration dan/atau Incremental Data Migration. Full Data Migration tidak tersedia untuk DataHub. Jika Anda tidak memilih migrasi data inkremental, hindari menulis ke sumber selama migrasi agar konsistensi data tetap terjaga.
Processing Mode of Conflicting TablesPrecheck and Report Errors: memeriksa adanya tabel dengan nama identik di sumber dan tujuan. Tugas tidak dapat dimulai jika terdapat konflik. Gunakan pemetaan nama objek untuk menyelesaikan konflik tanpa menghapus tabel tujuan. Ignore Errors and Proceed: melewati pemeriksaan konflik. Selama migrasi inkremental, catatan yang bertabrakan akan menimpa catatan tujuan yang sudah ada. Jika skema berbeda, tugas mungkin gagal atau hanya memigrasikan sebagian kolom.
Apply New Naming Rules of Additional ColumnsDTS menambahkan kolom sistem ke topik DataHub tujuan. Jika nama kolom ini bertabrakan dengan kolom topik yang sudah ada, tugas gagal. Pilih Yes atau No berdasarkan struktur topik Anda. Periksa potensi konflik sebelum mengatur parameter ini. Lihat Ubah aturan penamaan untuk kolom tambahan.
Source ObjectsPilih objek dan klik Rightwards arrow untuk memindahkannya ke Selected Objects. Hanya database yang dapat dipilih sebagai objek.
Selected ObjectsKlik kanan objek untuk mengganti namanya, menentukan kondisi filter WHERE, atau memilih operasi DML/DDL yang akan dimigrasikan. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Mengganti nama objek mungkin merusak objek dependen.
Peringatan

Jika Anda memilih Ignore Errors and Proceed, konsistensi data tidak dijamin dan data Anda mungkin berisiko.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan:

ParameterDeskripsi
Set AlertsPilih Yes untuk menerima notifikasi ketika tugas gagal atau latensi migrasi melebihi ambang batas. Atur ambang batas dan kontak peringatan. Lihat Konfigurasi pemantauan dan peringatan.
Capitalization of Object Names in Destination InstanceMengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default: Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
Specify the retry time range for failed connectionsDurasi DTS mencoba ulang koneksi yang gagal setelah tugas dimulai. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan. Jika tidak, tugas gagal. Jika beberapa tugas berbagi sumber atau tujuan yang sama, rentang waktu coba ulang terpendek berlaku untuk semuanya. Biaya DTS tetap berjalan selama percobaan ulang.

Langkah 7: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck. Untuk melihat pratinjau parameter OpenAPI sebelum melanjutkan, arahkan kursor ke tombol tersebut lalu klik Preview OpenAPI parameters.

DTS menjalankan pemeriksaan awal sebelum memulai tugas. Tugas hanya dapat dimulai setelah lulus semua pemeriksaan.

  • Jika pemeriksaan gagal, klik View Details di sebelah item yang gagal, perbaiki masalahnya, lalu klik Precheck Again.

  • Jika pemeriksaan menghasilkan peringatan yang dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again.

Mengabaikan item peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 8: Beli instans

Tunggu hingga tingkat keberhasilan mencapai 100%, lalu klik Next: Purchase Instance. Di halaman Purchase Instance, konfigurasikan:

ParameterDeskripsi
Resource GroupKelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?.
Instance ClassMengontrol kecepatan migrasi. Pilih berdasarkan volume data dan persyaratan latensi Anda. Lihat Spesifikasi instans migrasi data.

Langkah 9: Mulai tugas

Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.

Tugas akan muncul di daftar tugas. Pantau perkembangan migrasi di sana.

Langkah selanjutnya

Setelah migrasi selesai dan Anda telah memverifikasi konsistensi data, alihkan beban kerja aplikasi Anda ke proyek DataHub tujuan. Hentikan atau lepas tugas migrasi data sebelum beralih untuk mencegah DTS menimpa data tujuan jika tugas mencoba ulang.