Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari instans PolarDB-X 2.0 ke instans ApsaraDB RDS for MySQL dengan downtime minimal. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental sehingga Anda dapat menjaga database sumber tetap online selama proses berlangsung.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans PolarDB-X 2.0 yang kompatibel dengan MySQL 5.7
Instans ApsaraDB RDS for MySQL tujuan. Untuk informasi lebih lanjut, lihat Buat instans ApsaraDB RDS for MySQL.
Ruang penyimpanan yang tersedia pada instans tujuan melebihi ukuran total data pada instans sumber
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya lalu lintas Internet |
|---|---|---|
| Migrasi skema + 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. | Lihat Ikhtisar penagihan. |
Izin yang diperlukan
Berikan izin berikut kepada akun database yang digunakan oleh DTS.
| Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
|---|---|---|---|
| PolarDB-X 2.0 | SELECT | SELECT | REPLICATION SLAVE, REPLICATION CLIENT, SELECT |
| ApsaraDB RDS for MySQL | Baca dan tulis | Baca dan tulis | Baca dan tulis |
Untuk petunjuk membuat akun dan memberikan izin pada instans PolarDB-X 2.0 sumber serta instans ApsaraDB RDS for MySQL tujuan, lihat Buat akun dan Ubah izin akun.
Batasan
Database sumber
| Kategori | Batasan |
|---|---|
| Bandwidth | Server database sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth rendah mengurangi kecepatan migrasi. |
| Struktur tabel | Tabel harus memiliki PRIMARY KEY atau kendala UNIQUE, dan semua field harus unik. Tabel tanpa kendala tersebut dapat menghasilkan catatan duplikat di database tujuan. |
| Jumlah tabel | Jika Anda memilih tabel sebagai objek dan perlu mengganti namanya di database tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, buat beberapa tugas atau lakukan migrasi pada tingkat database. |
| Operasi DDL selama migrasi | Selama migrasi skema dan migrasi data penuh, jangan menjalankan operasi DDL yang mengubah skema database atau tabel. Hal ini menyebabkan tugas gagal. |
| Perubahan jaringan | Jika Anda mengubah jenis jaringan instans PolarDB-X selama migrasi, perbarui pengaturan koneksi jaringan di tugas DTS sesuai kebutuhan. |
| Operasi tulis selama migrasi penuh | Hanya selama migrasi data penuh (tanpa migrasi inkremental), jangan menulis ke database sumber. Untuk menjamin konsistensi, pilih migrasi skema, migrasi data penuh, dan migrasi data inkremental secara bersamaan. |
Persyaratan migrasi data inkremental
Untuk migrasi data inkremental, database sumber harus memenuhi persyaratan berikut:
Pencatatan biner (binary logging) diaktifkan dan
binlog_row_imagediatur kefull. Jika tidak dikonfigurasi, pemeriksaan awal (precheck) gagal dan tugas tidak dapat dimulai.Periode retensi log biner: Jika log tidak disimpan cukup lama, DTS mungkin gagal membacanya dan tugas akan gagal. Dalam kasus luar biasa, kehilangan data atau ketidakkonsistenan dapat terjadi. Setelah migrasi penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam.
Hanya migrasi inkremental: simpan log selama lebih dari 24 jam
Migrasi penuh + migrasi inkremental: simpan log setidaknya selama 7 hari
DTS tidak menjamin Service Level Agreement (SLA) jika retensi log biner tidak memenuhi persyaratan ini.
Batasan lainnya
Evaluasi dampak performa pada database sumber dan tujuan sebelum melakukan migrasi. Jalankan migrasi selama jam sepi. Selama migrasi data penuh, DTS menggunakan resource baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban pada server database.
Selama migrasi data penuh, operasi INSERT konkuren menyebabkan fragmentasi pada tabel tujuan. Setelah migrasi penuh, ruang tabel tujuan lebih besar daripada sumber.
DTS mencoba mengulang tugas yang gagal hingga 7 hari. Sebelum mengalihkan beban kerja ke database tujuan, hentikan atau lepas tugas yang gagal, atau jalankan
REVOKEuntuk mencabut izin tulis DTS pada database tujuan. Jika tidak, tugas yang gagal dan dilanjutkan kembali akan menimpa data di tujuan.
Peringatan
DTS secara berkala memperbarui tabel
dts_health_check.ha_health_checkdi database sumber untuk memajukan posisi log biner.DTS secara otomatis membuat database di instans ApsaraDB RDS for MySQL tujuan. Jika nama database sumber tidak valid, buat database secara manual sebelum mengonfigurasi tugas migrasi. Untuk informasi lebih lanjut, lihat Kelola database.
Jenis migrasi
DTS mendukung tiga jenis migrasi yang dapat Anda kombinasikan sesuai kebutuhan:
| Jenis migrasi | Fungsinya | Disarankan untuk |
|---|---|---|
| Migrasi skema | Memigrasikan skema objek yang dipilih dari sumber ke tujuan | Selalu sertakan ini |
| Migrasi data penuh | Memigrasikan seluruh data yang ada dari sumber ke tujuan | Salinan data awal |
| Migrasi data inkremental | Secara terus-menerus mereplikasi perubahan dari sumber ke tujuan setelah migrasi penuh selesai | Meminimalkan downtime |
Untuk migrasi dengan downtime minimal, pilih ketiga jenis tersebut. Migrasi inkremental menjaga sinkronisasi antara database sumber dan tujuan sehingga Anda dapat beralih kapan saja.
Objek migrasi yang didukung
| Jenis objek | Didukung | Catatan |
|---|---|---|
| Tabel (dengan PRIMARY KEY atau kendala UNIQUE) | Ya | |
| Indeks | Ya | Dimigrasikan sebagai bagian dari migrasi skema |
| View, trigger, prosedur tersimpan | Tidak | Tidak dimigrasikan saat Anda memilih tabel atau kolom sebagai objek. Untuk memigrasikan objek ini, pilih database sebagai objek. |
| Tabel tanpa PRIMARY KEY atau kendala UNIQUE | Tidak | Dapat menyebabkan catatan duplikat di tujuan |
Operasi SQL yang didukung selama migrasi inkremental
| Jenis | Operasi |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | ALTER TABLE; CREATE FUNCTION, CREATE INDEX, CREATE TABLE; DROP INDEX, DROP TABLE; RENAME TABLE; TRUNCATE TABLE |
Operasi RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Jika Anda memilih tabel sebagai objek migrasi dan mengganti namanya selama migrasi, data tabel tersebut tidak dimigrasikan ke tujuan. Untuk menghindarinya, pilih seluruh database sebagai objek migrasi, bukan tabel individual.
Buat tugas migrasi
Langkah 1: Buka Tugas Migrasi Data
Masuk ke Konsol Data Management (DMS).
Pada bilah navigasi atas, arahkan kursor ke DTS.
Pilih DTS (DTS) > Data Migration.
Anda juga dapat langsung membuka halaman Data Migration di konsol DTS baru. Navigasi dapat berbeda tergantung mode konsol DMS. Untuk informasi lebih lanjut, lihat Mode simple dan Sesuaikan tata letak dan gaya konsol DMS.
Langkah 2: Pilih wilayah
Dari daftar drop-down di sisi kanan Data Migration Tasks, pilih wilayah tempat instans migrasi Anda berada.
Di konsol DTS baru, pilih wilayah di pojok kiri atas.
Langkah 3: Konfigurasi database sumber dan tujuan
Klik Create Task.
Pada halaman Create Data Migration Task, tinjau Limits yang ditampilkan di bagian atas halaman sebelum melanjutkan.
Konfigurasi database sumber:
Parameter Nilai Task Name Masukkan nama yang informatif. Nama tidak perlu unik. Select a DMS database instance Pilih database yang sudah ada atau konfigurasi yang baru. Database Type PolarDB-X 2.0 Connection Type Alibaba Cloud Instance Instance Region Wilayah instans PolarDB-X sumber Instance ID ID instans PolarDB-X sumber Database Account Akun dengan izin yang diperlukan (lihat Izin yang diperlukan) Database Password Kata sandi akun Konfigurasi database tujuan:
Parameter Nilai Select a DMS database instance Pilih database yang sudah ada atau konfigurasi yang baru. Database Type MySQL Connection Type Alibaba Cloud Instance Instance Region Wilayah instans ApsaraDB RDS for MySQL tujuan RDS Instance ID ID instans ApsaraDB RDS for MySQL tujuan Database Account Akun dengan izin baca dan tulis Database Password Kata sandi akun Connection Method Pilih Non-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan SSL pada instans RDS terlebih dahulu. Lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih alamat IP instans database Alibaba Cloud. Untuk database yang dikelola sendiri, Anda mungkin perlu menambahkan blok CIDR ini secara manual. Untuk informasi lebih lanjut, lihat Blok CIDR server DTS.
Menambahkan blok CIDR server DTS ke daftar putih atau aturan grup keamanan database Anda menimbulkan risiko keamanan. Ambil langkah pencegahan seperti menggunakan kredensial kuat, membatasi port yang terbuka, mengautentikasi panggilan API, dan secara berkala mengaudit aturan daftar putih. Atau, lakukan koneksi melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 5: Pilih objek dan jenis migrasi
Atur pengaturan berikut:
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih Schema Migration dan Full Data Migration untuk migrasi satu kali. Tambahkan Incremental Data Migration untuk menjaga sinkronisasi data dan meminimalkan downtime. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: gagal dalam pemeriksaan awal jika sumber dan tujuan memiliki tabel dengan nama identik. Gunakan pemetaan nama objek untuk menyelesaikan konflik. Ignore Errors and Proceed: melewati pemeriksaan. Selama migrasi penuh, catatan tujuan yang sudah ada dengan primary key yang sama dipertahankan. Selama migrasi inkremental, catatan tersebut ditimpa. Lanjutkan dengan hati-hati. |
| Source Objects | Pilih objek dari Source Objects dan pindahkan ke Selected Objects menggunakan ikon |
| Selected Objects | Klik kanan objek untuk mengganti namanya, menambahkan kondisi filter, atau memilih operasi SQL tertentu yang akan dimigrasikan. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Catatan: mengganti nama objek dapat menyebabkan objek dependen gagal. Lihat Pemetaan nama objek dan Tentukan kondisi filter. |
Langkah 6: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasi hal berikut:
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | Pilih Yes untuk menerima notifikasi saat tugas gagal atau latensi migrasi melebihi ambang batas Anda. Konfigurasi ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasi pemantauan dan peringatan. |
| Retry Time for Failed Connections | Rentang waktu bagi DTS untuk mencoba ulang koneksi yang gagal. Nilai valid: 10–1440 menit. Default: 720 menit. Tetapkan nilai lebih dari 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan. Jika tidak, tugas gagal. Catatan: Biaya DTS tetap berlaku selama percobaan ulang. |
| Configure ETL | Pilih Yes untuk mengaktifkan fitur ekstrak, transformasi, dan muat (ETL) serta masukkan pernyataan pemrosesan data. Lihat Apa itu ETL? dan Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Yes: DTS tidak menulis SQL heartbeat ke database sumber, tetapi latensi migrasi mungkin muncul dalam metrik. No: DTS menulis SQL heartbeat, yang dapat memengaruhi operasi backup fisik dan kloning pada sumber. |
Langkah 7: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API untuk tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
DTS menjalankan pemeriksaan awal secara otomatis. Perbaiki masalah apa pun sebelum melanjutkan:
Item gagal: Klik View Details, perbaiki masalah yang dilaporkan, lalu klik Precheck Again.
Item peringatan yang menghentikan tugas: Klik View Details, perbaiki masalah, lalu jalankan pemeriksaan awal lagi.
Item peringatan yang dapat diabaikan: Klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 8: Beli instans
Tunggu hingga Success Rate mencapai 100%.
Klik Next: Purchase Instance.
Pada halaman Purchase Instance, konfigurasi instans:
Parameter Deskripsi Resource Group Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management? Instance Class Pilih kelas instans berdasarkan kecepatan migrasi yang dibutuhkan. Lihat Kelas instans migrasi data. Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start, lalu klik OK pada dialog konfirmasi.
Pantau progres tugas di halaman Data Migration.
Beralih ke database tujuan
Sebelum mengalihkan aplikasi Anda ke database tujuan:
Hentikan operasi tulis ke database sumber.
Tunggu hingga latensi migrasi inkremental mencapai 0 dan pastikan kesenjangan data antara sumber dan tujuan telah tertutup. Tunggu hingga kedua nilai tersebut stabil sebelum melanjutkan.
Hentikan atau lepas tugas migrasi.
Perbarui string koneksi aplikasi Anda agar mengarah ke instans ApsaraDB RDS for MySQL tujuan.
DTS mencoba mengulang tugas yang gagal hingga 7 hari. Jika Anda tidak menghentikan tugas sebelum beralih, tugas yang dilanjutkan kembali dapat menimpa data di database tujuan. Hentikan tugas atau jalankan REVOKE untuk mencabut izin tulis DTS sebelum beralih.