Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari database Db2 for LUW yang dikelola sendiri ke instans ApsaraDB RDS for MySQL. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental, sehingga Anda dapat memilih kombinasi yang sesuai dengan strategi alih bencana Anda.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki instans ApsaraDB RDS for MySQL dengan penyimpanan tersedia yang lebih besar daripada ukuran total data sumber Db2 for LUW. Untuk informasi selengkapnya, lihat Buat instans ApsaraDB RDS for MySQL.
Meninjau versi Db2 for LUW yang didukung dalam Ikhtisar skenario migrasi data.
Hanya untuk migrasi data inkremental: Aktifkan archive logging pada database sumber Db2 for LUW menggunakan parameter konfigurasi logarchmeth1 dan logarchmeth2. Lihat dokumentasi IBM untuk logarchmeth1 dan logarchmeth2.
Setelah mengubah konfigurasi logarchmeth, lakukan backup database sumber agar perubahan berlaku. Jika tidak, kesalahan mungkin dikembalikan selama Pemeriksaan Awal.
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya lalu lintas internet |
|---|---|---|
| Migrasi skema dan migrasi data penuh | Gratis | Gratis |
| Migrasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan. | — |
Izin yang diperlukan
Berikan izin berikut kepada akun database yang digunakan oleh DTS.
| Database | Migrasi data penuh | Migrasi skema | Migrasi data inkremental |
|---|---|---|---|
| Db2 for LUW | CONNECT dan SELECT | CONNECT dan SELECT | Administrator database |
| ApsaraDB RDS for MySQL | Baca dan tulis pada database tujuan | — | — |
Untuk petunjuk membuat akun dan memberikan izin, lihat:
Db2 for LUW: Creating group and user IDs for a Db2 database installation dan Authorities overview
ApsaraDB RDS for MySQL: Buat akun dan Ubah izin akun
Batasan
Migrasi skema
DTS memigrasikan kunci asing dari database sumber ke database tujuan.
Selama migrasi data penuh dan inkremental, DTS menonaktifkan sementara pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Melakukan operasi kaskade atau penghapusan pada sumber selama migrasi dapat menyebabkan ketidakkonsistenan data.
Database sumber
Server tempat database sumber berada harus memiliki bandwidth outbound yang mencukupi. Jika tidak, kecepatan migrasi data menurun.
Tabel harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua bidang unik. Tanpa kendala ini, database tujuan mungkin berisi catatan duplikat.
Saat memigrasikan tabel individual, satu tugas mendukung maksimal 1.000 tabel. Melebihi batas ini menyebabkan kesalahan permintaan. Untuk memigrasikan lebih dari 1.000 tabel, bagi migrasi menjadi beberapa tugas atau migrasikan seluruh database.
Untuk migrasi data inkremental, fitur pencatatan data harus diaktifkan pada database sumber. DTS mengembalikan kesalahan selama Pemeriksaan Awal jika tidak diaktifkan.
Persyaratan retensi log: Retensi log yang tidak mencukupi dapat menyebabkan kegagalan tugas, atau mengakibatkan ketidakkonsistenan data atau kehilangan data. Setelah migrasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Jika persyaratan ini tidak terpenuhi, perjanjian tingkat layanan (SLA) DTS tidak menjamin keandalan atau kinerja.
Hanya migrasi inkremental: simpan log selama lebih dari 24 jam.
Kombinasi migrasi penuh dan inkremental: simpan log minimal selama 7 hari.
Selama migrasi data penuh, hindari operasi DDL yang mengubah skema database atau tabel. Perubahan tersebut menyebabkan kegagalan tugas migrasi.
Selama migrasi hanya penuh, hindari menulis data ke database sumber. Untuk memastikan konsistensi data, jalankan migrasi data penuh dan migrasi data inkremental secara bersamaan.
Migrasi data inkremental
DTS memigrasikan data inkremental menggunakan teknologi replikasi Change Data Capture (CDC) dari Db2 for LUW. Teknologi ini memiliki batasan sendiri. Lihat General data restrictions for SQL Replication.
Operasi SQL yang didukung selama migrasi data inkremental:
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, dan DELETE |
Batasan lainnya
Lakukan migrasi data selama jam sepi. Migrasi data penuh menggunakan sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban server.
Operasi INSERT konkuren selama migrasi data penuh menyebabkan fragmentasi pada tabel tujuan. Setelah migrasi data penuh, ruang tabel tujuan lebih besar daripada sumber.
Menulis ke database tujuan menggunakan alat selain DTS selama migrasi dapat menyebabkan ketidakkonsistenan data. Gunakan Data Management (DMS) untuk operasi DDL setelah migrasi. Lihat Lakukan operasi DDL tanpa lock.
Jika pernyataan DDL gagal di database tujuan, DTS tetap berjalan. Lihat pernyataan DDL yang gagal di log tugas. Lihat Lihat log tugas.
Db2 for LUW yang dikelola sendiri
Alih bencana primary/secondary pada sumber saat tugas migrasi sedang berjalan menyebabkan kegagalan tugas.
DTS menghitung latensi migrasi dengan membandingkan timestamp data terbaru yang dimigrasikan di database tujuan terhadap timestamp saat ini di sumber. Jika tidak ada operasi DML yang dijalankan di sumber dalam periode panjang, angka latensi mungkin tidak akurat. Untuk memperbarui latensi, jalankan operasi DML di sumber. Jika Anda memigrasikan seluruh database, buat tabel heartbeat yang diperbarui setiap detik.
Migrasi data dari Db2 for LUW ke ApsaraDB RDS for MySQL
Langkah 1: Buka Tugas Migrasi Data
Login ke Konsol Data Management (DMS).
Pada bilah navigasi atas, klik DTS.
Pada panel navigasi kiri, pilih DTS (DTS) > Data Migration.
Tata letak dan operasi Konsol dapat berbeda. Lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS untuk detailnya. 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.
Langkah 3: Konfigurasikan database sumber dan tujuan
Klik Create Task. Pada halaman wizard Create Task, konfigurasikan parameter berikut.
Database sumber
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama tugas migrasi. DTS memberikan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. |
| Select an existing DMS database instance | Opsional. Pilih instans database DMS yang sudah ada agar DTS mengisi parameter database secara otomatis. Jika dilewati, konfigurasikan parameter secara manual. |
| Database Type | Pilih DB2 for LUW. |
| Access Method | Metode akses untuk database sumber. Contoh ini menggunakan Self-managed Database on ECS. Untuk metode akses lainnya, lihat Ikhtisar persiapan. |
| Instance Region | Wilayah tempat database sumber Db2 for LUW berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk contoh ini. |
| ECS Instance ID | ID instans Elastic Compute Service (ECS) yang menjalankan database sumber Db2 for LUW. |
| Port Number | Port layanan database sumber Db2 for LUW. |
| Database Name | Nama database sumber Db2 for LUW yang berisi objek yang akan dimigrasikan. |
| Database Account | Akun database untuk database sumber. Lihat bagian Izin yang diperlukan untuk detailnya. |
| Database Password | Kata sandi untuk akun database. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance | Opsional. Pilih instans database DMS yang sudah ada agar DTS mengisi parameter database secara otomatis. Jika dilewati, konfigurasikan parameter secara manual. |
| Database Type | Pilih MySQL. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans tujuan ApsaraDB RDS for MySQL berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk contoh ini. |
| RDS Instance ID | ID instans tujuan ApsaraDB RDS for MySQL. |
| Database Account | Akun database untuk database tujuan. Lihat bagian Izin yang diperlukan untuk detailnya. |
| Database Password | Kata sandi untuk akun database. |
| Encryption | Pilih Non-encrypted atau SSL-encrypted. Jika Anda memilih SSL-encrypted, aktifkan enkripsi SSL pada instans ApsaraDB RDS for MySQL terlebih dahulu. Lihat Konfigurasikan fitur enkripsi SSL. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih alamat IP instans database Alibaba Cloud, atau ke aturan grup keamanan instans ECS. Untuk database yang dikelola sendiri di pusat data atau di-host oleh penyedia cloud pihak ketiga, tambahkan secara manual blok CIDR DTS ke daftar putih alamat IP database. Lihat Tambahkan blok CIDR server DTS ke pengaturan keamanan database on-premises.
Jika DTS meng-host database sumber pada beberapa instans ECS, tambahkan blok CIDR DTS ke aturan grup keamanan setiap instans ECS secara manual.
Menambahkan blok CIDR publik DTS ke daftar putih alamat IP database atau aturan grup keamanan ECS menimbulkan risiko keamanan. Sebelum menggunakan DTS, ambil langkah pencegahan, termasuk namun tidak terbatas pada: memperkuat keamanan akun dan kata sandi, membatasi port yang terbuka, mengotentikasi panggilan API, mengaudit daftar putih alamat IP dan aturan grup keamanan secara berkala, serta menghubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 5: Konfigurasikan objek migrasi
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih jenis migrasi berdasarkan strategi alih bencana Anda: <br>- Hanya migrasi skema dan migrasi data penuh: pilih Schema Migration dan Full Data Migration.<br>- Migrasi tanpa downtime dengan kelangsungan layanan: pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.<br><br> Catatan Jika Anda tidak memilih Incremental Data Migration, hindari menulis ke database sumber selama migrasi untuk menjaga konsistensi data. |
| Processing Mode of Conflicting Tables | - Precheck and Report Errors: memeriksa adanya tabel dengan nama identik di sumber dan tujuan. Jika nama identik ditemukan, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Gunakan fitur pemetaan nama objek untuk mengganti nama tabel jika diperlukan. Lihat Pemetaan nama objek.<br>- Ignore Errors and Proceed: melewati pemeriksaan nama identik. Peringatan Hal ini dapat menyebabkan ketidakkonsistenan data. Jika skema berbeda antara sumber dan tujuan, hanya kolom tertentu yang dimigrasikan atau tugas gagal. |
| Capitalization of Object Names in Destination Instance | Mengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default-nya adalah DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan. |
| Source Objects | Pilih objek dari bagian Source Objects dan klik |
| Selected Objects | Klik kanan objek untuk mengganti namanya atau menetapkan kondisi filter WHERE. Klik Batch Edit di pojok kanan atas untuk mengganti nama beberapa objek sekaligus. Lihat Pemetaan nama objek dan Gunakan kondisi SQL untuk memfilter data. <br><br> Catatan Pemetaan nama objek dapat menyebabkan ketidakkonsistenan data jika objek dependen tidak ikut dimigrasikan. Untuk migrasi inkremental operasi SQL tertentu pada suatu objek, klik kanan objek di Selected Objects dan pilih operasi SQL yang akan disertakan. |
Langkah 6: Konfigurasikan pengaturan lanjutan
Klik Next: Advanced Settings.
Verifikasi data
Untuk mengonfigurasi verifikasi data, lihat Aktifkan verifikasi data.
Pengaturan lanjutan
| Parameter | Deskripsi |
|---|---|
| Select the dedicated cluster used to schedule the task | Secara default, DTS menjadwalkan tugas ke kluster bersama. Beli dan tentukan kluster khusus untuk menjalankan tugas pada sumber daya khusus. Lihat Apa itu kluster khusus DTS. |
| Set Alerts | Konfigurasikan peringatan untuk kegagalan tugas atau latensi yang melebihi ambang batas. Pilih Yes untuk menentukan ambang batas peringatan dan kontak. Lihat Konfigurasikan Pemantauan Peringatan. |
| Retry Time for Failed Connections | Rentang waktu selama DTS mencoba koneksi ulang setelah kegagalan sejak tugas dimulai. Nilai valid: 10–1.440 menit. Default: 720 menit. Atur nilai ini lebih dari 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan. Jika tidak, tugas gagal. <br><br> Catatan Saat beberapa tugas berbagi database sumber atau tujuan yang sama, waktu retry yang dikonfigurasi terakhir berlaku. DTS menagih instans selama masa percobaan ulang. |
| The wait time before a retry when other issues occur in the source and destination databases | Rentang waktu selama DTS mencoba ulang operasi DDL atau DML yang gagal setelah tugas dimulai. Nilai valid: 1–1.440 menit. Default: 10 menit. Atur nilai ini lebih dari 10 menit. Nilai ini harus lebih kecil daripada Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Batasi laju baca dan tulis selama migrasi data penuh untuk mengurangi beban pada server database. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Parameter ini tersedia hanya jika Full Data Migration dipilih. |
| Enable Throttling for Incremental Data Migration | Batasi laju tulis selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Parameter ini tersedia hanya jika Incremental Data Migration dipilih. |
| Environment Tag | Tag opsional untuk mengidentifikasi instans DTS berdasarkan lingkungan. |
| Configure ETL | Konfigurasikan fitur ekstrak, transformasi, dan muat (ETL) untuk memproses data selama migrasi. Pilih Yes dan masukkan pernyataan pemrosesan data di editor kode. Lihat Apa itu ETL? dan Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data. |
Langkah 7: Simpan pengaturan dan jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API untuk mengonfigurasi tugas DTS, arahkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters sebelum melanjutkan.
DTS menjalankan Pemeriksaan Awal sebelum memulai tugas migrasi.
Jika Pemeriksaan Awal gagal, klik View Details di samping item yang gagal, selesaikan masalahnya, lalu jalankan Pemeriksaan Awal lagi.
Jika muncul peringatan untuk suatu item:
Jika peringatan tidak dapat diabaikan, klik View Details, selesaikan masalahnya, lalu jalankan Pemeriksaan Awal lagi.
Jika peringatan dapat diabaikan, klik Confirm Alert Details, lalu klik Ignore > OK > Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 8: Beli instans migrasi
Tunggu hingga tingkat keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.
Pada halaman Purchase Instance, konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| 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 kelas sesuai kebutuhan Anda. Lihat Spesifikasi instans migrasi data. |
Langkah 9: Mulai migrasi
Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.
Tugas migrasi dimulai. Lacak kemajuan di daftar tugas.