Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari database IBM Db2 for Linux, UNIX, dan Windows (LUW) ke instans ApsaraMQ for Kafka. DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental menggunakan teknologi Change Data Capture (CDC) yang tertanam di Db2 for LUW.
Penagihan
| Jenis migrasi | Biaya konfigurasi instans | Biaya traffic Internet |
|---|---|---|
| Migrasi skema dan migrasi data penuh | Gratis | Gratis |
| Migrasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. | — |
Operasi SQL yang didukung
Migrasi data inkremental mendukung operasi DML berikut: INSERT, UPDATE, dan DELETE.
DTS tidak memigrasikan kunci asing dari database sumber. Operasi cascade dan delete yang didefinisikan pada sumber tidak direplikasi ke tujuan.
Prasyarat
Sebelum memulai, pastikan kondisi berikut terpenuhi.
Database Db2 for LUW sumber:
Server yang menghosting database sumber memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan migrasi.
Tabel yang akan dimigrasikan memiliki kendala PRIMARY KEY atau UNIQUE, dengan semua field bernilai unik. Tabel tanpa kendala ini dapat menghasilkan catatan duplikat di tujuan.
Jika Anda ingin memigrasikan data inkremental, logging arsip harus diaktifkan pada database sumber. DTS membaca log transaksi Db2 untuk menangkap perubahan inkremental, yang memerlukan aktivasi logging arsip. Atur parameter konfigurasi
logarchmeth1ataulogarchmeth2untuk mengaktifkan logging arsip. Untuk detailnya, lihat logarchmeth1 dan logarchmeth2.PentingSetelah mengubah parameter
logarchmeth, lakukan backup database sumber agar perubahan berlaku. Tanpa backup, pemeriksaan awal (precheck) dapat gagal.Untuk migrasi inkremental, logging operasi harus diaktifkan pada database tujuan. Precheck akan gagal dan tugas tidak dapat dimulai jika logging dinonaktifkan.
Hanya untuk migrasi data inkremental: log data pada database sumber dipertahankan lebih dari 24 jam.
Untuk migrasi data penuh dan inkremental gabungan: log data dipertahankan minimal 7 hari.
Jika retensi log tidak mencukupi, DTS mungkin gagal membaca log, yang dapat menyebabkan kegagalan tugas atau kehilangan data. Setelah migrasi penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Perjanjian tingkat layanan (SLA) DTS tidak menjamin keandalan atau kinerja jika persyaratan retensi tidak terpenuhi.
Instans ApsaraMQ for Kafka tujuan:
Ruang penyimpanan yang tersedia lebih besar daripada ukuran total data database Db2 for LUW sumber. Untuk panduan estimasi ukuran, lihat Ikhtisar.
Topik telah dibuat untuk menerima data yang dimigrasikan. Lihat bagian "Langkah 1: Buat topik" dalam Langkah 3: Buat resource.
Untuk versi Db2 for LUW yang didukung, lihat Ikhtisar skenario migrasi data.
Izin yang diperlukan
Berikan izin berikut kepada akun database Db2 for LUW sesuai jenis migrasi Anda.
| Jenis migrasi | Izin yang diperlukan |
|---|---|
| Migrasi data penuh | CONNECT dan SELECT |
| Migrasi skema | CONNECT dan SELECT |
| Migrasi data inkremental | Izin administrator basis data |
Untuk migrasi data inkremental, DTS memerlukan otorisasi administrator basis data untuk membaca catatan log transaksi Db2.
Untuk petunjuk membuat akun dan memberikan izin, lihat Creating group and user IDs for a Db2 database installation dan Ikhtisar otoritas.
Batasan
| Kategori | Batasan |
|---|---|
| Database sumber | Server harus memiliki bandwidth outbound yang mencukupi; jika tidak, kecepatan migrasi menurun. |
| Database sumber | Tabel harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua field unik; jika tidak, catatan duplikat dapat muncul di tujuan. |
| Database sumber | Saat memigrasikan tabel individual (bukan seluruh database) dengan fitur pemetaan nama objek, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, konfigurasikan beberapa tugas atau migrasikan seluruh database sebagai gantinya. |
| Migrasi inkremental | Replikasi CDC tunduk pada batasan Replikasi SQL Db2 for LUW. Untuk detailnya, lihat General data restrictions for SQL Replication. |
| Selama migrasi | Jangan melakukan operasi DDL (perubahan skema) pada sumber selama migrasi data penuh. Tugas akan gagal jika perubahan skema terdeteksi. |
| Selama migrasi | Jika hanya menjalankan migrasi data penuh, jangan menulis ke database sumber selama tugas berlangsung. Hal ini dapat menyebabkan ketidakkonsistenan data. Untuk memastikan konsistensi selama traffic aktif, pilih migrasi data penuh dan migrasi data inkremental secara bersamaan. |
| Kinerja | Selama migrasi data penuh, DTS membaca dan menulis ke database sumber dan tujuan, yang meningkatkan beban server. Jadwalkan migrasi pada jam sepi. |
| Penyimpanan | Operasi INSERT konkuren selama migrasi data penuh menyebabkan fragmentasi tablespace. Tablespace tujuan mungkin lebih besar daripada sumber setelah migrasi selesai. |
| Isolasi data | Jangan menulis data yang tidak terkait dengan database sumber ke tujuan selama migrasi. Gunakan Data Management (DMS) untuk operasi DDL setelah tugas migrasi selesai. |
| Failover | Jika terjadi alih bencana primary/secondary pada sumber saat tugas sedang berjalan, tugas akan gagal. |
| Latensi migrasi | Latensi dihitung dari waktu data terakhir yang dimigrasikan terhadap waktu saat ini di sumber. Jika tidak ada operasi DML pada sumber dalam periode yang lama, pembacaan latensi mungkin tidak akurat. Lakukan operasi DML pada sumber untuk memperbarui tampilan latensi. Jika memigrasikan seluruh database, buat tabel heartbeat yang menerima pembaruan setiap detik. |
| ApsaraMQ for Kafka | Jika instans ApsaraMQ for Kafka tujuan ditingkatkan atau diturunkan spesifikasinya selama migrasi, restart instans tersebut untuk melanjutkan tugas. |
Buat tugas migrasi
Langkah 1: Buka halaman 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 konsol DMS dapat berbeda tergantung konfigurasi Anda. Untuk detailnya, lihat Simple mode dan Customize the layout and style of the DMS console. Atau, langsung buka halaman Tugas Migrasi Data di konsol DTS baru.
Langkah 2: Pilih wilayah
Dari daftar drop-down di samping Tugas Migrasi Data, pilih wilayah tempat instans migrasi akan berada.
Di konsol DTS baru, pilih wilayah dari pojok kiri atas.
Langkah 3: Konfigurasi database sumber dan tujuan
Klik Create Task. Pada halaman Create Task, konfigurasikan parameter berikut.
Pengaturan tugas:
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama untuk tugas migrasi. DTS secara otomatis memberikan nama default. Tentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak perlu unik. |
Database sumber (Db2 for LUW):
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance | (Opsional) Pilih instans database DMS yang telah didaftarkan sebelumnya. Jika dipilih, DTS akan mengisi otomatis parameter di bawah. Jika dibiarkan kosong, konfigurasikan parameter secara manual. |
| Database Type | Pilih DB2 for LUW. |
| Access Method | Pilih metode berdasarkan lokasi deployment database sumber. Contoh ini menggunakan Self-managed Database on ECS. Untuk metode akses lainnya, lihat Preparation overview. |
| Instance Region | Wilayah tempat database Db2 for LUW sumber berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk contoh ini. |
| ECS Instance ID | ID instans ECS yang menghosting database sumber. |
| Port Number | Port layanan database Db2 for LUW sumber. |
| Database Name | Nama database sumber yang berisi objek yang akan dimigrasikan. |
| Database Account | Akun database. Lihat Required permissions untuk izin minimum yang diperlukan. |
| Database Password | Kata sandi untuk akun database. |
Database tujuan (ApsaraMQ for Kafka):
| Parameter | Deskripsi |
|---|---|
| Select an existing DMS database instance | (Opsional) Pilih instans database DMS yang telah didaftarkan sebelumnya. Jika dipilih, DTS akan mengisi otomatis parameter di bawah. |
| Database Type | Pilih Kafka. |
| Access Method | Pilih Express Connect, VPN Gateway, or Smart Access Gateway. DTS terhubung ke instans ApsaraMQ for Kafka sebagai kluster Kafka yang dikelola sendiri melalui metode akses ini. |
| Instance Region | Wilayah tempat instans ApsaraMQ for Kafka berada. |
| Connected VPC | ID virtual private cloud (VPC) untuk instans ApsaraMQ for Kafka tujuan. Untuk menemukan ID VPC: login ke konsol ApsaraMQ for Kafka, buka halaman Instance Details, lalu periksa VPC ID di bagian Configuration Information pada tab Instance Information. |
| IP Address or Domain Name | Alamat IP dari titik akhir default instans ApsaraMQ for Kafka. Untuk menemukan alamat IP: pada halaman Instance Details, buka bagian Endpoint Information pada tab Instance Information. Temukan titik akhir dengan Default Endpoint di kolom Type, arahkan kursor ke nilai di kolom Domain Name, lalu salin salah satu alamat IP yang tercantum. |
| Port Number | Port layanan instans ApsaraMQ for Kafka. Default: 9092. |
| Database Account | Username SASL untuk instans ApsaraMQ for Kafka. Diperlukan hanya jika fitur daftar kontrol akses (ACL) diaktifkan. Untuk menemukan username: pada halaman Instance Details, buka tab Manage SASL Users. Untuk petunjuk mengaktifkan ACL, lihat Grant permissions to SASL users. |
| Database Password | Kata sandi SASL. Pada tab Manage SASL Users, temukan akun tersebut lalu klik Copy Password di kolom Password. |
| Kafka Version | Versi instans ApsaraMQ for Kafka. Pilih 0.10 jika versi instans adalah 0.10.2. Pilih Later Than 1.0 jika versinya 2.6.2 atau 2.2.0. |
| Encryption | Pilih Non-encrypted atau SCRAM-SHA-256 sesuai kebutuhan keamanan Anda. |
| Topic | Topik untuk menerima data yang dimigrasikan. Pilih dari daftar drop-down. |
| Topic That Stores DDL Information | Topik untuk menyimpan informasi DDL. Jika tidak dikonfigurasi, informasi DDL disimpan di topik yang ditentukan oleh Topic. |
| Use Kafka Schema Registry | Apakah akan menggunakan Kafka Schema Registry. Pilih No untuk melewati. Pilih Yes dan masukkan URL atau alamat IP Schema Registry jika Anda menyimpan skema Avro di Kafka Schema Registry. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR servernya ke pengaturan keamanan instans database Alibaba Cloud dan database yang dihosting di ECS. Untuk database yang dikelola sendiri di pusat data atau lingkungan pihak ketiga, tambahkan secara manual blok CIDR server DTS ke daftar putih database. Untuk daftar blok CIDR dan petunjuknya, lihat bagian "CIDR blocks of DTS servers" dalam Add the CIDR blocks of DTS servers to the security settings of on-premises databases.
Menambahkan blok CIDR server DTS ke daftar putih database atau grup keamanan ECS menimbulkan risiko keamanan potensial. Sebelum melanjutkan, ambil langkah pencegahan: perkuat keamanan akun dan kata sandi, batasi port yang terbuka, autentikasi panggilan API, serta tinjau secara berkala aturan daftar putih dan grup keamanan untuk menghapus entri yang tidak sah. Jika memungkinkan, hubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway alih-alih titik akhir publik.
Langkah 5: Pilih objek dan konfigurasi pengaturan migrasi
| Parameter | Deskripsi |
|---|---|
| Migration Types | Pilih jenis migrasi yang akan dijalankan: Schema Migration, Full Data Migration, dan Incremental Data Migration. Untuk menjaga kontinuitas layanan selama migrasi, pilih ketiganya. Untuk migrasi sekali jalan tanpa replikasi berkelanjutan, pilih hanya Schema Migration dan Full Data Migration — hindari menulis ke database sumber selama tugas berlangsung untuk mencegah ketidakkonsistenan data. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors: memeriksa adanya tabel dengan nama identik di sumber dan tujuan. Tugas tidak akan dimulai jika ditemukan konflik. Gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang bentrok. Lihat Map object names. Ignore Errors and Proceed: melewati pemeriksaan konflik. Jika skema cocok, baris dengan kunci primer duplikat dilewati. Jika skema berbeda, hanya kolom yang cocok yang dimigrasikan, atau tugas gagal. Gunakan dengan hati-hati. |
| Data Format in Kafka | Hanya DTS Avro yang didukung. Data diurai menggunakan skema DTS Avro. Untuk detail skema, lihat direktori avro di GitHub. |
| Policy for Shipping Data to Kafka Partitions | Kebijakan untuk mendistribusikan data yang dimigrasikan ke partisi Kafka. Pilih kebijakan sesuai kebutuhan bisnis Anda. Untuk kebijakan yang tersedia dan perilakunya, lihat Specify the policy for migrating data to Kafka partitions. |
| Capitalization of Object Names in Destination Instance | Kebijakan kapitalisasi untuk nama database, tabel, dan kolom di tujuan. Default: DTS default policy. Untuk mencocokkan kapitalisasi sumber atau tujuan, pilih opsi yang sesuai. Untuk detailnya, lihat Specify the capitalization of object names in the destination instance. |
| Source Objects | Pilih objek yang akan dimigrasikan dari daftar Source Objects lalu klik ikon untuk menambahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau database. Jika memilih tabel atau kolom, DTS tidak akan memigrasikan jenis objek lain seperti view, trigger, dan prosedur tersimpan. |
| Selected Objects | Untuk mengganti nama objek di tujuan, klik kanan objek tersebut di bagian Selected Objects. Lihat Map the name of a single object. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Map multiple object names at a time. Untuk memfilter baris menggunakan kondisi WHERE, klik kanan objek dan tentukan kondisinya. Lihat Set filter conditions. Untuk memilih operasi SQL mana yang akan direplikasi untuk objek tertentu, klik kanan objek tersebut lalu pilih operasinya. |
Jika Anda menggunakan pemetaan nama objek untuk mengganti nama suatu objek, objek lain yang bergantung padanya mungkin gagal dimigrasikan.
Langkah 6: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings lalu konfigurasikan parameter berikut.
| Parameter | Deskripsi | Default |
|---|---|---|
| Select the dedicated cluster used to schedule the task | Secara default, DTS menjadwalkan tugas ke kluster bersama. Untuk menggunakan kluster khusus, pilih di sini. Untuk detailnya, lihat What is a DTS dedicated cluster. | Shared cluster |
| Set Alerts | Apakah akan mengirim peringatan jika tugas gagal atau latensi migrasi melebihi ambang batas. Pilih Yes lalu konfigurasikan ambang batas dan kontak peringatan. Lihat Configure monitoring and alerting. | No |
| Retry Time for Failed Connections | Berapa lama DTS mencoba kembali koneksi jika sumber atau tujuan tidak dapat dijangkau. Jika terhubung kembali dalam jendela ini, DTS melanjutkan tugas; jika tidak, tugas gagal. Atur ke nilai lebih dari 30 menit. Rentang valid: 10–1.440 menit. Jika beberapa tugas berbagi sumber atau tujuan yang sama, nilai yang ditetapkan terakhir akan berlaku. | 720 menit |
| The wait time before a retry when other issues occur in the source and destination databases | Berapa lama DTS mencoba kembali operasi DDL atau DML yang gagal. Harus lebih kecil dari nilai Retry Time for Failed Connections. Atur ke nilai lebih dari 10 menit. Rentang valid: 1–1.440 menit. | 10 menit |
| Enable Throttling for Full Data Migration | Apakah akan membatasi laju baca/tulis selama migrasi data penuh untuk mengurangi beban pada sumber dan tujuan. Konfigurasikan QPS (queries per second) 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. | Disabled |
| Enable Throttling for Incremental Data Migration | Apakah akan membatasi laju selama migrasi data inkremental. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Ditampilkan hanya jika Incremental Data Migration dipilih. | Disabled |
| Environment Tag | Tag untuk mengidentifikasi instans DTS. Pilih berdasarkan lingkungan Anda (misalnya, produksi atau uji coba). | None |
| Configure ETL | Apakah akan menerapkan pemrosesan ekstrak, transformasi, dan muat (ETL) pada data yang dimigrasikan. Pilih Yes lalu masukkan pernyataan pemrosesan data di editor. Lihat Configure ETL in a data migration or synchronization task. | No |
Langkah 7: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat parameter API untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters sebelum melanjutkan.
DTS menjalankan pemeriksaan awal sebelum tugas migrasi dimulai. Jika pemeriksaan awal gagal:
Untuk item yang gagal: klik View Details di samping item tersebut, perbaiki masalah yang dilaporkan, lalu klik Precheck Again.
Untuk item peringatan yang dapat diabaikan: klik Confirm Alert Details, lalu klik Ignore di dialog View Details. Klik OK pada pesan konfirmasi, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Tunggu hingga laju keberhasilan mencapai 100%, lalu klik Next: Purchase Instance.
Langkah 8: Beli instans dan mulai tugas
Pada halaman Purchase Instance, konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Resource Group | Kelompok sumber daya untuk instans migrasi. Default: default resource group. Untuk detailnya, lihat What is Resource Management? |
| Instance Class | Kelas instans menentukan kecepatan migrasi. Pilih berdasarkan volume data dan kebutuhan waktu Anda. Untuk spesifikasi, lihat Specifications of data migration instances. |
Pilih kotak centang Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.
Tugas akan muncul di daftar tugas. Pantau perkembangannya dari sana.
Langkah selanjutnya
Untuk melakukan operasi DDL pada tujuan setelah migrasi, gunakan Data Management (DMS) untuk menghindari masalah penguncian.