Topik ini menjelaskan cara menggunakan DTS untuk memigrasikan data dari kluster PolarDB for MySQL ke kluster Kafka guna meningkatkan skalabilitas pemrosesan pesan Anda.
Prasyarat
-
Kluster Kafka yang dikelola sendiri atau instans Message Queue for Apache Kafka sebagai tujuan harus telah dibuat.
Catatan-
Jika tujuannya adalah instans Message Queue for Apache Kafka, pastikan topik telah dibuat untuk menerima data yang dimigrasikan. Kemudian, konfigurasikan instans tersebut sebagai kluster Kafka yang dikelola sendiri. Untuk informasi tentang cara membuat topik, lihat Langkah 1: Buat topik.
-
Untuk versi sumber dan tujuan yang didukung, lihat Ikhtisar solusi migrasi.
-
-
Ruang penyimpanan kluster Kafka tujuan harus lebih besar daripada ruang yang digunakan oleh kluster PolarDB for MySQL sumber.
Batasan
DTS tidak memigrasikan kunci asing dari database sumber ke database tujuan. Oleh karena itu, operasi seperti cascade delete di database sumber tidak dimigrasikan ke database tujuan.
|
Tipe |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Catatan lainnya |
|
Penagihan
|
Tipe migrasi |
Biaya konfigurasi instans |
Biaya lalu lintas Internet |
|
Migrasi skema dan migrasi data penuh |
Gratis. |
Ketika parameter Access Method database tujuan diatur ke Public IP Address, Anda dikenakan biaya lalu lintas Internet. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
|
Migrasi data inkremental |
Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Tipe migrasi
-
Migrasi skema
DTS memigrasikan definisi skema objek migrasi dari database sumber ke database tujuan.
-
Migrasi penuh
DTS memigrasikan semua data historis dari objek migrasi yang ditentukan dari database sumber ke database tujuan.
-
Migrasi inkremental
Setelah migrasi penuh selesai, DTS memigrasikan pembaruan data inkremental dari database sumber ke database tujuan. Migrasi inkremental memungkinkan Anda memigrasikan data secara mulus tanpa mengganggu aplikasi yang dikelola sendiri.
Operasi SQL untuk migrasi inkremental
|
Tipe |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, dan DELETE |
|
DDL |
CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, dan TRUNCATE TABLE |
Izin yang diperlukan untuk akun database
|
Database |
Persyaratan izin |
Tindakan |
|
Kluster PolarDB for MySQL |
Izin baca pada objek yang akan dimigrasikan |
Prosedur
-
Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan 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 lebih lanjut, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya Konsol DMS.
-
Login ke Konsol Data Management (DMS).
-
Di bilah menu 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.
Bagian
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama ini tidak perlu unik.
Select Existing Connection
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 for MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat kluster PolarDB for MySQL sumber berada.
Cross-account
Pilih No untuk memigrasikan data dalam satu Akun Alibaba Cloud yang sama.
PolarDB Cluster ID
Pilih ID kluster kluster PolarDB for MySQL sumber.
Database Account
Masukkan akun database untuk kluster PolarDB for MySQL sumber. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan kata sandi untuk akun database.
Encryption
Pilih jenis koneksi sesuai kebutuhan. Untuk informasi lebih lanjut tentang fitur enkripsi SSL, lihat Aktifkan enkripsi SSL.
Select Existing Connection
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 jenis koneksi berdasarkan lokasi penyebaran instans tujuan. Contoh ini menggunakan Self-managed Database on ECS.
CatatanJika tujuannya adalah database yang dikelola sendiri, Anda juga harus menyelesaikan beberapa prasyarat. Untuk informasi lebih lanjut, lihat Ikhtisar persiapan.
Instance Region
Pilih wilayah tempat kluster Kafka tujuan berada.
ECS Instance ID
Pilih ID Instance ECS tempat kluster Kafka tujuan ditempatkan.
Port Number
Masukkan port layanan kluster Kafka tujuan. Port default adalah 9092.
Database Account
Masukkan username untuk kluster Kafka. Anda dapat mengosongkannya jika autentikasi tidak diaktifkan untuk kluster Kafka.
Database Password
Masukkan kata sandi untuk username kluster Kafka. Anda dapat mengosongkannya jika autentikasi tidak diaktifkan untuk kluster Kafka.
Kafka Version
Pilih versi kluster Kafka Anda.
CatatanJika kluster Kafka yang dikelola sendiri Anda versi 1.0 atau lebih baru, atur Kafka Version ke Later Than 1.0.
Encryption
Pilih Non-encrypted atau SCRAM-SHA-256 berdasarkan kebutuhan bisnis dan keamanan Anda.
Topic
Dari daftar drop-down, pilih topik untuk menerima data.
Use Kafka Schema Registry
Kafka Schema Registry adalah lapisan layanan metadata yang menyediakan antarmuka RESTful untuk menyimpan dan mengambil skema Avro.
-
No: Jangan gunakan Kafka Schema Registry.
-
Yes: Gunakan Kafka Schema Registry. Anda harus memasukkan URL atau alamat IP tempat skema Avro terdaftar di Kafka Schema Registry.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan 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 lebih lanjut, lihat Tambahkan alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (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 ingin Anda migrasikan.
Parameter
Deskripsi
Migration Types
-
Untuk migrasi data penuh saja, pilih Schema Migration dan Full Data Migration.
-
Untuk migrasi dengan downtime minimal, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
Catatan-
Schema Migration tidak didukung ketika Access Method untuk instans Kafka tujuan diatur ke Alibaba Cloud Instance.
-
Jika Anda tidak memilih Schema Migration, pastikan database tujuan berisi database dan tabel yang diperlukan untuk menerima data. Anda mungkin juga perlu menggunakan fitur pemetaan nama objek di kotak Selected Objects.
-
Untuk memastikan konsistensi data, jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama proses migrasi data berlangsung.
Processing Mode for Existing Destination Tables
-
Precheck and Report Errors: Memeriksa apakah terdapat tabel dengan nama yang sama di database tujuan. Jika tidak ada, pemeriksaan awal berhasil. Jika ada, error dilaporkan selama 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 tersebut. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.
-
Ignore Errors and Proceed: Melewati pemeriksaan keberadaan 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 database tujuan; catatan dari database sumber tidak dimigrasikan.
-
Selama migrasi inkremental, DTS tidak menyimpan catatan di database tujuan; catatan dari database sumber menimpa catatan di database tujuan.
-
-
Jika skema tabel tidak konsisten, hanya beberapa kolom data yang mungkin dimigrasikan, atau migrasi dapat gagal. Lakukan opsi ini dengan hati-hati.
-
Data Format in Kafka
Pilih format data untuk menyimpan data di instans Kafka.
-
Jika Anda memilih DTS Avro, Anda harus mengurai data berdasarkan definisi skema DTS Avro. Untuk informasi lebih lanjut, lihat Definisi Skema DTS Avro dan Contoh Deserialisasi DTS Avro.
-
Jika Anda memilih Canal JSON, lihat Format Canal JSON untuk deskripsi parameter dan contohnya.
-
Jika Anda memilih Shareplex JSON, lihat Format Shareplex JSON untuk deskripsi parameter dan contohnya.
Kafka Data Compression Format
Pilih format kompresi untuk pesan Kafka berdasarkan kebutuhan Anda.
-
LZ4 (default): rasio kompresi rendah, kecepatan kompresi tinggi.
-
GZIP: rasio kompresi tinggi, kecepatan kompresi rendah.
CatatanKonsumsi CPU tinggi.
-
Snappy: rasio kompresi sedang, kecepatan kompresi sedang.
Policy for Shipping Data to Kafka Partitions
Pilih kebijakan berdasarkan kebutuhan bisnis Anda.
Message acknowledgement mechanism
Pilih mekanisme acknowledgment pesan berdasarkan kebutuhan bisnis Anda.
Topic That Stores DDL Information
Pilih topik untuk menyimpan informasi DDL.
CatatanJika tidak ada topik yang dipilih, DTS menyimpan informasi DDL di topik data secara default.
Case Policy for Destination Object Names
Anda dapat mengonfigurasi sensitivitas huruf besar/kecil untuk nama database, tabel, dan kolom yang dimigrasikan di instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih kebijakan yang konsisten dengan database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Sensitivitas huruf besar/kecil nama objek di instans tujuan.
Source Objects
Pilih satu atau beberapa objek dari bagian Source Objects. Klik ikon
dan tambahkan objek ke bagian Selected Objects. CatatanAnda dapat memilih objek untuk dimigrasikan pada tingkat tabel.
Anda dapat menggunakan fitur pemetaan untuk mengatur nama topik, jumlah partisi, dan kunci partisi untuk setiap tabel sumber di instans Kafka tujuan. Untuk informasi lebih lanjut, lihat Informasi pemetaan.
Catatan-
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang dipetakan mungkin gagal dimigrasikan.
-
Untuk memilih operasi SQL untuk migrasi inkremental, klik kanan objek migrasi di kotak Selected Objects dan pilih operasi SQL yang diinginkan dari kotak dialog yang muncul.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama. Anda tidak perlu memilihnya. Jika Anda menginginkan tugas yang lebih stabil, Anda dapat membeli klaster 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 error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 10 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 30 menit. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
Catatan-
Untuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu percobaan ulang jaringan ditentukan oleh pengaturan tugas yang terakhir dibuat.
-
Karena Anda dikenakan biaya untuk tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan waktu percobaan ulang 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, seperti pengecualian eksekusi DDL atau DML, di database sumber atau tujuan, DTS melaporkan error dan segera mulai mencoba operasi ulang. Durasi percobaan ulang default adalah 10 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 1 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang 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 migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban database. Jika diperlukan, Anda dapat mengaktifkan pembatasan 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 beban pada database tujuan.
Catatan-
Item 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
Jika diperlukan, Anda juga dapat memilih untuk 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 beban pada database tujuan.
Catatan-
Item konfigurasi ini tersedia hanya jika Anda memilih Incremental Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi inkremental setelah instans migrasi berjalan.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Pilih apakah akan menulis informasi SQL heartbeat ke database sumber saat instans DTS berjalan.
-
Yes: Informasi SQL heartbeat tidak ditulis ke database sumber. Hal ini dapat menyebabkan instans DTS melaporkan delay.
-
No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Parameter ini opsional.
Configure ETL
Berdasarkan kebutuhan bisnis Anda, pilih apakah akan mengonfigurasi fitur ETL untuk memproses data.
-
Yes: Mengonfigurasi fitur ETL. Anda juga harus memasukkan pernyataan pemrosesan data di kotak teks.
-
No: Tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.
-
No: Tidak mengatur peringatan.
-
Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem akan mengirimkan pemberitahuan peringatan.
-
-
-
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 gelembung yang muncul.
-
Jika Anda tidak perlu melihat atau telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum tugas migrasi dimulai, DTS melakukan pemeriksaan awal. Tugas hanya akan dimulai setelah lolos pemeriksaan awal.
-
Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan prompt, 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 prompt, lalu jalankan pemeriksaan awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
-
Beli instans.
-
Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih spesifikasi link untuk instans migrasi data. Untuk informasi lebih lanjut, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih resource group tempat instans tersebut 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. Di kotak dialog OK yang muncul, klik OK.
Anda dapat melihat progres tugas migrasi di halaman daftar Data Migration Tasks.
Catatan-
Jika tugas migrasi tidak mencakup migrasi inkremental, tugas akan berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.
-
Jika tugas migrasi mencakup migrasi inkremental, tugas tidak akan berhenti secara otomatis. Tugas migrasi inkremental akan terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.
-
-
Informasi pemetaan
-
Di area Selected Objects, arahkan kursor ke nama topik tujuan pada tingkat tabel.
-
Klik Edit di sebelah nama topik tujuan.
-
Di kotak dialog Edit Table, konfigurasikan informasi pemetaan.
Catatan-
Kotak dialog ini bernama Edit Schema pada tingkat database dan Edit Table pada tingkat tabel. Kotak dialog Edit Schema memiliki lebih sedikit parameter.
-
Jika Anda tidak memigrasikan seluruh database, Anda tidak dapat memodifikasi parameter Name of target Topic dan Number of Partitions di kotak dialog Edit Schema.
Parameter
Deskripsi
Name of target Topic
Nama topik yang menerima data dari tabel sumber. Ini default ke Topic yang Anda pilih di bagian Destination Database selama langkah Configurations for Source and Destination Databases.
Penting-
Jika tujuannya adalah instans Message Queue for Apache Kafka, topik yang ditentukan harus sudah ada di instans tujuan. Jika tidak, tugas migrasi data akan gagal. Jika tujuannya adalah database Kafka yang di-host sendiri dan tugas migrasi data mencakup migrasi struktur database dan tabel, DTS akan mencoba membuat topik yang ditentukan di database tujuan.
-
Jika Anda mengubah Name of target Topic, DTS akan menulis data ke topik yang ditentukan.
Filter Conditions
Untuk informasi lebih lanjut, lihat Konfigurasikan kondisi filter.
Number of Partitions
Jumlah partisi di topik tujuan.
Partition Key
Parameter ini tersedia ketika Anda mengatur Policy for Shipping Data to Kafka Partitions ke Ship Data to Separate Partitions Based on Hash Values of Primary Keys. Anda dapat menentukan satu atau beberapa kolom sebagai kunci partisi. DTS kemudian menghitung nilai hash untuk kolom yang ditentukan dan menggunakannya untuk mendistribusikan baris ke partisi di topik tujuan.
CatatanAnda dapat memilih Partition Key hanya di kotak dialog Edit Table.
-
-
Klik OK.