Layanan Transmisi Data (DTS) memungkinkan migrasi data dari instans PolarDB-X 2.0 ke instans Tablestore dengan downtime minimal. Pendekatan ini mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental sehingga database sumber dapat tetap online selama proses migrasi.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans Tablestore. Untuk petunjuk penyiapan, lihat Use Tablestore.
ID AccessKey dan Rahasia AccessKey dari Akun Alibaba Cloud (bukan Pengguna Resource Access Management (RAM)) yang memiliki instans Tablestore tersebut. Lihat Create an AccessKey pair.
Jika Anda menggunakan ID AccessKey milik pengguna RAM, tugas migrasi data mungkin gagal karena pengguna RAM tidak memiliki izin yang diperlukan. Gunakan kredensial Akun Alibaba Cloud sebagai gantinya.
Batasan
Database sumber
| Kendala | Detail |
|---|---|
| Kunci primer atau kendala unik | Tabel harus memiliki PRIMARY KEY atau UNIQUE constraint dengan semua bidang bersifat unik. Tanpa hal ini, tujuan mungkin berisi catatan duplikat. |
| Huruf kapital pada nama tabel | Tabel yang namanya mengandung huruf kapital hanya mendukung migrasi skema — migrasi data penuh dan inkremental tidak didukung untuk tabel-tabel tersebut. |
| Jumlah maksimum tabel per tugas | Hingga 5.000 tabel saat memigrasikan tabel individual dengan penggantian nama. Melebihi batas ini menyebabkan error permintaan. Untuk memigrasikan lebih banyak tabel, bagi pekerjaan menjadi beberapa tugas atau migrasikan seluruh database sekaligus. |
| Pencatatan biner (binary logging) | Parameter binlog_row_image harus diatur ke full. Jika tidak, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Lihat Parameter settings. |
Tujuan (Tablestore)
| Kendala | Detail |
|---|---|
| Jumlah maksimum tabel | Hingga 64 tabel per instans Tablestore. Melebihi batas ini menyebabkan error migrasi. Hubungi dukungan teknis Tablestore untuk menaikkan batas tersebut. |
| Penamaan tabel dan kolom | Nama hanya boleh terdiri dari huruf, angka, dan garis bawah (_), serta harus dimulai dengan huruf atau garis bawah. Panjang: 1–255 karakter. |
| Cakupan objek | Hanya satu database (atau beberapa tabel dalam database yang sama) yang dapat dimigrasikan per tugas. Pemetaan nama tingkat database tidak didukung. |
Umum
Jalankan migrasi selama jam sepi. Migrasi data penuh menggunakan sumber daya baca dan tulis yang signifikan baik di sumber maupun tujuan, sehingga meningkatkan beban server database.
Migrasi data penuh menyebabkan fragmentasi pada tabel tujuan. Setelah migrasi, penggunaan penyimpanan di tujuan melebihi penggunaan penyimpanan di sumber.
Selama migrasi, tulis data ke tujuan hanya melalui DTS. Menulis dari sumber lain menyebabkan ketidakkonsistenan data antara sumber dan tujuan.
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya lalu lintas internet |
|---|---|---|
| Migrasi skema dan migrasi data penuh | Gratis | Gratis |
| Migrasi data inkremental | Dikenai biaya. Lihat Billing overview. | — |
Operasi SQL yang didukung untuk migrasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
Izin akun database yang diperlukan
| Database | Migrasi skema | Migrasi data penuh | Migrasi data inkremental |
|---|---|---|---|
| Sumber PolarDB-X 2.0 | SELECT | SELECT | REPLICATION SLAVE, REPLICATION CLIENT, dan SELECT pada objek yang akan dimigrasikan |
Untuk petunjuk membuat akun dan memberikan izin, lihat Manage database accounts dan Permissions required for an account to synchronize data.
Buat tugas migrasi
Langkah 1: Buka halaman Tugas Migrasi Data
Masuk ke Konsol Data Management (DMS).
Pada bilah navigasi atas, klik DTS.
Pada panel navigasi kiri, pilih DTS (DTS) > Data Migration.
Langkah-langkah di atas dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Lihat Simple mode dan Customize the layout and style of the DMS console. Anda juga dapat langsung menuju halaman Tugas Migrasi Data di konsol DTS baru.
Langkah 2: Pilih wilayah
Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi data berada.
Di konsol DTS baru, pilih wilayah di pojok kiri atas halaman.
Langkah 3: Konfigurasi database sumber dan tujuan
Klik Create Task. Di wizard Create Task, konfigurasikan parameter berikut.
Database sumber
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance | (Opsional) Pilih instans DMS yang sudah ada untuk mengisi otomatis pengaturan koneksi, atau biarkan kosong untuk mengonfigurasi secara manual. |
| Database Type | Pilih PolarDB-X 2.0. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans PolarDB-X 2.0 sumber berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No jika sumber dan tujuan berada dalam akun yang sama. |
| Instance ID | ID instans PolarDB-X 2.0 sumber. |
| Database Account | Akun dengan izin yang tercantum di bagian Required database account permissions. |
| Database Password | Kata sandi untuk akun database tersebut. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance | (Opsional) Pilih instans DMS yang sudah ada untuk mengisi otomatis pengaturan koneksi, atau biarkan kosong untuk mengonfigurasi secara manual. |
| Database Type | Pilih Tablestore. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans Tablestore tujuan berada. |
| Instance ID | ID instans Tablestore tujuan. |
| AccessKey ID of Alibaba Cloud Account | ID AccessKey dari Akun Alibaba Cloud yang memiliki instans Tablestore. Jangan gunakan ID AccessKey milik pengguna RAM. |
| AccessKey Secret of Alibaba Cloud Account | Rahasia AccessKey dari Akun Alibaba Cloud yang memiliki instans Tablestore. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih IP instans database Alibaba Cloud. Untuk database yang dikelola sendiri pada instans Elastic Compute Service (ECS), DTS menambahkan blok CIDR ke aturan grup keamanan ECS. Jika database yang dikelola sendiri tersebar di beberapa instans ECS, tambahkan secara manual blok CIDR DTS ke grup keamanan setiap instans. Untuk database lokal atau cloud pihak ketiga, tambahkan secara manual blok CIDR tersebut ke daftar putih IP database. Lihat Add the CIDR blocks of DTS servers to the security settings of on-premises databases.
Menambahkan blok CIDR server DTS ke daftar putih IP atau aturan grup keamanan menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan seperti: memperkuat keamanan akun dan kata sandi, membatasi port yang terbuka, mengautentikasi panggilan API, melakukan audit rutin terhadap daftar putih IP dan aturan grup keamanan, serta menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghubungkan database ke DTS.
Langkah 5: Konfigurasi objek dan pengaturan migrasi
Konfigurasikan parameter berikut.
Jenis migrasi
| Opsi | Kapan digunakan |
|---|---|
| Schema Migration + Full Data Migration | Migrasi satu kali. Kami menyarankan agar Anda tidak menulis data ke database sumber selama migrasi untuk memastikan konsistensi data. |
| Schema Migration + Full Data Migration + Incremental Data Migration | Migrasi dengan downtime minimal. DTS terus menangkap perubahan dari sumber selama migrasi penuh, lalu menerapkannya ke tujuan. |
Jika Anda tidak memilih Incremental Data Migration, kami menyarankan agar Anda tidak menulis data ke database sumber selama migrasi. Hal ini memastikan konsistensi data antara database sumber dan tujuan.
Penanganan konflik
| Parameter | Option | Behavior |
|---|---|---|
| Processing Mode of Conflicting Tables | Precheck and Report Errors | Gagal dalam Pemeriksaan Awal jika tabel tujuan memiliki nama yang sama dengan tabel sumber. Gunakan object name mapping untuk mengganti nama tabel sebelum memulai. |
| Ignore Errors and Proceed | Melewati Pemeriksaan Awal. Baris dengan primary key yang sama tidak dimigrasikan; perbedaan skema dapat menyebabkan migrasi parsial atau kegagalan task. Gunakan dengan hati-hati. |
Pengaturan khusus Tablestore
| Parameter | Opsi dan panduan |
|---|---|
| Processing Policy of Dirty Data | Skip mengabaikan error tulis dan melanjutkan. Block menghentikan tugas saat terjadi error tulis. |
| Data Write Mode | Overwrite Row menggunakan operasi UpdateRowChange untuk menimpa baris di instans Tablestore. Update Row menggunakan operasi PutRowChange untuk memperbarui baris di instans Tablestore. |
| Batch Write Mode | BulkImportRequest menulis data secara offline dan menawarkan efisiensi baca/tulis lebih tinggi dengan biaya lebih rendah. BatchWriteRowRequest menulis data dalam batch. Gunakan BulkImportRequest untuk mencapai efisiensi lebih tinggi dan mengurangi biaya penggunaan instans Tablestore. |
| More (advanced) | Queue Size: panjang antrian tulis. Thread Quantity: jumlah thread callback tulis. Concurrency: jumlah maksimum thread tulis konkuren. Buckets: jumlah maksimum bucket konkuren untuk data inkremental (harus kurang dari atau sama dengan Concurrency). |
Pemilihan objek
| Parameter | Deskripsi |
|---|---|
| Operation Types | Jenis operasi DML yang akan dimigrasikan. Semua jenis dipilih secara default. |
| Capitalization of Object Names in Destination Instance | Mengontrol cara penulisan huruf besar/kecil untuk nama database, tabel, dan kolom di tujuan. Nilai default adalah DTS default policy. Lihat Specify the capitalization of object names in the destination instance. |
| Source Objects | Pilih tabel atau database yang akan dimigrasikan dan klik ikon panah untuk menambahkannya ke Selected Objects. Tablestore hanya mendukung migrasi satu database, atau beberapa tabel dalam database yang sama, per tugas. |
| Selected Objects | Klik kanan objek untuk mengganti namanya. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Catatan: pemetaan nama database tidak didukung — hanya nama tabel dan kolom yang dapat dipetakan. Untuk memfilter baris, klik kanan tabel dan tentukan kondisi SQL. Lihat Use SQL conditions to filter data. |
Langkah 6: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Select the dedicated cluster used to schedule the task | Secara default, DTS menjadwalkan tugas pada kluster bersama. Pilih klaster khusus untuk sumber daya khusus. Lihat What is a DTS dedicated cluster. |
| Set Alerts | Pilih Yes untuk menerima notifikasi saat tugas gagal atau latensi migrasi melebihi ambang batas. Tentukan kontak peringatan dan ambang batasnya. Lihat Configure monitoring and alerting. |
| Retry Time for Failed Connections | Durasi DTS mencoba kembali koneksi yang gagal sebelum menandai tugas sebagai gagal. Rentang: 10–1440 menit. Default: 720 menit. Atur minimal 30 menit untuk memberi waktu pemulihan dari kegagalan sementara. |
| The wait time before a retry when other issues occur in the source and destination databases | Durasi DTS mencoba kembali operasi DDL atau DML yang gagal. Rentang: 1–1440 menit. Default: 10 menit. Atur minimal 10 menit. Nilai ini harus lebih kecil dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi beban baca/tulis pada sumber dan tujuan selama migrasi penuh. Konfigurasikan QPS to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Ditampilkan hanya jika Full Data Migration dipilih. |
| Enable Throttling for Incremental Data Migration | Membatasi beban selama migrasi inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Ditampilkan hanya jika Incremental Data Migration dipilih. |
| Environment Tag | Tag opsional untuk mengidentifikasi instans DTS. |
| Configure ETL | Extract, transform, and load (ETL) tidak didukung untuk jalur migrasi ini. Pilih No. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Pilih Yes untuk mencegah DTS menulis ke tabel heartbeat di database sumber. Dalam kasus ini, latensi instans DTS mungkin ditampilkan. Pilih No untuk menulis operasi heartbeat. Dalam kasus ini, fitur tertentu seperti backup fisik dan kloning database sumber mungkin terpengaruh. |
Langkah 7: Konfigurasi kolom kunci primer
Klik Next: Configure Database and Table Fields. Di kotak dialog Note, klik OK.
DTS secara otomatis memetakan kolom kunci primer setiap tabel ke Primary Key Column Tablestore. Untuk mengubah pemetaan, atur Definition Status ke All dan pilih satu atau beberapa kolom dari daftar drop-down untuk membuat kunci primer komposit.
Langkah 8: Jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API untuk konfigurasi ini sebelum menyimpan, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
Tugas menjalankan Pemeriksaan Awal sebelum dimulai. Jika item Pemeriksaan Awal gagal:
Klik View Details di samping item yang gagal, selesaikan masalahnya, lalu klik Precheck Again.
Jika item peringatan dapat diabaikan dengan aman, klik Confirm Alert Details, klik Ignore, konfirmasi dengan mengklik OK, lalu klik Precheck Again.
Mengabaikan peringatan Pemeriksaan Awal dapat menyebabkan ketidakkonsistenan data. Lanjutkan hanya jika Anda memahami implikasinya.
Langkah 9: Tunggu hingga Pemeriksaan Awal lolos
Tunggu hingga tingkat keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.
Langkah 10: Konfigurasi kelas instans
Di halaman Purchase Instance, konfigurasikan parameter berikut di bawah New Instance Class.
| Parameter | Deskripsi |
|---|---|
| Resource Group | Kelompok sumber daya untuk instans DTS. Default: default resource group. Lihat What is Resource Management? |
| Instance Class | Mengontrol throughput migrasi. Pilih kelas berdasarkan volume data dan batasan waktu. Lihat Specifications of data migration instances. |
Langkah 11: Terima syarat layanan
Baca dan terima Syarat Layanan Data Transmission Service (Pay-as-you-go) dengan mencentang kotak centang.
Langkah 12: Mulai migrasi
Klik Buy and Start. Tugas akan muncul di daftar tugas, tempat Anda dapat memantau progresnya.