Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari instans PolarDB-X 2.0 ke instans PolarDB-X 1.0. DTS mendukung migrasi data penuh dan migrasi data inkremental, yang dapat Anda kombinasikan untuk meminimalkan downtime.
Fitur ini sedang dalam rilis canary dan hanya tersedia untuk sebagian pengguna.
Pilih jenis migrasi
| Jenis migrasi | Kapan digunakan | Biaya |
|---|---|---|
| Full data migration only | Migrasi dataset statis; tidak ada operasi write ke sumber selama migrasi. | Biaya konfigurasi task: gratis. Biaya transfer data: gratis, kecuali jika Access Method database tujuan diatur ke Public IP Address—dalam kasus tersebut, Anda dikenai biaya untuk Lalu lintas internet. Lihat Billable items. |
| Full + incremental data migration | Menjaga database sumber tetap aktif selama migrasi; memerlukan cutover di akhir. | Migrasi penuh: gratis (dengan ketentuan yang sama seperti di atas); migrasi inkremental: berbayar. Lihat Billing overview. |
Jika Anda hanya menggunakan migrasi penuh, hentikan semua operasi write ke database sumber sebelum memulai tugas. Jika tidak, data antara database sumber dan tujuan akan tidak konsisten.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki instans PolarDB-X 1.0 tujuan dengan kapasitas penyimpanan lebih besar daripada jumlah data yang akan dimigrasikan. Lihat Buat instans PolarDB-X 1.0
Membuat database dan tabel di instans tujuan untuk menerima data yang dimigrasikan. Lihat Buat database dan Jalankan operasi SQL dasar
Memiliki akun database dengan izin yang diperlukan pada kedua instans sumber dan tujuan (lihat Izin yang diperlukan)
Gunakan nama database dan tabel yang sama di instans tujuan seperti di sumber. Jika namanya berbeda, gunakan fitur pemetaan nama objek di bagian Selected Objects saat mengonfigurasi tugas.
Izin yang diperlukan
| Database | Migrasi penuh | Migrasi inkremental |
|---|---|---|
| Sumber PolarDB-X 2.0 | SELECT | REPLICATION SLAVE, REPLICATION CLIENT, dan SELECT pada objek yang akan dimigrasikan |
| Tujuan PolarDB-X 1.0 | Baca dan tulis | Baca dan tulis |
Untuk membuat akun dan memberikan izin:
Untuk PolarDB-X 2.0: lihat Kelola akun database dan Masalah izin akun selama sinkronisasi data
Untuk PolarDB-X 1.0: lihat Kelola akun database
Batasan
Database sumber
Server yang menghosting database sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi.
Instans read-only Edisi Perusahaan PolarDB-X 2.0 tidak didukung sebagai sumber.
Objek berikut tidak dapat dimigrasikan:
Tabel dengan huruf kapital dalam namanya
Objek TABLEGROUP serta database atau skema dengan atribut Locality
Tabel yang namanya merupakan kata tercadang (misalnya,
select)Tabel tanpa PRIMARY KEY atau kendala UNIQUE, atau dengan field non-unik — tujuan mungkin berisi catatan duplikat
Jika Anda mengganti nama tabel atau kolom di tujuan dan memigrasikan tabel individual (bukan seluruh database), tugas mendukung maksimal 1.000 tabel. Melebihi batas ini menyebabkan error permintaan. Pisahkan tabel ke beberapa tugas, atau migrasikan seluruh database sebagai gantinya.
Untuk migrasi inkremental, binary logging harus diaktifkan (secara default aktif di PolarDB-X 2.0) dan parameter
binlog_row_imageharus diatur kefull. Jika parameter tidak diatur kefull, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Lihat Pengaturan parameter.Jangan melakukan operasi DDL yang mengubah skema database atau tabel selama migrasi data penuh. DTS melakukan query ke database sumber selama migrasi penuh, yang membuat kunci metadata yang dapat memblokir operasi DDL.
Jika konfigurasi jaringan instans PolarDB-X 2.0 berubah, instans migrasi mungkin mengalami penundaan sementara.
Batasan lainnya
DTS secara berkala menjalankan
CREATE DATABASE IF NOT EXISTS `test`pada database sumber untuk menulis data heartbeat dan memajukan offset binlog. Jika Whether to delete SQL operations on heartbeat tables of forward and reverse tasks diatur ke Yespengaturan pemberitahuan peringatan (atau akun database sumber tidak memiliki izin CREATE DATABASE), dan tidak ada operasi DML yang dijalankan pada sumber dalam periode panjang, latensi yang ditampilkan oleh DTS mungkin tidak akurat. Untuk memperbarui latensi, jalankan operasi DML pada database sumber.Migrasi data penuh menggunakan operasi INSERT konkuren, yang menyebabkan fragmentasi tabel di database tujuan. Setelah migrasi penuh selesai, kapasitas penyimpanan yang digunakan oleh tabel tujuan lebih besar daripada yang digunakan oleh tabel sumber.
Migrasi data penuh mengonsumsi sumber daya baca dan tulis pada kedua database sumber dan tujuan. Jalankan tugas migrasi selama jam sepi — misalnya, ketika beban CPU pada kedua database di bawah 30%.
Jika data ditulis ke tujuan dari sumber selain DTS selama migrasi, ketidakkonsistenan data atau kegagalan tugas mungkin terjadi.
Jika suatu instans gagal, dukungan DTS akan mencoba memulihkannya dalam waktu 8 jam. Operasi pemulihan mungkin mencakup me-restart instans dan menyesuaikan parameter instans DTS (bukan parameter database). Untuk parameter yang mungkin disesuaikan, lihat Modifikasi parameter instans.
Operasi SQL yang didukung untuk migrasi inkremental
| Jenis operasi | Pernyataan |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE, RENAME TABLE, ALTER TABLE, DROP TABLE, TRUNCATE TABLE, CREATE INDEX, DROP INDEX |
Catatan DDL:
Hanya CREATE TABLE untuk tabel tunggal yang dapat dimigrasikan. CREATE TABLE untuk database dan tabel ter-shard tidak didukung.
Jika sumber adalah instans PolarDB-X 2.0 Edisi Perusahaan, CREATE INDEX tidak dapat dimigrasikan.
RENAME TABLE dapat menyebabkan ketidakkonsistenan data jika tabel yang diganti namanya dipilih sebagai objek migrasi. Untuk menghindarinya, pilih database (bukan tabel individual) sebagai objek migrasi, dan pastikan database tempat tabel tersebut berada — baik sebelum maupun sesudah penggantian nama — termasuk dalam objek migrasi.
Migrasi data dari PolarDB-X 2.0 ke PolarDB-X 1.0
Langkah 1: Buka halaman Data Migration
Gunakan salah satu metode berikut:
Konsol DTS
Login ke Konsol DTS.Konsol DTS
Di panel navigasi kiri, klik Data Migration.
Di pojok kiri atas, pilih wilayah tempat instans migrasi berada.
Konsol DMS
Langkah aktual mungkin berbeda tergantung mode dan tata letak Konsol DMS. Lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS.
Login ke Konsol DMS.Konsol DMS
Di bilah navigasi atas, buka Data + AI > DTS (DTS) > Data Migration.
Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
Langkah 2: Buat tugas
Klik Create Task untuk membuka halaman konfigurasi tugas.
Langkah 3: Konfigurasi database sumber dan tujuan
| Kategori | Parameter | Deskripsi |
|---|---|---|
| (Tidak ada) | Task Name | DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. |
| Source Database | Select Existing Connection | Jika instans terdaftar di DTS, pilih dari daftar drop-down — DTS mengisi parameter secara otomatis. Jika tidak, konfigurasi parameter secara manual. Di Konsol DMS, pilih instans dari Select a DMS database instance. |
| Database Type | Pilih PolarDB-X 2.0. | |
| Access Method | Pilih Alibaba Cloud Instance. | |
| Instance Region | Pilih wilayah instans PolarDB-X 2.0 sumber. | |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No (contoh ini menggunakan akun saat ini). | |
| Instance ID | Pilih ID instans PolarDB-X 2.0 sumber. | |
| Database Account | Masukkan akun database untuk instans sumber. Lihat Izin yang diperlukan. | |
| Database Password | Masukkan password untuk akun database. | |
| Destination Database | Select Existing Connection | Jika instans terdaftar di DTS, pilih dari daftar drop-down — DTS mengisi parameter secara otomatis. Jika tidak, konfigurasi parameter secara manual. Di Konsol DMS, pilih instans dari Select a DMS database instance. |
| Database Type | Pilih PolarDB-X 1.0. | |
| Access Method | Pilih Alibaba Cloud Instance. | |
| Instance Region | Pilih wilayah instans PolarDB-X 1.0 tujuan. | |
| Instance ID | Pilih ID instans PolarDB-X 1.0 tujuan. | |
| Database Account | Masukkan akun database untuk instans tujuan. Lihat Izin yang diperlukan. | |
| Database Password | Masukkan password untuk akun database. |
Langkah 4: Uji koneksi
Klik Test Connectivity and Proceed.
Pastikan Blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. Lihat Tambahkan alamat IP server DTS ke daftar putih.
Langkah 5: Konfigurasi objek migrasi
Di halaman Configure Objects, konfigurasikan pengaturan berikut:
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih Full Data Migration untuk memigrasikan dataset statis. Pilih Full Data Migration dan Incremental Data Migration untuk menjaga database sumber tetap aktif selama migrasi. |
| Incremental CDC Type | Pilih jenis berdasarkan mesin log instans PolarDB-X 2.0. Tersedia hanya jika Incremental Data Migration dipilih. Sebelum memilih Multi-stream Change Data Capture (CDC), pastikan multi-stream diaktifkan pada instans PolarDB-X 2.0. Lihat Aktifkan multi-stream. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: Pemeriksaan awal gagal jika tujuan berisi tabel dengan nama yang sama seperti sumber. Jika tabel tidak dapat dihapus atau diubah namanya, gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang dimigrasikan. Lihat Petakan nama objek. Ignore Errors and Proceed: Melewati pemeriksaan awal untuk nama tabel yang identik. Selama migrasi penuh, data yang sudah ada di tujuan tetap dipertahankan. Selama migrasi inkremental, data tersebut akan ditimpa. Jika skema sumber dan tujuan berbeda, hanya kolom tertentu yang dimigrasikan, atau tugas dapat gagal. |
| Source Objects | Pilih satu atau beberapa objek dan klik ikon panah untuk menambahkannya ke Selected Objects. Pilih database atau tabel sebagai objek migrasi. |
| Selected Objects | Klik kanan objek untuk mengganti namanya di tujuan atau menentukan objek target. Lihat Pemetaan nama objek. Untuk menghapus objek, pilih objek tersebut dan klik ikon hapus. Klik kanan tabel untuk menentukan kondisi filter WHERE (lihat Tentukan kondisi filter) atau untuk memilih operasi SQL untuk migrasi inkremental. Catatan Mengganti nama objek dapat menyebabkan migrasi objek dependen gagal. |
Klik Next: Advanced Settings.
Langkah 6: Konfigurasi pengaturan lanjutan
| Parameter | Deskripsi |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, DTS menjadwalkan tugas ke kluster bersama. Untuk stabilitas lebih tinggi, beli kluster khusus. Lihat Apa itu kluster khusus DTS. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba kembali koneksi yang gagal sebelum menandai tugas sebagai gagal. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika tugas berbeda berbagi database sumber atau tujuan yang sama, nilai yang diatur paling baru berlaku. Selama DTS mencoba kembali, Anda dikenai biaya untuk instans. |
| Retry Time for Other Issues | Berapa lama DTS mencoba kembali operasi DDL atau DML yang gagal. Nilai valid: 1–1.440 menit. Default: 10 menit. Atur lebih dari 10 menit. Harus kurang dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi penggunaan sumber daya selama migrasi penuh. Konfigurasi 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 penggunaan sumber daya selama migrasi inkremental. Konfigurasi RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Tersedia hanya jika Incremental Data Migration dipilih. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Yes: DTS tidak menulis SQL heartbeat ke database sumber. Informasi latensi mungkin tidak akurat. No: DTS menulis SQL heartbeat. Backup fisik dan kloning database sumber mungkin terpengaruh. |
| Environment Tag | (Opsional) Pilih tag untuk mengidentifikasi instans. |
| Monitoring and Alerting | No: tidak ada alert yang dikonfigurasi. Yes: konfigurasi ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS. |
Langkah 7: Konfigurasi verifikasi data (opsional)
Klik Next Step: Data Verification untuk menyiapkan tugas verifikasi data. Untuk informasi selengkapnya, lihat Configure a data verification task.
Langkah 8: Jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API untuk tugas ini terlebih dahulu, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Tugas harus lolos Pemeriksaan Awal sebelum dapat dimulai.
Jika Pemeriksaan Awal gagal, klik View Details di sebelah setiap item yang gagal, atasi masalahnya, lalu klik Precheck Again.
Jika peringatan dipicu untuk item yang dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan item peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 9: Beli instans dan mulai tugas
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan hal berikut:
Bagian Parameter Deskripsi New Instance Class Resource Group Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management? Instance Class Kelas instans menentukan kecepatan migrasi. Pilih berdasarkan kebutuhan Anda. Lihat Kelas instans migrasi data. Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.
Klik Buy and Start, lalu klik OK di dialog konfirmasi.
Lihat progres tugas di halaman Data Migration.
Tugas migrasi penuh saja akan berhenti secara otomatis setelah selesai. Status menunjukkan Completed.
Tugas dengan migrasi inkremental tidak pernah berhenti secara otomatis. Status menunjukkan Running.
Langkah selanjutnya
Setelah tugas migrasi mencapai status yang diinginkan, selesaikan langkah-langkah berikut:
Verifikasi konsistensi data — pastikan data di instans PolarDB-X 1.0 tujuan sesuai dengan sumber. Jika Anda mengonfigurasi verifikasi data, periksa hasilnya di DTS.
Cut over traffic aplikasi — perbarui string koneksi database aplikasi Anda agar mengarah ke instans PolarDB-X 1.0 tujuan.
Hentikan tugas migrasi — jika tugas menjalankan migrasi inkremental, hentikan setelah cutover untuk menghindari biaya tambahan.
Bersihkan — lepas instans DTS setelah migrasi selesai untuk menghentikan penagihan.