Gunakan Data Transmission Service (DTS) untuk menyinkronkan data inkremental dari instans PolarDB-X 1.0 ke proyek DataHub guna pemrosesan dan analitik data secara real-time.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Mengaktifkan instans DataHub dengan proyek yang telah dibuat untuk menerima data yang disinkronkan. Lihat Memulai DataHub dan Mengelola proyek.
Memiliki ruang penyimpanan yang cukup di proyek DataHub tujuan — lebih besar dari ukuran total data di instans PolarDB-X 1.0 sumber.
Batasan
DTS tidak menyinkronkan foreign key dari database sumber ke database tujuan. Operasi cascade dan delete pada sumber tidak diteruskan ke tujuan.
Jenis sinkronisasi yang didukung
Hanya sinkronisasi data inkremental dan sinkronisasi skema yang didukung. Sinkronisasi data penuh tidak didukung.
Hanya tabel yang dapat dipilih sebagai objek sinkronisasi. Setelah tugas dimulai, DTS tidak menyinkronkan kolom yang ditambahkan ke database sumber ke proyek DataHub tujuan.
Batasan database sumber
Tabel harus memiliki primary key atau kendala UNIQUE, dan semua field harus unik. Tabel yang hanya memiliki kendala UNIQUE tidak mendukung sinkronisasi skema — gunakan tabel dengan kendala primary key. Tabel dengan secondary indexes tidak dapat disinkronkan.
Jika Anda memilih tabel sebagai objek sinkronisasi dan ingin mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 5.000 tabel. Untuk lebih dari 5.000 tabel, konfigurasikan beberapa tugas atau sinkronkan seluruh database.
Jenis storage instans PolarDB-X 1.0 harus berupa ApsaraDB RDS for MySQL (instans kustom atau instans yang dibeli). PolarDB for MySQL tidak didukung.
Sumber daya storage PolarDB-X 1.0 hanya mendukung pemisahan horizontal (database dan tabel). Pemisahan vertikal tidak didukung.
Instans read-only di lapisan komputasi PolarDB-X 1.0 tidak didukung.
Persyaratan log biner
Persyaratan berikut berlaku untuk binary logs instans ApsaraDB RDS for MySQL yang terhubung ke instans PolarDB-X 1.0:
Binary logging harus diaktifkan, dan parameter
binlog_row_imageharus diatur kefull. Jika tidak, pemeriksaan awal gagal dan tugas tidak dapat dimulai.Untuk sinkronisasi data inkremental, binary logs harus dipertahankan selama minimal 24 jam.
Untuk sinkronisasi data penuh dan inkremental, binary logs harus dipertahankan selama minimal tujuh hari.
Jika binary logs tidak dipertahankan sesuai durasi yang diperlukan, DTS mungkin gagal mengambilnya, yang dapat menyebabkan kegagalan tugas atau kehilangan data. Setelah sinkronisasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Pastikan Anda mengatur periode retensi binary logs sesuai persyaratan di atas. Jika tidak, keandalan layanan dan kinerja yang dinyatakan dalam Service Level Agreement (SLA) DTS tidak dapat tercapai.
Batasan operasional
Selama sinkronisasi data:
Jangan melakukan scaling pada instans sumber (termasuk instans ApsaraDB RDS for MySQL yang terhubung) atau mengubah distribusi database fisik untuk database atau tabel logis.
Jangan migrasi tabel hot, ubah shard key, atau lakukan operasi DDL Online pada instans sumber. Melakukannya menyebabkan kegagalan tugas atau ketidakkonsistenan data.
Jangan gunakan gh-ost atau pt-online-schema-change untuk melakukan operasi DDL pada objek yang disinkronkan.
Tulis data ke database tujuan hanya melalui DTS. Menggunakan alat lain untuk menulis ke tujuan dapat menyebabkan ketidakkonsistenan data, dan kehilangan data mungkin terjadi saat DMS melakukan operasi DDL Online.
Jika Anda mengubah jenis jaringan instans PolarDB-X 1.0 selama sinkronisasi, perbarui informasi koneksi jaringan di konfigurasi tugas setelahnya.
Sebelum menyinkronkan data, evaluasi dampak sinkronisasi data terhadap kinerja database sumber dan tujuan. Kami menyarankan agar Anda menyinkronkan data selama jam sepi.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Untuk detailnya, lihat Ikhtisar penagihan. |
Topologi sinkronisasi yang didukung
DTS mendukung topologi sinkronisasi satu arah berikut untuk skenario ini:
Satu-ke-satu
Satu-ke-banyak
Cascade
Banyak-ke-satu
Untuk daftar lengkap topologi yang didukung, lihat Topologi sinkronisasi.
Operasi SQL yang dapat disinkronkan
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | ADD COLUMN |
Izin yang diperlukan
| Database | Izin yang diperlukan |
|---|---|
| Instans PolarDB-X 1.0 sumber | Izin baca pada objek yang akan disinkronkan. Lihat Mengelola akun. |
Buat tugas sinkronisasi
Langkah 1: Buka halaman Tugas Sinkronisasi Data
Masuk ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik Data + AI.
Di panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.
Langkah navigasi dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk detailnya, lihat Mode simple dan Menyesuaikan tata letak dan gaya Konsol DMS. Atau, buka langsung halaman Tugas Sinkronisasi Data di Konsol DTS baru.
Langkah 2: Konfigurasi database sumber dan tujuan
Pilih wilayah tempat instans sinkronisasi data berada.
Di Konsol DTS baru, pilih wilayah di bilah navigasi atas.
Klik Create Task. Di wizard, konfigurasikan parameter berikut.
Pengaturan tugas
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. |
Database sumber
| Parameter | Deskripsi |
|---|---|
| Select a DMS database instance | Pilih instans database yang sudah ada untuk mengisi parameter secara otomatis, atau konfigurasikan database secara manual. |
| Database Type | Pilih PolarDB-X 1.0. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans PolarDB-X 1.0 sumber berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No jika sumber dan tujuan berada dalam akun Alibaba Cloud yang sama. |
| Instance ID | ID instans PolarDB-X 1.0 sumber. |
| Database Account | Akun database instans sumber. Lihat bagian Izin yang diperlukan untuk izin yang dibutuhkan. |
| Database Password | Password untuk akun database. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select a DMS database instance | Pilih instans database yang sudah ada untuk mengisi parameter secara otomatis, atau konfigurasikan database secara manual. |
| Database Type | Pilih DataHub. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat proyek DataHub tujuan berada. |
| Project | Nama proyek DataHub tujuan. |
Langkah 3: Uji konektivitas dan lanjutkan
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB). Untuk database yang dikelola sendiri pada instance Elastic Compute Service (ECS), DTS menambahkan blok CIDR-nya ke aturan grup keamanan ECS — pastikan instance ECS dapat mengakses database. Untuk database pada beberapa instance ECS, tambahkan secara manual blok CIDR DTS ke aturan grup keamanan setiap instance. Untuk database on-premises atau cloud pihak ketiga, tambahkan secara manual blok CIDR DTS ke daftar putih database. Untuk daftar lengkap blok CIDR, lihat Tambahkan blok CIDR server DTS.
Menambahkan blok CIDR DTS ke daftar putih database atau aturan grup keamanan ECS menimbulkan risiko keamanan. Sebelum menggunakan DTS, ambil langkah pencegahan seperti: menggunakan kredensial yang kuat, membatasi port yang terbuka, mengotentikasi panggilan API, meninjau secara berkala daftar putih dan aturan grup keamanan, serta menghubungkan DTS ke database Anda melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 4: Konfigurasi objek dan pengaturan
Pengaturan dasar
| Parameter | Deskripsi |
|---|---|
| Synchronization Types | Incremental Data Synchronization dipilih secara default. Anda juga dapat memilih hanya Schema Synchronization. Full Data Synchronization tidak tersedia untuk kombinasi sumber-tujuan ini. Selama sinkronisasi skema, DTS menyinkronkan skema objek yang dipilih (seperti tabel) ke proyek DataHub tujuan. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors (default): memeriksa apakah tujuan memiliki tabel dengan nama yang sama seperti sumber. Jika nama identik ada, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Untuk menangani konflik, gunakan fitur pemetaan nama objek untuk mengganti nama tabel di tujuan. Lihat Pemetaan nama objek. Ignore Errors and Proceed: melewatkan pemeriksaan awal untuk nama tabel identik. Peringatan Memilih opsi ini dapat menyebabkan ketidakkonsistenan data. Jika skema cocok dan catatan dengan primary key atau unique key yang sama ada di tujuan: selama sinkronisasi penuh, catatan tujuan dipertahankan; selama sinkronisasi inkremental, catatan tujuan ditimpa. Jika skema berbeda, inisialisasi mungkin gagal atau hanya beberapa kolom yang disinkronkan. |
| Naming Rules of Additional Columns | Selama sinkronisasi ke proyek DataHub, DTS menambahkan kolom tambahan ke topik tujuan. Jika nama kolom ini bertentangan dengan kolom yang sudah ada di topik, sinkronisasi gagal. Atur ini ke New Rule atau Previous Rule sesuai kebutuhan Anda. Sebelum mengubah pengaturan ini, verifikasi bahwa kolom tambahan dan kolom yang ada tidak memiliki konflik nama. Lihat Ubah aturan penamaan untuk kolom tambahan. |
| Capitalization of Object Names in Destination Instance | Kebijakan kapitalisasi untuk nama database, tabel, dan kolom di tujuan. Default: Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek di instans tujuan. |
| Source Objects | Pilih satu atau beberapa objek dan klik |
| Selected Objects | Untuk mengganti nama satu objek di tujuan, klik kanan objek tersebut. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di kanan atas. Untuk detailnya, lihat Pemetaan nama objek. Untuk memfilter baris menggunakan kondisi WHERE, klik kanan objek dan tentukan kondisinya. Lihat Tentukan kondisi filter. |
Pengaturan lanjutan
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | Konfigurasikan peringatan untuk tugas sinkronisasi. Pilih Yes untuk mengatur ambang batas peringatan dan kontak notifikasi — peringatan dipicu ketika tugas gagal atau latensi sinkronisasi melebihi ambang batas. Lihat Konfigurasi pemantauan dan peringatan. Pilih No untuk menonaktifkan peringatan. |
| Retry Time for Failed Connections | Durasi DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Nilai valid: 10–1440 menit. Default: 720. Atur minimal 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan; jika tidak, tugas gagal. Jika beberapa tugas berbagi sumber atau tujuan yang sama, jendela retry terpendek yang berlaku. Biaya DTS tetap berjalan selama upaya retry, jadi atur nilai ini sesuai kebutuhan dan segera rilis instans jika tidak lagi diperlukan. |
| Configure ETL | Pilih Yes untuk mengaktifkan ekstrak, transformasi, muat (ETL) dan masukkan pernyataan pemrosesan data di editor kode. Pilih No untuk melewatkan ETL. Lihat Apa itu ETL? dan Konfigurasi ETL dalam tugas sinkronisasi data. |
Langkah 5: Simpan pengaturan dan jalankan pemeriksaan awal
Untuk melihat pratinjau parameter OpenAPI untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Klik Next: Save Task Settings and Precheck.
DTS menjalankan pemeriksaan awal sebelum tugas dapat dimulai. Jika pemeriksaan awal gagal, klik View Details di samping setiap item yang gagal, selesaikan masalahnya, lalu jalankan kembali pemeriksaan awal. Jika peringatan pemeriksaan awal dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 6: Beli instans sinkronisasi
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman pembelian, konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Billing Method | Subscription: bayar di muka untuk durasi tetap. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: ditagih per jam. Cocok untuk penggunaan jangka pendek. Rilis instans saat tidak lagi diperlukan untuk menghentikan tagihan. |
| Resource Group Settings | Kelompok sumber daya untuk instans sinkronisasi. Default: default resource group. Lihat Apa itu Resource Management?. |
| Instance Class | Menentukan kecepatan sinkronisasi. Lihat Kelas instans untuk instansi sinkronisasi data. |
| Subscription Duration | Hanya tersedia untuk metode penagihan Subscription. Opsi: 1–9 bulan, atau 1, 2, 3, atau 5 tahun. |
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start, lalu klik OK di dialog konfirmasi.
Tugas muncul di daftar tugas. Saat DTS menyinkronkan data dari instans PolarDB-X 1.0, data didistribusikan di seluruh instans ApsaraDB RDS for MySQL yang terhubung, dan DTS menjalankan subtask untuk setiap instans. Lihat status berjalan setiap subtask di Task Topology.
Langkah selanjutnya
Pantau tugas sinkronisasi dari daftar tugas untuk memastikan tugas berjalan sesuai harapan.
Untuk melihat dan mengelola data yang disinkronkan di proyek DataHub tujuan, lihat Mengelola proyek.
Untuk menyesuaikan pengaturan peringatan setelah tugas dimulai, lihat Konfigurasi pemantauan dan peringatan.