Data Transmission Service (DTS) memungkinkan Anda melakukan migrasi database antar instans melalui alur kerja konsol langkah demi langkah. Tutorial ini menggunakan contoh migrasi dari ApsaraDB RDS for MySQL ke MySQL dan mencakup seluruh proses: menghubungkan database, memilih objek migrasi, menjalankan pemeriksaan awal, membeli instans migrasi, serta memulai tugas.
Langkah-langkah dan parameter dalam tutorial ini didasarkan pada migrasi MySQL ke MySQL antar instans ApsaraDB RDS for MySQL. Konfigurasi aktual Anda bergantung pada jenis database sumber dan tujuan. Untuk skenario yang didukung, lihat Ikhtisar skenario migrasi data.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat database sumber dan tujuan yang menjalankan versi yang didukung. Lihat Ikhtisar skenario migrasi data untuk jenis dan versi yang didukung.
(Untuk database yang dikelola sendiri) Menyiapkan lingkungan yang diperlukan. Lihat Ikhtisar persiapan.
Membuat akun database pada instans sumber dengan izin SELECT, REPLICATION CLIENT, dan REPLICATION SLAVE pada objek yang akan dimigrasikan.
Membuat akun database pada instans tujuan dengan izin baca dan tulis pada database tujuan.
Langkah 1: Buka halaman Data Migration
Gunakan konsol DTS atau konsol DMS untuk membuka halaman Data Migration.
DTS console
Login ke DTS console.
Pada panel navigasi kiri, klik Data Migration.
Pada pojok kiri atas, pilih wilayah tempat instans migrasi Anda akan berada.
DMS console
Langkah-langkah tepatnya dapat berbeda tergantung pada mode dan tata letak konsol DMS Anda. Lihat Simple mode dan Sesuaikan tata letak dan gaya konsol DMS untuk detailnya.
Login ke DMS console.
Pada bilah navigasi atas, arahkan pointer ke Data + AI > DTS (DTS) > Data Migration.
Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi Anda akan berada.
Langkah 2: Buat tugas
Klik Create Task untuk membuka halaman konfigurasi tugas.
Jika halaman menampilkan tombol New Configuration Page di pojok kanan atas, klik tombol tersebut untuk beralih ke versi baru. Lewati langkah ini jika Anda melihat Back to Previous Version—artinya Anda sudah berada di versi baru.
Halaman konfigurasi versi baru dan sebelumnya memiliki parameter yang berbeda. Gunakan versi baru.
Langkah 3: Konfigurasikan database sumber dan tujuan
Setelah mengisi detail database sumber dan tujuan, baca bagian Limits yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.
Tabel berikut menjelaskan parameter untuk database sumber dan tujuan. Dalam contoh ini, keduanya merupakan instans ApsaraDB RDS for MySQL dalam satu Akun Alibaba Cloud yang sama.
Source database
| Parameter | Description |
|---|---|
| Task Name | Nama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. |
| Select a DMS database instance | Tidak dipilih dalam contoh ini. Konfigurasikan parameter database di bawah ini sebagai gantinya. |
| Database Type | Jenis database sumber. Pilih MySQL. |
| Access Method | Metode akses database sumber. Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah instans ApsaraDB RDS for MySQL sumber. |
| Replicate Data Across Alibaba Cloud Accounts | Apakah database sumber milik Akun Alibaba Cloud yang berbeda. Pilih No untuk contoh ini. |
| RDS Instance ID | ID instans ApsaraDB RDS for MySQL sumber. |
| Database Account | Akun database dengan izin SELECT, REPLICATION CLIENT, dan REPLICATION SLAVE pada objek yang akan dimigrasikan. |
| Database Password | Kata sandi untuk akun database tersebut. |
| Encryption | Gunakan pengaturan default untuk contoh ini. |
Destination database
| Parameter | Description |
|---|---|
| Select a DMS database instance | Tidak dipilih dalam contoh ini. Konfigurasikan parameter database di bawah ini sebagai gantinya. |
| Database Type | Jenis database tujuan. Pilih MySQL. |
| Access Method | Metode akses database tujuan. Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah instans ApsaraDB RDS for MySQL tujuan. |
| Replicate Data Across Alibaba Cloud Accounts | Apakah database tujuan milik Akun Alibaba Cloud yang berbeda. Pilih No untuk contoh ini. |
| RDS Instance ID | ID instans ApsaraDB RDS for MySQL tujuan. |
| Database Account | Akun database dengan izin baca dan tulis pada database tujuan. |
| Database Password | Kata sandi untuk akun database tersebut. |
| Encryption | Gunakan pengaturan default untuk contoh ini. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed di bagian bawah halaman.
DTS secara otomatis memperbarui pengaturan firewall berdasarkan lokasi hosting database Anda:
Instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB): DTS menambahkan blok CIDR servernya ke daftar putih alamat IP instans.
Database yang dikelola sendiri pada satu instans Elastic Compute Service (ECS): DTS menambahkan blok CIDR servernya ke aturan grup keamanan ECS. Pastikan instans ECS dapat mengakses database.
Database yang dikelola sendiri pada beberapa instans ECS: Tambahkan secara manual blok CIDR server DTS ke aturan grup keamanan setiap instans ECS.
Database on-premises atau cloud pihak ketiga: Tambahkan secara manual blok CIDR server DTS ke daftar putih alamat IP database. Lihat Add the CIDR blocks of DTS servers.
Menambahkan blok CIDR DTS ke daftar putih atau aturan grup keamanan Anda menimbulkan risiko keamanan. Sebelum melakukan migrasi data, ambil tindakan pencegahan seperti memperkuat kredensial, membatasi port yang terbuka, mengautentikasi panggilan API, melakukan audit aturan daftar putih secara berkala, serta menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghubungkan database Anda ke DTS.
Langkah 5: Konfigurasikan objek migrasi
Pilih apa yang akan dimigrasikan
Pada halaman Configure Objects, pilih objek dan jenis migrasi.
Untuk contoh ini, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration di bawah Migration Types, lalu pindahkan objek yang akan dimigrasikan dari Source Objects ke Selected Objects.
Tabel berikut menjelaskan parameter utama.
| Parameter | Description |
|---|---|
| Migration Types | Pilih berdasarkan tujuan Anda:<br>• Schema Migration + Full Data Migration — menyalin data yang ada satu kali, tanpa sinkronisasi berkelanjutan. Hindari menulis ke database sumber selama migrasi untuk mencegah ketidakkonsistenan data.<br>• Schema Migration + Full Data Migration + Incremental Data Migration — menjaga sinkronisasi tujuan selama migrasi, sehingga menjaga kelangsungan layanan. Gunakan opsi ini jika aplikasi Anda harus tetap online selama migrasi.<br><br> Catatan Jika Anda melewatkan Schema Migration, pastikan database dan tabel telah dibuat di database tujuan untuk menerima data dan aktifkan pemetaan nama objek di Selected Objects. |
| Method to Migrate Triggers in Source Database | Cara menangani trigger dari database sumber. Konfigurasikan hanya jika Anda memiliki trigger yang akan dimigrasikan. Lihat Synchronize or migrate triggers from the source database. Tersedia hanya ketika Schema Migration dan Incremental Data Migration dipilih. |
| Enable Migration Assessment | Apakah akan menilai kompatibilitas skema (panjang indeks, prosedur tersimpan, tabel dependen) sebelum migrasi. Memilih Yes meningkatkan waktu pemeriksaan awal. Hasil muncul di bawah Assessment Result dan tidak memengaruhi kelulusan pemeriksaan awal. Tersedia hanya ketika Schema Migration dipilih. |
| Processing Mode of Conflicting Tables | Cara menangani tabel di tujuan yang memiliki nama sama dengan tabel sumber:<br>• Precheck and Report Errors — gagal dalam pemeriksaan awal jika ditemukan nama tabel identik. Untuk mengatasi konflik, gunakan object name mapping untuk mengganti nama tabel di tujuan.<br>• Ignore Errors and Proceed — melewati pemeriksaan konflik nama. Peringatan Ini dapat menyebabkan ketidakkonsistenan data. Selama migrasi penuh, catatan yang ada dipertahankan; selama migrasi inkremental, catatan yang ada ditimpa. Jika skema berbeda, hanya beberapa kolom yang mungkin dimigrasikan atau tugas dapat gagal sepenuhnya. |
| Capitalization of Object Names in Destination Instance | Kebijakan kapitalisasi untuk nama database, tabel, dan kolom di tujuan. Default adalah DTS default policy. Lihat Specify the capitalization of object names in the destination instance. |
| Source Objects | Pilih kolom, tabel, atau database yang akan dimigrasikan, lalu klik |
| Selected Objects | Kelola objek yang dipersiapkan untuk migrasi:<br>• Mengganti nama satu objek: klik kanan objek tersebut. Lihat Petakan nama satu objek.<br>• Mengganti nama beberapa objek: klik Batch Edit di sudut kanan atas. Lihat Petakan nama beberapa objek sekaligus.<br>• Menyaring baris dengan kondisi SQL: klik kanan tabel dan tentukan kondisi WHERE. Lihat Tetapkan kondisi penyaringan.<br>• Memilih operasi DML atau DDL yang akan dimigrasikan: klik kanan objek tersebut dan pilih operasi yang diinginkan. |
Konfigurasikan pengaturan lanjutan
Klik Next: Advanced Settings. Nilai default berfungsi untuk sebagian besar skenario. Sesuaikan parameter berikut sesuai kebutuhan.
| Parameter | Description |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, DTS menggunakan klaster bersama. Untuk stabilitas tugas yang lebih tinggi, beli klaster khusus. Lihat What is a DTS dedicated cluster. |
| Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database. | Berlaku ketika Anda menggunakan DMS atau gh-ost untuk operasi DDL Online pada sumber. Penting pt-online-schema-change tidak didukung—menggunakannya menyebabkan tugas DTS gagal.<br>• Yes — memigrasikan data tabel sementara dari operasi DDL Online. Dapat menyebabkan latensi.<br>• No, Adapt to DMS Online DDL — hanya memigrasikan DDL asli dari DMS, bukan data tabel sementara. Tabel tujuan mungkin terkunci.<br>• No, Adapt to gh-ost — hanya memigrasikan DDL asli dari gh-ost, bukan data tabel sementara. Mendukung penyaringan tabel bayangan gh-ost. Tabel tujuan mungkin terkunci. |
| Whether to Migrate Accounts | Apakah akan memigrasikan informasi akun database sumber. Jika diatur ke Yes, pilih akun yang akan dimigrasikan dan verifikasi izin akun yang digunakan dalam tugas ini. Lihat Migrate database accounts. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba ulang jika kehilangan koneksi ke database sumber atau tujuan. Rentang valid: 10–1.440 menit. Default: 720. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan; jika tidak, tugas gagal. Catatan Jika beberapa tugas berbagi database sumber atau tujuan yang sama, jendela coba ulang yang paling baru diatur akan berlaku. Biaya DTS tetap berjalan selama percobaan ulang. |
| Retry Time for Other Issues | Berapa lama DTS mencoba ulang operasi DDL atau DML yang gagal. Rentang valid: 1–1.440 menit. Default: 10. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 10 menit. Nilai ini harus lebih kecil dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Apakah akan membatasi kecepatan migrasi selama migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis database sumber dan tujuan. Anda dapat mengaktifkan pembatasan kecepatan berdasarkan kebutuhan bisnis Anda. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Ini mengurangi beban server database tujuan. Tersedia hanya ketika Full Data Migration dipilih. |
| Enable Throttling for Incremental Data Migration | Apakah akan membatasi kecepatan migrasi selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya ketika Incremental Data Migration dipilih. |
| Environment Tag | Tag untuk mengidentifikasi lingkungan instans DTS. Pilih berdasarkan lingkungan Anda (misalnya, production atau staging). |
| Configure ETL | Apakah akan mengaktifkan pemrosesan ekstrak, transformasi, dan muat (ETL) pada data yang dimigrasikan. Pilih Yes untuk memasukkan pernyataan pemrosesan data di editor kode. Lihat Configure ETL in a data migration or data synchronization task. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Apakah DTS menulis operasi SQL ke tabel heartbeat saat instans berjalan.<br>• Yes — tidak menulis SQL heartbeat. Latensi mungkin tampak meningkat dalam pemantauan.<br>• No — menulis SQL heartbeat. Backup fisik dan kloning database sumber mungkin terpengaruh. |
| Monitoring and Alerting | Apakah akan mengonfigurasi notifikasi untuk kegagalan tugas atau latensi yang melebihi ambang batas. Pilih Yes untuk mengatur ambang batas dan kontak notifikasi. Lihat Configure monitoring and alerting when you create a DTS task. |
Konfigurasikan verifikasi data
Klik Next Step: Data Verification untuk mengatur tugas verifikasi data secara opsional. Untuk informasi selengkapnya, lihat Mengonfigurasi tugas verifikasi data.
Langkah 6: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Untuk melihat parameter OpenAPI untuk konfigurasi tugas ini sebelum menyimpan, arahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
DTS menjalankan pemeriksaan awal sebelum memulai migrasi. Tugas hanya dapat dimulai setelah pemeriksaan awal berhasil.
Failed items: Klik View Details di sebelah item yang gagal, diagnosa masalahnya, perbaiki, lalu klik Precheck Again.
Alert items that cannot be ignored: Klik View Details, perbaiki masalahnya, lalu klik Precheck Again.
Alert items that can be ignored: Klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 7: Beli instans migrasi
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Pada halaman Purchase Instance, konfigurasikan instans.
| Parameter | Description |
|---|---|
| Resource Group | Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat What is Resource Management? |
| Instance Class | Kelas instans menentukan kecepatan migrasi. Pilih berdasarkan volume data dan kebutuhan waktu Anda. Lihat Instance classes of data migration instances. |
Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Klik OK pada dialog konfirmasi.
Tugas mulai berjalan. Lacak progres di halaman Data Migration.
Apa yang selanjutnya
Ikhtisar skenario migrasi data — jelajahi kombinasi database sumber dan tujuan lain yang didukung.
Configure a data verification task — verifikasi konsistensi data setelah migrasi selesai.
Map object names — ganti nama database, tabel, atau kolom di tujuan.