Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari kluster PolarDB for PostgreSQL (Compatible with Oracle) ke instans Message Queue for Apache Kafka.
Prasyarat
Parameter wal_level pada kluster sumber PolarDB for PostgreSQL (Compatible with Oracle) harus diatur ke logical. Pengaturan ini menambahkan informasi yang diperlukan untuk logical decoding ke write-ahead log (WAL). Untuk informasi selengkapnya, lihat Setel parameter kluster.
Instans tujuan Message Queue for Apache Kafka telah dibuat dan memiliki ruang disk yang tersedia lebih besar daripada ruang disk yang digunakan oleh instans sumber PolarDB for PostgreSQL (Compatible with Oracle).
CatatanUntuk informasi mengenai versi database yang didukung, lihat Solusi migrasi.
Sebuah topik telah dibuat di instans tujuan Message Queue for Apache Kafka untuk menerima data yang dimigrasikan. Untuk informasi selengkapnya, lihat Langkah 1: Buat topik.
Perhatian
Jenis | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Penagihan
Jenis migrasi | Biaya konfigurasi tautan | Biaya transfer data |
Migrasi skema dan migrasi data penuh | Gratis. | Anda dikenai biaya transfer data saat memigrasikan data keluar dari Alibaba Cloud melalui jaringan publik. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Migrasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang mendukung migrasi inkremental
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, DELETE |
DDL |
Penting
|
Izin yang diperlukan untuk akun database
Database | Izin yang diperlukan | Metode pembuatan dan otorisasi akun |
Kluster PolarDB for PostgreSQL (Compatible with Oracle) | Akun dengan hak istimewa (privileged account) |
Prosedur
Buka halaman daftar tugas migrasi di wilayah tujuan dengan salah satu metode berikut.
Dari Konsol DTS
Login ke Konsol Data Transmission Service (DTS).
Di panel navigasi kiri, klik Data Migration.
Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
Login ke Konsol Data Management (DMS).
Di bilah navigasi atas, pilih .
Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan.
CatatanUntuk informasi tentang cara memperoleh parameter instans tujuan Message Queue for Apache Kafka, lihat Konfigurasikan parameter instans Message Queue for Apache Kafka.
Kategori
Konfigurasi
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama ini tidak harus unik.
Source Database
Select Existing Connection
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah ini akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, parameter ini bernama Select a DMS database instance..
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans yang terdaftar, konfigurasikan informasi database secara manual di bawah ini.
Database Type
Pilih PolarDB (Compatible with Oracle).
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat kluster sumber PolarDB for PostgreSQL (Compatible with Oracle) berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini memigrasikan data dalam satu akun Alibaba Cloud yang sama. Pilih No.
Instance ID
Pilih ID kluster sumber PolarDB for PostgreSQL (Compatible with Oracle).
Database Name
Masukkan nama database yang berisi objek yang akan dimigrasikan dari kluster sumber PolarDB for PostgreSQL (Compatible with Oracle).
Database Account
Masukkan akun database kluster sumber PolarDB for PostgreSQL (Compatible with Oracle). Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database tersebut.
Destination Database
Select Existing Connection
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah ini akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, parameter ini bernama Select a DMS database instance..
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans yang terdaftar, konfigurasikan informasi database secara manual di bawah ini.
Database Type
Pilih Kafka.
Access Method
Pilih Express Connect, VPN Gateway, or Smart Access Gateway.
CatatanDi sini, instans Message Queue for Apache Kafka dikonfigurasi sebagai database Kafka yang dikelola sendiri untuk instans migrasi.
Instance Region
Pilih wilayah tempat instans tujuan Message Queue for Apache Kafka berada.
Connected VPC
Pilih ID virtual private cloud (VPC) tempat instans tujuan Message Queue for Apache Kafka berada.
Domain Name or IP
Masukkan salah satu alamat IP dari Default Endpoint instans target ApsaraMQ for Kafka.
Port Number
Masukkan port layanan instans target ApsaraMQ for Kafka. Nilai default-nya adalah 9092.
Database Account
Anda tidak perlu mengisi parameter ini untuk contoh ini.
Database Password
Kafka Version
Pilih versi instans Kafka.
Encryption
Pilih Non-encrypted atau SCRAM-SHA-256 berdasarkan kebutuhan bisnis dan keamanan Anda.
Topic
Pilih topik untuk menerima data dari daftar drop-down.
Use Kafka Schema Registry
Kafka Schema Registry adalah lapisan layanan metadata yang menyediakan antarmuka RESTful untuk menyimpan dan mengambil Avro Schema.
No: Jangan gunakan Kafka Schema Registry.
Yes: Gunakan Kafka Schema Registry. Anda harus memasukkan URL atau alamat IP skema Avro yang terdaftar di Kafka Schema Registry di kotak teks URL or IP Address of Schema Registry.
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
CatatanPastikan segmen alamat IP layanan DTS telah ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.
Jika database sumber atau tujuan adalah database yang dikelola sendiri (nilai Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers yang muncul.
Konfigurasikan objek tugas.
Di halaman Configure Objects, konfigurasikan objek yang akan dimigrasikan.
Konfigurasi
Deskripsi
Migration Types
Jika hanya perlu melakukan migrasi penuh, pilih Schema Migration dan Full Data Migration.
Untuk melakukan migrasi tanpa downtime, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
CatatanJika Access Method instans Kafka tujuan adalah Alibaba Cloud Instance, Schema Migration tidak didukung.
Jika Incremental Data Migration tidak dipilih, jangan menulis data baru ke instans sumber selama migrasi data untuk memastikan konsistensi data.
Processing Mode of Conflicting Tables
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, item pemeriksaan awal lolos. Jika ada tabel dengan nama yang sama, kesalahan dilaporkan selama fase pemeriksaan awal, dan tugas migrasi data tidak dimulai.
CatatanJika tabel di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama tabel di database tujuan. Untuk informasi selengkapnya, lihat Object name mapping.
Ignore Errors and Proceed: Melewati pemeriksaan untuk tabel dengan nama yang sama.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko bisnis. Misalnya:
Jika skema tabel konsisten dan catatan di database tujuan memiliki nilai primary key yang sama dengan catatan di database sumber:
Selama migrasi penuh, DTS menyimpan catatan di kluster tujuan. Catatan dari database sumber tidak dimigrasikan ke database tujuan.
Selama migrasi inkremental, DTS tidak menyimpan catatan di kluster tujuan. Catatan dari database sumber akan menimpa catatan di database tujuan.
Jika skema tabel tidak konsisten, hanya beberapa kolom data yang mungkin dimigrasikan, atau migrasi dapat gagal. Lakukan dengan hati-hati.
Data Format in Kafka
Pilih format data yang diinginkan untuk penyimpanan di instans Kafka.
Jika memilih Canal JSON, lihat Canal JSON untuk deskripsi parameter dan contoh.
CatatanSaat ini, hanya wilayah China (Qingdao) dan China (Beijing) yang mendukung pemilihan Canal JSON.
Jika memilih DTS Avro, Anda harus mengurai data berdasarkan definisi skema DTS Avro. Untuk informasi selengkapnya, lihat Definisi skema DTS Avro dan Kode contoh deserialisasi DTS Avro.
Jika memilih Shareplex JSON, lihat Shareplex Json untuk deskripsi parameter dan contoh.
Kafka Data Compression Format
Pilih format kompresi untuk pesan Kafka sesuai kebutuhan.
LZ4 (Default): Rasio kompresi rendah, kecepatan kompresi tinggi.
GZIP: Rasio kompresi tinggi, kecepatan kompresi rendah.
CatatanPenggunaan CPU tinggi.
Snappy: Rasio kompresi sedang, kecepatan kompresi sedang.
Policy for Shipping Data to Kafka Partitions
Pilih kebijakan yang diinginkan.
Message acknowledgement mechanism
Pilih mekanisme acknowledgment pesan yang diinginkan.
Topic That Stores DDL Information
Pilih topik dari daftar drop-down untuk menyimpan informasi DDL.
CatatanJika tidak memilih topik, informasi DDL akan disimpan di topik yang menerima data secara default.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan case sensitivity untuk nama objek berbahasa Inggris yang dimigrasikan, seperti database, tabel, dan kolom, di instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menjaga konsistensi dengan kebijakan default database sumber atau tujuan. Untuk informasi selengkapnya, lihat Case sensitivity nama objek di database tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan dimigrasikan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih tabel sebagai objek yang akan dimigrasikan.
Selected Objects
Tidak diperlukan konfigurasi tambahan untuk contoh ini. Anda dapat menggunakan fitur pemetaan untuk mengatur nama topik, jumlah partisi topik, dan kunci partisi untuk tabel sumber di instans Kafka tujuan. Untuk informasi selengkapnya, lihat Informasi pemetaan.
CatatanJika menggunakan fitur pemetaan nama objek, migrasi objek lain yang bergantung pada objek ini mungkin gagal.
Untuk memilih operasi SQL untuk migrasi inkremental, klik kanan objek migrasi di bagian Selected Objects, lalu pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama. Anda tidak perlu memilihnya. Jika menginginkan tugas yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas migrasi DTS.
Retry Time for Failed Connections
Setelah tugas migrasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera memulai upaya pengulangan terus-menerus. Durasi pengulangan default adalah 720 menit. Anda juga dapat menyesuaikan waktu pengulangan dalam rentang 10 hingga 1440 menit. Kami menyarankan agar Anda mengaturnya lebih dari 30 menit. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam waktu yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
CatatanUntuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu pengulangan jaringan ditentukan oleh pengaturan tugas yang dibuat terakhir.
Karena Anda dikenai biaya selama periode pengulangan koneksi, kami menyarankan agar Anda menyesuaikan waktu pengulangan berdasarkan kebutuhan bisnis Anda, atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas lain di database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera memulai upaya pengulangan terus-menerus. Durasi pengulangan default adalah 10 menit. Anda juga dapat menyesuaikan waktu pengulangan dalam rentang 1 hingga 1440 menit. Kami menyarankan agar Anda mengaturnya lebih dari 10 menit. Jika operasi terkait berhasil dalam waktu pengulangan yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
PentingNilai Retry Time for Other Issues harus lebih kecil dari nilai Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Selama fase migrasi penuh, DTS mengonsumsi beberapa sumber daya baca dan tulis database sumber dan tujuan, yang dapat meningkatkan beban database. Sesuai kebutuhan, Anda dapat memilih apakah akan mengatur batas kecepatan untuk tugas migrasi penuh. Anda dapat mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi tekanan pada database tujuan.
CatatanItem konfigurasi ini tersedia hanya jika Anda memilih Full Data Migration untuk Migration Types.
Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instans migrasi berjalan.
Enable Throttling for Incremental Data Migration
Sesuai kebutuhan, Anda juga dapat memilih apakah akan mengatur batas kecepatan untuk tugas migrasi inkremental. Anda dapat mengatur RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi tekanan pada database tujuan.
CatatanItem konfigurasi ini tersedia hanya jika Anda memilih Incremental Data Migration untuk Migration Types.
Anda juga dapat menyesuaikan kecepatan migrasi inkremental setelah instans migrasi berjalan.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans jika diperlukan. Ini tidak wajib untuk contoh ini.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data.
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.
No: Tidak mengatur peringatan.
Yes: Mengatur peringatan. Anda juga harus mengatur ambang batas peringatan dan pemberitahuan peringatan. Sistem akan mengirimkan pemberitahuan peringatan jika migrasi gagal atau latensi melebihi ambang batas.
Simpan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter konfigurasi instans ini saat memanggil Operasi API, arahkan pointer ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di bubble yang muncul.
Jika tidak perlu melihat atau telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum tugas migrasi dimulai, pemeriksaan awal dilakukan. Tugas hanya akan dimulai setelah lolos pemeriksaan awal.
Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
Jika peringatan dilaporkan selama pemeriksaan awal:
Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di sebelah item yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan pemeriksaan awal lagi.
Untuk item pemeriksaan yang dapat diabaikan dan tidak perlu diperbaiki, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan dan menjalankan pemeriksaan awal lagi. Jika memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
Beli instance.
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
Di halaman Purchase, pilih spesifikasi tautan untuk instans migrasi data. Untuk informasi selengkapnya, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih resource group tempat instans berada. Nilai default-nya adalah default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan spesifikasi migrasi dengan tingkat kinerja yang berbeda. Spesifikasi link memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link migrasi data.
Setelah konfigurasi selesai, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start, lalu di kotak dialog OK yang muncul, klik OK.
Anda dapat melihat progres instans migrasi di halaman daftar Data Migration Tasks.
CatatanJika instans migrasi tidak mencakup tugas migrasi inkremental, instans tersebut akan berhenti secara otomatis. Setelah instans berhenti, Status-nya menjadi Completed.
Jika instans migrasi mencakup tugas migrasi inkremental, instans tersebut tidak berhenti secara otomatis, dan tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan normal, Status instans adalah Running.
Informasi pemetaan
Di area Selected Objects, arahkan pointer mouse ke nama topik tujuan pada tingkat tabel.
Untuk topik tujuan, klik Edit.
Di kotak dialog Edit Table, Anda dapat mengonfigurasi informasi pemetaan.
CatatanPada tingkat skema, kotak dialog bernama Edit Schema dan berisi lebih sedikit parameter yang dapat dikonfigurasi. Pada tingkat tabel, kotak dialog bernama Edit Table.
Jika granularitas migrasi bukan seluruh skema, Anda tidak dapat mengubah Name of target Topic atau Number of Partitions di kotak dialog Edit Schema.
Konfigurasi
Deskripsi
Name of target Topic
Nama Topik tujuan tempat tabel sumber dimigrasikan. Secara default, ini adalah Topic yang dipilih di bagian Destination Database selama langkah Configurations for Source and Destination Databases.
PentingJika database tujuan adalah instans Message Queue for Apache Kafka, nama topik yang ditentukan harus ada di instans Kafka tujuan. Jika tidak, migrasi data akan gagal. Jika database tujuan adalah database Kafka yang dikelola sendiri dan instans migrasi mencakup tugas migrasi skema, DTS akan mencoba membuat topik yang Anda tentukan di database tujuan.
Jika Anda mengubah Name of target Topic, data akan ditulis ke topik yang Anda tentukan.
Filter Conditions
Untuk informasi selengkapnya, lihat Setel kondisi filter.
Number of Partitions
Jumlah partisi untuk topik tujuan tempat data ditulis.
Partition Key
Saat Policy for Shipping Data to Kafka Partitions diatur ke Ship Data to Separate Partitions Based on Hash Values of Primary Keys, Anda harus mengonfigurasi parameter ini. Tentukan satu atau beberapa kolom sebagai Partition Key untuk menghitung nilai hash. DTS mengirimkan baris yang berbeda ke setiap partisi topik tujuan berdasarkan nilai hash yang dihitung. Jika tidak, kebijakan pengiriman ini tidak berlaku selama fase penulisan inkremental.
CatatanAnda hanya dapat memilih Partition Key di kotak dialog Edit Table.
Klik OK.