Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari instans PolarDB-X 1.0 ke kluster AnalyticDB for MySQL 3.0 dan mencapai sinkronisasi data inkremental secara real-time.
Prasyarat
-
Anda telah membuat instans PolarDB-X 1.0. Jika belum, lihat Buat instans PolarDB-X 1.0 dan Buat database.
CatatanPenyimpanan untuk instans PolarDB-X 1.0 harus berupa ApsaraDB RDS for MySQL, baik berupa instans RDS yang dikustomisasi secara privat maupun instans RDS yang dibeli terpisah. PolarDB for MySQL tidak didukung.
-
Pastikan set karakter data yang akan disinkronkan bukan utf8mb3. Jika tidak, tugas sinkronisasi data inkremental akan gagal.
-
Anda telah membuat kluster tujuan AnalyticDB for MySQL 3.0. Kluster tersebut harus memiliki ruang penyimpanan yang tersedia lebih besar daripada yang digunakan oleh instans sumber PolarDB-X 1.0. Jika Anda belum membuat kluster, lihat Buat kluster.
Catatan penggunaan
-
Selama sinkronisasi skema, DTS tidak menyinkronkan kunci asing dari database sumber ke database tujuan.
-
Selama sinkronisasi data penuh dan sinkronisasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala dan operasi kaskade kunci asing pada tingkat session. Jika Anda melakukan operasi pembaruan atau penghapusan kaskade pada database sumber saat tugas sedang berjalan, ketidakkonsistenan data dapat terjadi.
|
Kategori |
Deskripsi |
|
Batasan pada database sumber |
|
|
Batasan lainnya |
|
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah kaskade
Sinkronisasi satu arah banyak-ke-satu
Untuk informasi lebih lanjut tentang topologi sinkronisasi dan batasannya, lihat Pengantar topologi sinkronisasi data.
Operasi SQL yang didukung
|
Jenis operasi |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, dan DELETE Catatan
Saat Anda menulis data ke AnalyticDB for MySQL, sistem secara otomatis mengonversi pernyataan |
Izin yang diperlukan untuk akun database
|
Database |
Izin yang diperlukan |
Pembuatan dan otorisasi |
|
Instans sumber PolarDB-X 1.0 |
Izin baca pada objek yang akan disinkronkan. |
|
|
Kluster tujuan AnalyticDB for MySQL 3.0 |
Izin baca dan tulis pada database tujuan tempat objek akan disinkronkan. |
Prosedur
Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:
Dari Konsol DTS
Masuk ke Konsol Data Transmission Service (DTS).
Di panel navigasi sebelah kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Mode simple dan Sesuaikan tata letak dan gaya antarmuka DMS.
Masuk ke Data Management (DMS).
Di bilah menu atas, pilih .
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
Kategori
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.
Source Database
Database Type
Pilih PolarDB-X 1.0.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber PolarDB-X 1.0 berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.
Instance ID
Pilih ID instans sumber PolarDB-X 1.0.
Database Account
Masukkan akun database untuk instans sumber PolarDB-X 1.0. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database.
Destination Database
Database Type
Pilih AnalyticDB for MySQL 3.0.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat kluster tujuan AnalyticDB for MySQL 3.0 berada.
Instance ID
Pilih ID instans tujuan AnalyticDB for MySQL 3.0.
Database Account
Masukkan akun database untuk kluster tujuan AnalyticDB for MySQL 3.0. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database.
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
CatatanPastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi lebih lanjut, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.
Parameter
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
CatatanJika Anda memilih Full Data Synchronization, skema dan data tabel yang dibuat menggunakan pernyataan CREATE TABLE dapat disinkronkan ke database tujuan.
DDL and DML Operations to Be Synchronized
Pilih operasi SQL untuk sinkronisasi data inkremental pada tingkat instans. Untuk daftar operasi yang didukung, lihat Operasi SQL yang didukung.
CatatanUntuk memilih operasi SQL pada tingkat database atau tabel, klik kanan objek sinkronisasi di bagian Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
Merge Tables
Pilih Yes: Dalam skenario OLTP, sharding database dan tabel sering digunakan untuk meningkatkan waktu respons tabel bisnis. Dalam skenario OLAP, seperti database tujuan dalam contoh ini, satu tabel data dapat menyimpan data dalam jumlah besar, sehingga kueri tabel tunggal lebih nyaman. Dalam skenario seperti ini, Anda dapat menggunakan fitur penggabungan multi-tabel DTS untuk menyinkronkan beberapa tabel dengan skema yang sama (tabel sharded) dari database sumber ke satu tabel di database tujuan. Untuk petunjuk spesifik, lihat Aktifkan penggabungan multi-tabel.
CatatanSetelah memilih beberapa tabel dari database sumber, Anda harus menggunakan fitur pemetaan nama objek untuk mengubah nama tabel tersebut menjadi nama tabel yang sama di database tujuan. Untuk informasi lebih lanjut tentang fitur pemetaan nama objek, lihat Pemetaan nama tabel dan kolom.
DTS menambahkan kolom
__dts_data_sourcebertipe teks ke tabel tujuan untuk menyimpan sumber data. Nilai kolom menggunakan formatDTS instance ID:database name:schema name:table nameuntuk mengidentifikasi sumber tabel, misalnyadts********:dtstestdata:testschema:customer1.Fitur penggabungan multi-tabel berlaku pada tingkat tugas, artinya Anda tidak dapat melakukan penggabungan multi-tabel pada tingkat tabel. Jika Anda ingin menggabungkan beberapa tabel tetapi tidak yang lain, Anda perlu membuat dua tugas sinkronisasi data.
PeringatanJangan jalankan operasi DDL untuk mengubah skema database atau tabel di database sumber. Jika tidak, ketidakkonsistenan data atau kegagalan tugas sinkronisasi dapat terjadi.
Pilih No. Ini adalah opsi default.
Processing Mode of Conflicting Tables
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan awal lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi lebih lanjut, lihat Pemetaan nama tabel dan kolom.
Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Misalnya:
Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber:
Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.
Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.
Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal. Hal ini dapat mengakibatkan hanya data kolom sebagian yang disinkronkan atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi lebih lanjut, lihat Kebijakan sensitivitas huruf besar/kecil untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanKami menyarankan agar Anda memilih tabel sebagai objek sinkronisasi. Jika Anda memilih seluruh database, perubahan penambahan atau penghapusan tabel di database tersebut tidak disinkronkan ke database tujuan.
Selected Objects
Untuk mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects. Untuk informasi lebih lanjut tentang mengganti nama objek, lihat Pemetaan satu database, tabel, atau kolom.
Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi lebih lanjut, lihat Pemetaan database, tabel, dan kolom secara batch.
Catatan-
Untuk memilih operasi SQL pada tingkat database atau tabel, klik kanan objek sinkronisasi di bagian Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
-
Untuk memfilter data menggunakan kondisi WHERE, klik kanan tabel yang akan disinkronkan di bagian Selected Objects dan tentukan kondisi filter di kotak dialog yang muncul. Untuk informasi lebih lanjut, lihat Tetapkan kondisi filter.
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi lebih lanjut, lihat Apa itu kluster khusus DTS?.
Retry Time for Failed Connections
Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami menyarankan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.
CatatanJika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.
Karena DTS membebankan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan agar Anda menyesuaikan durasi 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 sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera memulai operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).
CatatanItem konfigurasi ini hanya tersedia ketika Synchronization Types diatur ke Full Data Synchronization.
Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan bisnis Anda. Untuk contoh ini, Anda tidak perlu memilih tag.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
No: Tidak ada peringatan yang dikonfigurasi.
Yes: Konfigurasi peringatan dengan mengatur ambang batas peringatan dan menentukan pemberitahuan peringatan. Untuk informasi lebih lanjut, lihat Konfigurasi pemantauan peringatan selama konfigurasi tugas.
Opsional: Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Database and Table Fields untuk mengatur Type, Primary Key Column, Distribution Key, dan informasi kunci partisi (Partition Key, Partitioning Rules, dan Partition Lifecycle) untuk tabel yang akan disinkronkan di database tujuan.
CatatanLangkah ini hanya tersedia jika Anda memilih Schema Synchronization untuk Synchronization Types saat mengonfigurasi objek tugas. Anda kemudian dapat mengatur Definition Status ke All untuk melakukan modifikasi.
Primary Key Column dapat berupa primary key komposit yang terdiri dari beberapa kolom. Anda harus memilih satu atau beberapa kolom dari Primary Key Column untuk berfungsi sebagai Distribution Key dan Partition Key. Untuk informasi lebih lanjut, lihat CREATE TABLE.
-
Simpan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung yang muncul.
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum tugas sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Tugas hanya dapat dimulai setelah semua item pemeriksaan awal lolos.
Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan kembali pemeriksaan awal.
Jika pemeriksaan awal mengembalikan peringatan:
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan kembali pemeriksaan awal.
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
Beli instans.
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
Di halaman Purchase, pilih metode penagihan dan spesifikasi tautan untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara rinci.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.
Pay-as-you-go: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.
Resource Group Configuration
Kelompok sumber daya tempat instans berada. Default-nya adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan berbagai tingkat kinerja. Spesifikasi tautan sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Spesifikasi tautan sinkronisasi data.
Subscription Duration
Dalam mode subscription, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya tersedia ketika metode penagihan adalah Subscription.
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Data Synchronization.