Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data inkremental dari PolarDB-X 2.0 ke DataHub secara real time.
Prasyarat
Anda telah mengaktifkan DataHub dan membuat proyek untuk menerima data yang disinkronkan. Untuk informasi selengkapnya, lihat Memulai sinkronisasi DataHub dan Membuat dan menghapus proyek.
Instans DataHub tujuan harus memiliki ruang penyimpanan lebih besar daripada instans PolarDB-X sumber.
Batasan
|
Type |
Description |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Perhatian lainnya |
DTS secara berkala memperbarui tabel |
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah banyak-ke-satu
Sinkronisasi satu arah cascade
Untuk informasi selengkapnya tentang topologi sinkronisasi dan pertimbangannya, lihat Topologi sinkronisasi.
Operasi SQL yang didukung
|
Operation type |
SQL statement |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
ADD COLUMN |
Perhatian
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 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 selengkapnya, lihat Mode sederhana dan Menyesuaikan 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.
Category
Parameter
Description
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.
Source Database
Select Existing Connection
-
Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
-
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.
Database Type
Pilih PolarDB-X 2.0.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans PolarDB-X 2.0 sumber berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menyinkronkan data dalam satu Akun Alibaba Cloud yang sama. Pilih No.
Instance ID
Pilih ID instans PolarDB-X 2.0 sumber.
Database Account
Masukkan akun database instans PolarDB-X 2.0 sumber. Akun tersebut harus memiliki izin REPLICATION SLAVE, REPLICATION CLIENT, dan SELECT pada objek yang Anda sinkronkan.
CatatanUntuk informasi cara memberikan izin, lihat Masalah izin akun selama sinkronisasi data.
Database Password
Masukkan password yang sesuai dengan akun database tersebut.
Destination Database
Select Existing Connection
-
Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
-
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.
Database Type
Pilih DataHub.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans DataHub tujuan berada.
Project
Pilih Project DataHub tujuan.
-
-
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 selengkapnya, lihat Menambahkan Blok CIDR alamat IP server DTS ke daftar putih.
Konfigurasikan objek tugas.
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.
Parameter
Description
Synchronization Types
Incremental Data Synchronization dipilih. Anda hanya dapat memilih Schema Synchronization. Full Data Synchronization tidak didukung.
CatatanSelama fase inisialisasi tugas sinkronisasi data, DTS menyinkronkan definisi skema objek sinkronisasi, seperti skema tabel, ke instans DataHub tujuan.
Naming Rules of Additional Columns
DTS menambahkan kolom tambahan ke topik tujuan selama sinkronisasi. Jika nama kolom ini bertentangan dengan kolom yang sudah ada di topik tujuan, tugas sinkronisasi akan gagal. Atur Naming Rules of Additional Columns menjadi New Rule atau Previous Rule sesuai kebutuhan bisnis Anda.
PeringatanSebelum memilih aturan, evaluasi apakah nama kolom tambahan bertentangan dengan kolom yang sudah ada di topik tujuan. Jika tidak, tugas mungkin gagal atau data dapat hilang. Untuk informasi selengkapnya, lihat Nama dan definisi kolom tambahan.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama sudah ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, Pemeriksaan Awal lolos. Jika ada tabel dengan nama yang sama, 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 selengkapnya, lihat Memetakan nama tabel dan kolom.
-
Ignore Errors and Proceed: Melewatkan pemeriksaan nama tabel duplikat di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Contohnya:
-
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 menyebabkan 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 case sensitivity untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, lihat Kebijakan case sensitivity untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda hanya dapat memilih tabel sebagai objek yang akan disinkronkan.
Selected Objects
-
Untuk mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects. Untuk informasi selengkapnya tentang mengganti nama objek, lihat Memetakan satu database, tabel, atau kolom.
-
Untuk mengganti nama beberapa objek sinkronisasi di instans tujuan sekaligus, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi selengkapnya, lihat Memetakan database, tabel, dan kolom secara batch.
CatatanUntuk memfilter data menggunakan klausa WHERE, klik kanan tabel yang ingin disinkronkan di panel Selected Objects. Di kotak dialog yang muncul, tentukan kondisi filter. Untuk informasi selengkapnya, lihat Memfilter data yang disinkronkan menggunakan kondisi SQL.
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Description
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 selengkapnya, 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 error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi kustom antara 10 hingga 1.440 menit. Kami menyarankan Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
Catatan-
Jika 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 menagih berdasarkan waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan durasi percobaan ulang sesuai kebutuhan bisnis 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-koneksi lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error 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 Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus lebih kecil daripada Retry Time for Failed Connections.
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).
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 cloning database sumber.
Environment Tag
Pilih tag lingkungan untuk mengidentifikasi instans. Dalam contoh ini, parameter ini tidak diperlukan.
Configure ETL
Pilih apakah akan mengaktifkan fitur extract, transform, and load (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 Mengonfigurasi 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: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan menentukan pemberitahuan peringatan. Untuk informasi selengkapnya, lihat Mengonfigurasi pemantauan peringatan selama konfigurasi tugas.
-
-
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 balon info.
-
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan Pemeriksaan Awal. Pekerjaan 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 Pemeriksaan Awal lagi.
-
Jika Pemeriksaan Awal mengembalikan peringatan:
-
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di samping item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan Pemeriksaan Awal lagi.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewatkan peringatan dan menjalankan Pemeriksaan Awal ulang. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan membahayakan bisnis Anda.
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara detail.
Category
Parameter
Description
New Instance Class
Billing Method
-
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan pay-as-you-go. Semakin lama durasi langganan, semakin tinggi diskonnya.
-
Pay-as-you-go: Anda ditagih 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 selengkapnya, lihat Apa itu Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link 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 saat 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.
-
Skema topik DataHub
Saat DTS menyinkronkan data inkremental ke topik DataHub, DTS menambahkan kolom metadata ke topik tersebut.
Dalam contoh ini,id,name, danaddressadalah field data. Saat menggunakan aturan penamaan sebelumnya, DTS menambahkan awalandts_ke semua field, termasuk field asli dari sumber. Saat menggunakan aturan penamaan baru, DTS tidak menambahkan awalan ke field asli dari sumber.

Previous column name | New column name | Type | Description |
|
| String | ID unik dari entri log inkremental. Auto-increments untuk setiap entri baru. Dalam skenario disaster recovery, rollback dapat menyebabkan duplikasi ID. Untuk operasi UPDATE, kedua entri log (sebelum dan sesudah update) memiliki |
|
| String | Jenis operasi. Nilai yang valid: |
|
| String | Server ID database. |
|
| String | Nama database. |
|
| String | Nama tabel. |
|
| String | Timestamp operasi dalam UTC. Ini juga merupakan timestamp file log. |
|
| String | Menunjukkan apakah nilai baris adalah nilai sebelum update. Nilai yang valid: |
|
| String | Menunjukkan apakah nilai baris adalah nilai setelah update. Nilai yang valid: |
Nilai flag before dan after
Kolom dts_before_flag dan dts_after_flag menunjukkan apakah baris dalam topik merepresentasikan status sebelum atau sesudah perubahan data.
Operation | Log entries generated | dts_before_flag | dts_after_flag | Row content |
INSERT | 1 |
|
| Nilai yang baru dimasukkan. |
DELETE | 1 |
|
| Nilai yang dihapus. |
UPDATE (entri pertama) | 2 (dengan |
|
| Nilai sebelum update. |
UPDATE (entri kedua) | 2 (dengan |
|
| Nilai setelah update. |
Operasi INSERT
Entri log berisi nilai yang baru dimasukkan. dts_before_flag adalah N dan dts_after_flag adalah Y.
Operasi UPDATE
DTS menghasilkan dua entri log dengan nilai dts_record_id, dts_operation_flag, dan dts_utc_timestamp yang sama. Entri pertama menangkap nilai sebelum update (dts_before_flag=Y, dts_after_flag=N). Entri kedua menangkap nilai setelah update (dts_before_flag=N, dts_after_flag=Y).

Operasi DELETE
Entri log berisi nilai yang dihapus. dts_before_flag adalah Y dan dts_after_flag adalah N.
