Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari instans PolarDB-X 1.0 ke klaster AnalyticDB for MySQL 3.0. Topik ini mencakup prasyarat, persyaratan database sumber dan tujuan, izin yang diperlukan, serta konfigurasi langkah demi langkah untuk tugas migrasi.
Prasyarat
Sebelum memulai, pastikan bahwa:
Instans sumber PolarDB-X 1.0 telah tersedia. Lihat Buat instans PolarDB-X 1.0.
PentingJenis storage instans PolarDB-X 1.0 harus berupa ApsaraDB RDS for MySQL (instans kustom atau yang dibeli). PolarDB for MySQL tidak didukung sebagai jenis storage.
Instans sumber PolarDB-X 1.0 menggunakan versi 5.2 atau lebih baru dan kompatibel dengan MySQL 5.7.
Klaster target AnalyticDB for MySQL 3.0 telah tersedia dengan kapasitas storage space lebih besar daripada kapasitas yang digunakan oleh instans sumber. Lihat Buat klaster.
(Hanya untuk migrasi inkremental) Set karakter data yang akan dimigrasikan bukan
utf8mb3. Memigrasikan datautf8mb3secara inkremental menyebabkan tugas gagal.
Batasan
Batasan database sumber
| Batas | Detail |
|---|---|
| Bandwidth | Server sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi. |
| Struktur tabel | Tabel harus memiliki PRIMARY KEY atau kendala UNIK dengan semua bidang unik. Tanpa ini, tujuan mungkin berisi catatan duplikat. |
| Jumlah tabel (migrasi tingkat tabel) | Saat memigrasikan tabel individual dengan penggantian nama kolom atau tabel, satu tugas mendukung hingga 1.000 tabel. Melebihi batas ini menyebabkan error permintaan. Bagi pekerjaan tersebut ke beberapa tugas, atau lakukan migrasi pada tingkat database. |
| Pencatatan biner (migrasi inkremental) | Pencatatan biner harus diaktifkan dan binlog_row_image harus diatur ke full. Jika tidak dikonfigurasi, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. |
| Retensi log biner (migrasi inkremental) | Tugas hanya inkremental: simpan log selama lebih dari 24 jam. Tugas penuh + inkremental: simpan log setidaknya selama tujuh hari. Jika log dipurge sebelum DTS membacanya, tugas gagal dan kemungkinan terjadi kehilangan data atau inkonsistensi. Setelah migrasi penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. |
| Operasi yang dilarang selama migrasi | Jangan melakukan scaling, shrinking, migrasi hot table, perubahan shard key, atau perubahan DDL pada instans sumber saat tugas sedang berjalan. Operasi ini menyebabkan tugas gagal. |
| Perubahan jenis jaringan | Jika Anda mengganti jenis jaringan instans PolarDB-X 1.0 selama migrasi, perbarui informasi koneksi dalam tugas migrasi setelah pergantian selesai. |
Perilaku kunci asing
DTS tidak memigrasikan foreign keys selama migrasi skema. Selama migrasi data penuh dan inkremental, DTS menonaktifkan sementara pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Jika pembaruan atau penghapusan kaskade terjadi pada sumber selama periode ini, hal tersebut dapat menyebabkan inkonsistensi data.
Batasan lainnya
| Batas | Detail |
|---|---|
| Kunci primer tujuan | Database tujuan harus memiliki kunci primer kustom, atau konfigurasikan Primary Key Column pada langkah Configurations for Databases, Tables, and Columns. Tanpa kunci primer, migrasi mungkin gagal. |
| Waktu migrasi | Jalankan migrasi selama jam sepi. Migrasi data penuh menggunakan resource baca dan tulis pada kedua database, yang meningkatkan beban server. |
| Ukuran ruang tabel setelah migrasi penuh | Operasi INSERT konkuren selama migrasi data penuh menyebabkan fragmentasi di tujuan. Setelah migrasi penuh, ruang tabel tujuan lebih besar daripada sumber. |
| Auto-resume tugas | DTS mencoba ulang tugas yang gagal hingga tujuh hari. Sebelum mengalihkan workload Anda ke tujuan, hentikan atau rilis tugas tersebut, atau cabut izin tulis dari akun DTS menggunakan REVOKE. Jika tidak, tugas yang dilanjutkan akan menimpa data tujuan dengan data sumber. |
| Konflik backup | Jika klaster AnalyticDB for MySQL 3.0 memulai backup saat tugas DTS sedang berjalan, tugas DTS gagal. |
| Pemulihan tugas oleh dukungan teknis | Jika tugas gagal, dukungan teknis DTS mencoba memulihkannya dalam waktu delapan jam. Tugas mungkin dimulai ulang dan parameter tugas mungkin dimodifikasi selama pemulihan. Parameter database tidak diubah. |
Pertimbangan tambahan
DTS secara berkala menulis ke tabel dts_health_check.ha_health_check di database sumber untuk memajukan posisi binlog. Ini merupakan perilaku yang diharapkan.
Penagihan
| Jenis migrasi | Biaya konfigurasi link | Biaya transfer data |
|---|---|---|
| Migrasi skema + migrasi data penuh | Gratis | Lalu lintas outbound Internet dikenai biaya saat memigrasikan data melalui Internet. Lihat Ikhtisar penagihan. |
| Migrasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan. | — |
Jenis migrasi
DTS mendukung tiga jenis migrasi untuk jalur ini. Pilih ketiganya untuk migrasi lancar dengan gangguan layanan minimal.
| Jenis | Fungsinya | Perilaku tugas setelah selesai |
|---|---|---|
| Schema migration | Memigrasikan skema objek yang dipilih ke tujuan. Foreign keys tidak dimigrasikan. | Berhenti secara otomatis. |
| Full data migration | Memigrasikan semua data historis dari sumber ke tujuan. | Berhenti secara otomatis. |
| Incremental data migration | Setelah migrasi penuh selesai, mereplikasi perubahan dari sumber ke tujuan secara terus-menerus. Menjaga sinkronisasi tujuan selagi aplikasi Anda tetap berjalan. | Berjalan terus-menerus — tidak berhenti secara otomatis. Hentikan tugas secara manual sebelum mengalihkan workload Anda ke tujuan. |
Jika Anda hanya menjalankan migrasi data penuh (tanpa inkremental), hindari menulis ke database sumber selama tugas berlangsung. Penulisan ke sumber setelah tugas dimulai menyebabkan inkonsistensi data antara sumber dan tujuan.
Operasi SQL yang didukung untuk migrasi inkremental
| Jenis operasi | Statement yang didukung |
|---|---|
| DML | INSERT, UPDATE, DELETE |
Saat menulis ke klaster tujuan AnalyticDB for MySQL 3.0, UPDATE secara otomatis dikonversi menjadi REPLACE INTO. Jika UPDATE menargetkan kolom kunci primer, operasi tersebut dikonversi menjadi DELETE + INSERT.
Izin yang diperlukan
Berikan izin berikut kepada akun database yang digunakan oleh DTS sebelum memulai tugas.
| Database | Schema migration | Full migration | Incremental migration |
|---|---|---|---|
| PolarDB-X 1.0 | SELECT | SELECT | REPLICATION SLAVE, REPLICATION CLIENT, dan SELECT pada objek yang akan dimigrasikan |
| AnalyticDB for MySQL 3.0 | Access control list | — | — |
REPLICATION SLAVE dan REPLICATION CLIENT hanya diperlukan untuk migrasi inkremental. Tugas hanya penuh tidak memerlukan hak istimewa ini.
Untuk petunjuk membuat akun dan memberikan izin:
PolarDB-X 1.0: Lihat Manajemen Akun. Untuk masalah terkait izin, lihat Masalah izin akun selama sinkronisasi data.
AnalyticDB for MySQL 3.0: Lihat Buat akun database.
Pemetaan tipe data
Buat tugas migrasi
Langkah 1: Buka halaman Data Migration
Gunakan Konsol DTS atau Konsol DMS.
Konsol DTS
Login ke Konsol DTS.
Di panel navigasi kiri, klik Data Migration.
Di pojok kiri atas, pilih wilayah tempat instans migrasi berada.
Konsol DMS
Langkah-langkah dapat berbeda tergantung mode dan tata letak Konsol DMS. Lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS.
Login ke Konsol DMS.
Di 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 berada.
Langkah 2: Konfigurasi database sumber dan tujuan
Klik Create Task.
Baca Limits yang ditampilkan di bagian atas halaman sebelum melanjutkan.
Konfigurasikan database sumber dan tujuan menggunakan parameter berikut.
Database sumber
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. |
| Select Existing Connection | Jika instans sumber sudah terdaftar di DTS, pilih dari daftar drop-down — DTS akan mengisi parameter lainnya secara otomatis. Jika belum, konfigurasikan parameter di bawah ini. |
| Database Type | Pilih PolarDB-X 1.0. |
| Access Method | Pilih Cloud Instance. |
| Instance Region | Pilih wilayah tempat instans sumber PolarDB-X 1.0 berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No jika instans sumber milik Akun Alibaba Cloud saat ini. |
| Instance ID | Pilih ID instans sumber PolarDB-X 1.0. |
| Database Account | Masukkan akun database. Lihat Izin yang diperlukan untuk izin minimum yang dibutuhkan. |
| Database Password | Masukkan password untuk akun database. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select Existing Connection | Jika klaster tujuan sudah terdaftar di DTS, pilih dari daftar drop-down. Jika belum, konfigurasikan parameter di bawah ini. |
| Database Type | Pilih AnalyticDB MySQL 3.0. |
| Access Method | Pilih Cloud Instance. |
| Instance Region | Pilih wilayah tempat klaster target AnalyticDB for MySQL 3.0 berada. |
| Instance ID | Pilih ID klaster target AnalyticDB for MySQL 3.0. |
| Database Account | Masukkan akun database. Lihat Izin yang diperlukan untuk izin minimum yang dibutuhkan. |
| Database Password | Masukkan password untuk akun database. |
Klik Test Connectivity and Proceed.
Rentang alamat IP server DTS harus ditambahkan ke pengaturan keamanan kedua database. DTS dapat menambahkannya secara otomatis, atau Anda dapat menambahkannya secara manual. Lihat Tambahkan rentang alamat IP server DTS.
Langkah 3: Konfigurasi objek migrasi
Pada halaman Configure Objects, atur parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih jenis migrasi yang akan dijalankan. Untuk meminimalkan gangguan layanan, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration. Untuk hanya menjalankan migrasi penuh, pilih Schema Migration dan Full Data Migration. Catatan Jika Anda melewatkan Schema Migration, buat database dan tabel tujuan secara manual dan aktifkan fitur pemetaan nama objek di Selected Objects sebelum memulai tugas. |
| DDL and DML Operations to Be Synchronized | Pilih operasi SQL untuk migrasi inkremental pada tingkat instans. Lihat Operasi SQL yang didukung untuk migrasi inkremental. Untuk mengonfigurasi pada tingkat database atau tabel, klik kanan objek di Selected Objects dan pilih operasi dalam kotak dialog. |
| Merge Tables | Pilih Yes untuk menggabungkan semua tabel sumber yang dipilih menjadi satu tabel tujuan. DTS menambahkan kolom __dts_data_source untuk menyimpan sumber data. Untuk menggabungkan hanya tabel tertentu, buat dua tugas migrasi terpisah. Pilih No (default) untuk memigrasikan tabel tanpa penggabungan. Peringatan Jangan lakukan operasi DDL yang mengubah skema database atau tabel sumber selama migrasi. Melakukannya dapat menyebabkan inkonsistensi data atau kegagalan tugas. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors (default): memeriksa apakah tabel tujuan memiliki nama yang sama dengan tabel sumber. Jika ada nama identik, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang bentrok. Ignore Errors and Proceed: melewati pemeriksaan bentrok nama. Jika sumber dan tujuan memiliki skema yang sama dan suatu catatan memiliki kunci primer yang sama dengan catatan tujuan yang sudah ada — selama migrasi penuh, DTS melewati catatan tersebut; selama migrasi inkremental, DTS menimpanya. Jika skema berbeda, hanya kolom yang cocok yang dimigrasikan atau tugas gagal. Gunakan dengan hati-hati. |
| Capitalization of Object Names in Destination Instance | Mengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default: Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek di instans tujuan. |
| Source Objects | Pilih kolom, tabel, atau database yang akan dimigrasikan, lalu klik Catatan Jika Anda memilih tabel, tampilan terkait, pemicu, dan prosedur tersimpan tidak dimigrasikan. Jika Anda memilih database: tabel dengan kunci primer menggunakan kunci tersebut sebagai kunci distribusi; tabel tanpa kunci primer akan mendapatkan primary key auto-increment, yang dapat menyebabkan inkonsistensi data. |
| Selected Objects | Untuk mengganti nama satu objek, klik kanan objek tersebut dan ikuti petunjuk di Ganti nama objek satu per satu. Untuk mengganti nama beberapa objek sekaligus, klik Edit di pojok kanan atas. Lihat Ganti nama objek secara batch. Catatan Mengganti nama objek dapat mengganggu migrasi objek yang bergantung padanya. Untuk memfilter baris, klik kanan tabel dan atur kondisi WHERE. Lihat Konfigurasi kondisi filter. |
Langkah 4: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, DTS menjadwalkan tugas ke kluster bersama. Beli klaster khusus untuk meningkatkan stabilitas tugas. Lihat Apa itu klaster khusus DTS. |
| Retry Time for Failed Connections | Durasi DTS mencoba ulang saat database sumber atau tujuan tidak dapat dijangkau. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur nilai ini lebih dari 30 menit. Jika DTS terhubung kembali dalam jendela percobaan ulang, tugas dilanjutkan. Jika tidak, tugas gagal. Catatan Saat beberapa tugas berbagi database sumber atau tujuan, waktu percobaan ulang yang paling baru diterapkan untuk semuanya. DTS menagih instans selama percobaan ulang. |
| Retry Time for Other Issues | Durasi DTS mencoba ulang saat operasi DDL atau DML gagal. Nilai valid: 1–1.440 menit. Default: 10 menit. Atur nilai ini lebih dari 10 menit. Nilai ini harus lebih kecil dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi konsumsi resource selama migrasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya jika Full Data Migration dipilih. |
| Enable Throttling for Incremental Data Migration | Membatasi konsumsi resource selama migrasi inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya jika Incremental Data Migration dipilih. |
| Environment Tag | Memberi tag pada instans DTS untuk keperluan organisasi. Opsional. |
| Configure ETL | Pilih Yes untuk mengaktifkan fitur ekstrak, transformasi, dan muat (ETL) serta masukkan statement pemrosesan data. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. Pilih No untuk melewati ETL. |
| Monitoring and Alerting | Pilih Yes untuk menerima notifikasi saat tugas gagal atau latensi migrasi melebihi ambang batas. Konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS. |
Langkah 5: Konfigurasi bidang database dan tabel (opsional)
Klik Next: Configure Database and Table Fields untuk mengatur Type, Primary Key Column, Distribution Key, Partition Key, Partitioning Rules, dan Partition Lifecycle untuk tabel di database tujuan.
Langkah ini tersedia hanya jika Schema Migration dipilih. Atur Definition Status ke All untuk melihat semua tabel. Anda dapat memilih beberapa kolom sebagai Primary Key Column komposit, lalu memilih satu atau beberapa kolom tersebut sebagai Distribution Key dan Partition Key. Lihat CREATE TABLE.
Langkah 6: Jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck.
Tips: Sebelum menyimpan, klik Preview OpenAPI parameters untuk melihat parameter yang digunakan oleh Operasi API terkait saat mengonfigurasi tugas ini.
DTS menjalankan Pemeriksaan Awal sebelum tugas dimulai. Jika ada item yang gagal:
Klik View Details di sebelah item yang gagal.
Perbaiki masalah yang mendasarinya berdasarkan hasil pemeriksaan.
Klik Precheck Again.
Jika suatu item menghasilkan peringatan:
Jika peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalahnya. Lalu klik Precheck Again.
Jika Anda ingin mengabaikan peringatan, ikuti langkah-langkah berikut:
Klik Confirm Alert Details.
Di kotak dialog, klik Ignore, lalu klik OK.
Klik Precheck Again.
Mengabaikan item peringatan dapat menyebabkan inkonsistensi data. Lanjutkan hanya jika Anda memahami risikonya.
Langkah 7: Beli instans dan mulai tugas
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan parameter berikut.
Parameter Deskripsi Resource Group Kelompok sumber daya untuk instans migrasi. Default: kelompok sumber daya default. Lihat Apa itu Resource Management? Instance Class Kelas instans menentukan kecepatan migrasi. Pilih kelas sesuai kebutuhan Anda. Lihat Kelas instans migrasi data. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.
Klik Buy and Start, lalu klik OK di dialog konfirmasi.
Lacak progres di halaman Data Migration.
Tugas migrasi skema dan migrasi data penuh berhenti secara otomatis saat selesai. Kolom Status menampilkan Completed.
Tugas migrasi data inkremental berjalan terus-menerus dan tidak berhenti secara otomatis. Kolom Status menampilkan Running. Hentikan tugas secara manual sebelum mengalihkan workload Anda ke tujuan.
Langkah selanjutnya
Pemetaan nama objek — ganti nama objek sumber sebelum ditulis ke tujuan
Aktifkan penggabungan multi-tabel — gabungkan data dari beberapa tabel sumber ke satu tabel tujuan
Modifikasi parameter instans DTS — sesuaikan parameter tugas setelah tugas dibuat
Ikhtisar penagihan — pahami harga DTS