Gunakan Data Transmission Service (DTS) untuk melakukan migrasi data antar instans PolarDB-X 2.0 dengan downtime minimal. DTS mendukung tiga jenis migrasi—migrasi skema, migrasi data penuh, dan migrasi data inkremental—sehingga Anda dapat menjaga aplikasi tetap berjalan selama proses migrasi.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Dua instans PolarDB-X 2.0 (sumber dan tujuan), keduanya kompatibel dengan MySQL 5.7
Instans tujuan dengan ruang penyimpanan yang tersedia lebih besar daripada ukuran total data di instans sumber
Akun database dengan izin yang tercantum dalam Izin yang diperlukan
Batasan
Database sumber
| Batasan | Detail |
|---|---|
| Kendala tabel | Tabel harus memiliki PRIMARY KEY atau kendala UNIQUE, dan semua field harus unik. Jika tidak, database tujuan mungkin berisi catatan duplikat. |
| Jumlah tabel (saat memilih tabel secara individual) | Maksimal 1.000 tabel per task. Melebihi batas ini menyebabkan error permintaan. Untuk memigrasikan lebih banyak tabel, buat beberapa task atau lakukan migrasi pada level database. |
| Bandwidth | Server yang menghosting database sumber harus memiliki bandwidth outbound yang cukup. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi. |
| Operasi DDL | Jangan menjalankan operasi DDL pada sumber selama migrasi skema atau migrasi data penuh. Melakukannya menyebabkan task gagal. |
| Penulisan selama migrasi hanya penuh | Jika Anda hanya menjalankan migrasi data penuh (tanpa inkremental), jangan menulis ke sumber selama migrasi. Penulisan bersamaan dapat menyebabkan ketidakkonsistenan data. |
| Perubahan jenis jaringan | Jika Anda mengubah jenis jaringan instans PolarDB-X 2.0 sumber selama migrasi, perbarui juga pengaturan koneksi jaringan di task DTS. |
Persyaratan pencatatan biner (untuk migrasi data inkremental)
Jika Anda menyertakan migrasi data inkremental, verifikasi bahwa database sumber memenuhi persyaratan berikut:
| Parameter | Nilai yang diperlukan | Mengapa |
|---|---|---|
| Pencatatan biner | ON | DTS membaca log biner untuk mereplikasi perubahan inkremental |
binlog_row_image | full | Menangkap semua nilai kolom, memungkinkan resolusi konflik yang akurat |
| Retensi log biner (hanya inkremental) | Lebih dari 24 jam | Memastikan DTS dapat mengakses log berurutan selama migrasi |
| Retensi log biner (penuh + inkremental) | Minimal 7 hari | Menyediakan riwayat yang cukup agar DTS dapat melanjutkan dari titik awal migrasi penuh |
Jika log biner tidak disimpan selama durasi yang diperlukan, DTS mungkin gagal mendapatkannya dan task bisa gagal. Dalam kasus luar biasa, ketidakkonsistenan atau kehilangan data mungkin terjadi. Setelah migrasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam.
DTS memperbarui tabel dts_health_check.ha_health_check di database sumber secara berkala untuk memajukan posisi log biner.
Batasan lainnya
Instans PolarDB-X 2.0 tujuan harus kompatibel dengan MySQL 5.7.
Lakukan migrasi selama jam sepi. Migrasi data penuh mengonsumsi sumber daya baca dan tulis di sumber dan tujuan, yang meningkatkan beban server.
Setelah migrasi data penuh, ruang tabel tujuan lebih besar daripada sumber karena fragmentasi dari operasi INSERT bersamaan.
DTS secara otomatis mencoba ulang task yang gagal hingga 7 hari. Sebelum beralih workload ke tujuan, hentikan atau lepas task yang gagal. Atau, jalankan
REVOKEuntuk mencabut izin tulis DTS di tujuan. Jika tidak, task yang dilanjutkan dapat menimpa data tujuan dengan data sumber.
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya trafik Internet |
|---|---|---|
| Migrasi skema dan migrasi data penuh | Gratis | Dikenakan biaya hanya saat melakukan migrasi dari Alibaba Cloud melalui Internet. Lihat Ikhtisar penagihan. |
| Migrasi data inkremental | Dikenakan biaya. Lihat Ikhtisar penagihan. |
Jenis migrasi
DTS mendukung tiga jenis migrasi. Gabungkan sesuai kebutuhan Anda:
| Jenis migrasi | Fungsinya | Kapan digunakan |
|---|---|---|
| Migrasi skema | Memigrasikan skema objek yang dipilih ke tujuan | Diperlukan sebagai fondasi migrasi data |
| Migrasi data penuh | Memigrasikan semua data yang ada di objek yang dipilih | Cukup untuk migrasi satu kali tanpa trafik tulis selama migrasi |
| Migrasi data inkremental | Secara terus-menerus mereplikasi perubahan dari sumber ke tujuan setelah migrasi penuh selesai | Gunakan bersama migrasi data penuh untuk menjaga layanan tetap berjalan selama migrasi |
Disarankan: Pilih ketiga jenis tersebut (migrasi skema + migrasi data penuh + migrasi data inkremental) untuk menjaga kontinuitas layanan dan konsistensi data.
Operasi SQL yang didukung dalam migrasi data inkremental
| Jenis operasi | Pernyataan yang didukung |
|---|---|
| DML (Data Manipulation Language) | INSERT, UPDATE, DELETE |
Izin yang diperlukan
Berikan izin berikut kepada akun database yang digunakan oleh DTS sebelum memulai task.
Instans PolarDB-X 2.0 sumber
| Izin | Diperlukan untuk | Tujuan |
|---|---|---|
| SELECT | Migrasi skema, migrasi data penuh | Membaca data dan definisi skema dari sumber |
| REPLICATION SLAVE | Migrasi data inkremental | Mengaktifkan streaming log biner untuk mereplikasi perubahan inkremental |
| REPLICATION CLIENT | Migrasi data inkremental | Memberikan akses ke posisi log biner dan status server |
| SELECT (pada objek yang akan dimigrasikan) | Migrasi data inkremental | Membaca objek spesifik yang sedang dimigrasikan |
Instans PolarDB-X 2.0 tujuan
Izin baca dan tulis diperlukan untuk semua jenis migrasi.
Buat task migrasi
Langkah 1: Buka halaman Data Migration Tasks
Login ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik DTS.
Di panel navigasi kiri, pilih DTS (DTS) > Data Migration.
Anda juga dapat langsung membuka halaman Data Migration Tasks di Konsol DTS baru. Navigasi konsol dapat berbeda tergantung mode Konsol DMS Anda. Lihat Simple mode dan Konfigurasikan Konsol DMS sesuai kebutuhan bisnis Anda.
Langkah 2: Konfigurasikan database sumber dan tujuan
Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
Di Konsol DTS baru, pilih wilayah di pojok kiri atas.
Klik Create Task.
PeringatanSetelah memilih instans sumber dan tujuan, baca batasan yang ditampilkan di bagian atas halaman untuk mencegah kegagalan task atau ketidakkonsistenan data.
Konfigurasikan task dan koneksi database:
Bagian Parameter Deskripsi — Task Name DTS membuat nama secara otomatis. Tentukan nama deskriptif untuk mengidentifikasi task. Nama tidak perlu unik. Source Database Select Instance Pilih instans yang sudah ada untuk mengisi pengaturannya secara otomatis, atau konfigurasikan secara manual. Database Type Pilih PolarDB-X 2.0. Connection Type Pilih Alibaba Cloud Instance. Instance Region Wilayah tempat instans PolarDB-X 2.0 sumber berada. Instance ID ID instans PolarDB-X 2.0 sumber. Database Account Akun database sumber. Lihat Izin yang diperlukan. Database Password Password untuk akun database. Destination Database Select Instance Pilih instans yang sudah ada untuk mengisi pengaturannya secara otomatis, atau konfigurasikan secara manual. Database Type Pilih PolarDB-X 2.0. Connection Type Pilih Alibaba Cloud Instance. Instance Region Wilayah tempat instans PolarDB-X 2.0 tujuan berada. Instance ID ID instans PolarDB-X 2.0 tujuan. Database Account Akun database tujuan. Lihat Izin yang diperlukan. Database Password Password untuk akun database.
Langkah 3: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan Blok CIDR servernya ke daftar putih instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB) dan ke aturan grup keamanan instans Elastic Compute Service (ECS). Untuk database yang dikelola sendiri di pusat data atau yang dihosting oleh penyedia pihak ketiga, tambahkan Blok CIDR server DTS ke daftar putih database secara manual. Lihat Tambahkan Blok CIDR server DTS ke pengaturan keamanan database on-premises.
Menambahkan Blok CIDR DTS ke daftar putih atau grup keamanan menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan seperti: memperkuat kredensial akun, membatasi port yang terbuka, mengautentikasi panggilan API, mengaudit aturan daftar putih dan grup keamanan secara berkala, serta menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghubungkan database ke DTS.
Langkah 4: Pilih objek dan konfigurasikan pengaturan migrasi
| Parameter | Deskripsi |
|---|---|
| Migration Type | Pilih jenis migrasi yang akan dijalankan. Untuk kontinuitas layanan, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration. Untuk migrasi satu kali tanpa penulisan ke sumber, pilih Schema Migration dan Full Data Migration. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: Gagal dalam pemeriksaan awal jika tujuan memiliki tabel dengan nama yang sama seperti tabel sumber. Gunakan fitur pemetaan nama objek untuk menyelesaikan konflik. Lihat Map object names. Ignore Errors and Proceed: Melewati pemeriksaan konflik nama. Jika skema cocok, DTS melewati catatan dengan primary key yang sama. Jika skema berbeda, hanya beberapa kolom yang dimigrasikan atau task gagal. Gunakan dengan hati-hati. |
| Source Objects | Pilih objek dari Source Objects dan klik |
| Selected Objects | Untuk mengganti nama objek yang dimigrasikan, klik kanan objek tersebut di Selected Objects. Lihat Map the name of a single object. Untuk mengganti nama beberapa objek, klik Batch Edit. Lihat Map multiple object names at a time. Untuk memfilter baris, klik kanan objek dan tentukan kondisi WHERE SQL. Lihat Use SQL conditions to filter data. |
Mengganti nama objek dapat menyebabkan objek dependen gagal dimigrasikan.
Langkah 5: Konfigurasikan pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan:
| Parameter | Deskripsi |
|---|---|
| Set Alerts | Atur ke Yes untuk menerima notifikasi saat task gagal atau latensi migrasi melebihi ambang batas. Tentukan ambang batas peringatan dan kontak. Lihat Configure monitoring and alerting when you create a DTS task. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba ulang setelah kehilangan koneksi ke sumber atau tujuan. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika DTS terhubung kembali dalam jendela percobaan ulang, task dilanjutkan. Jika tidak, task gagal. Jika beberapa task berbagi sumber atau tujuan, jendela percobaan ulang terpendek berlaku untuk semuanya. |
| Configure ETL | Atur ke Yes untuk mentransformasi data selama migrasi menggunakan fitur ekstrak, transformasi, dan muat (ETL). Masukkan pernyataan pemrosesan di editor kode. Lihat Configure ETL in a data migration or data synchronization task dan What is ETL?. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Yes: DTS tidak menulis operasi SQL heartbeat ke sumber. Nilai latensi mungkin muncul di instans DTS. No: DTS menulis SQL heartbeat ke sumber. Hal ini dapat memengaruhi fitur seperti backup fisik dan kloning. |
Langkah 6: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
DTS menjalankan pemeriksaan awal sebelum memulai migrasi. Task hanya dilanjutkan setelah lulus pemeriksaan awal.
Jika pemeriksaan awal gagal atau menghasilkan peringatan:
Item yang gagal: Klik View Details di samping item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.
Item peringatan yang tidak dapat diabaikan: Klik View Details, selesaikan masalahnya, lalu jalankan ulang pemeriksaan awal.
Item peringatan yang dapat diabaikan: Klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 7: Beli instans dan mulai migrasi
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Pilih Instance Class untuk instans migrasi. Kelas instans menentukan kecepatan migrasi. Lihat Specifications of data migration instances.
Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start.
Monitor progres migrasi di daftar task.
Beralihkan workload Anda ke tujuan
Ini adalah fase migrasi dengan risiko tertinggi. Task DTS dapat dilanjutkan secara otomatis hingga 7 hari setelah gagal. Jika Anda tidak menghentikan atau melepas task setelah beralih, task yang dilanjutkan akan menimpa data tujuan dengan data sumber.
Selesaikan langkah-langkah berikut secara berurutan untuk beralih workload dengan aman:
Tunggu hingga latensi migrasi inkremental mencapai 0 dan tetap stabil. Ini memastikan tujuan sinkron dengan sumber.
Hentikan semua trafik tulis ke database sumber.
Tunggu hingga latensi migrasi kembali mencapai 0, memastikan semua perubahan tersisa telah direplikasi.
Perbarui string koneksi aplikasi Anda agar mengarah ke instans tujuan.
Hentikan atau lepas task migrasi DTS. Atau, jalankan
REVOKEdi tujuan untuk mencabut izin tulis DTS.