Fitur pelacakan perubahan dari Data Transmission Service (DTS) menangkap data inkremental secara real-time dari database Anda. Data ini dapat dikonsumsi dan dituliskan ke destinasi sesuai kebutuhan. Kasus penggunaan umum meliputi:
Pembaruan cache: Batalkan validitas atau refresh entri cache saat data sumber berubah.
Penguraian keterkaitan layanan asinkron: Publikasikan perubahan database ke konsumen downstream tanpa keterkaitan ketat antar layanan.
Sinkronisasi data real-time: Jaga agar sumber data yang berbeda tetap sinkron tanpa menggunakan pekerjaan batch.
Operasi ekstrak, transformasi, dan muat (ETL) kompleks: Masukkan data inkremental yang terus-menerus tiba ke dalam pipeline transformasi.
Batasan database sumber
Sebelum menyiapkan pelacakan perubahan, pastikan database sumber Anda memenuhi persyaratan berikut. Melebihi ambang batas ini dapat menurunkan performa instans atau menyebabkan kegagalan tugas.
Persyaratan jaringan
| Persyaratan | Ambang batas | Catatan |
|---|---|---|
| Bandwidth jaringan | 100 Mb/s atau lebih tinggi | Bandwidth yang lebih rendah meningkatkan risiko keterlambatan selama periode traffic tinggi. |
| Round-trip time (RTT) antara database sumber dan DTS | Kurang dari 2 ms | Jarak fisik yang besar antara database dan layanan DTS akan meningkatkan RTT di atas 2 ms dan menyebabkan latensi. Misalnya, database di wilayah Singapura yang terhubung ke DTS melalui VPN di wilayah China (Hong Kong) dapat menghasilkan RTT jauh di atas 2 ms. |
Persyaratan layanan
| Persyaratan | Ambang batas | Catatan |
|---|---|---|
| Ukuran total log | Kurang dari 1 TB | Secara default, DTS menarik log untuk seluruh instansiasi basis data. Jika objek yang tidak termasuk dalam tugas pelacakan perubahan Anda menghasilkan aktivitas tulis yang intensif, volume log tersebut tetap dihitung terhadap batas ini dan dapat menyebabkan keterlambatan. |
| Ukuran rata-rata log per jam | Kurang dari 50 GB | — |
| Traffic puncak | Kurang dari 15 MB/s | — |
| Operasi DDL | Maksimal 10 pernyataan DDL per detik | Melebihi laju ini akan menunda tugas DTS. |
| Transaksi besar | Ukuran total log per transaksi harus kurang dari 100 GB | Transaksi yang melebihi 100 GB dapat menyebabkan tugas DTS gagal. |
Pembaruan bidang besar: Memperbarui volume data besar pada bidang CLOB, BLOB, atau LONG dapat menunda tugas DTS. Lakukan operasi semacam ini dalam batch yang lebih kecil, atau hindari sama sekali jika memungkinkan.
Tabel tanpa primary key: Penghapusan atau modifikasi yang sering pada tabel tanpa primary key dapat menunda tugas DTS. Minimalkan operasi semacam ini bila memungkinkan.
Solusi pelacakan perubahan
Kemampuan membuat tugas pelacakan perubahan lintas akun Alibaba Cloud bergantung pada jenis database dan jenis koneksi. Untuk membuat tugas cross-account, atur parameter Replicate Data Across Alibaba Cloud Accounts menjadi Yes untuk instansiasi basis data sumber. Untuk informasi selengkapnya, lihat Configure a task across Alibaba Cloud accounts.
Pilih database sumber Anda dari tabel di bawah ini untuk menemukan panduan konfigurasi yang sesuai.
Database yang dikelola Alibaba Cloud
| Database sumber | Versi yang didukung | Jenis perubahan yang didukung | Panduan konfigurasi |
|---|---|---|---|
| ApsaraDB RDS for MySQL | Semua versi | Pembaruan data, pembaruan skema | Create a change tracking task for an ApsaraDB RDS for MySQL instance |
| PolarDB for MySQL | Semua versi | Pembaruan data, pembaruan skema | Create a change tracking task for a PolarDB for MySQL cluster |
| PolarDB-X 1.0 | — | Pembaruan data, pembaruan skema | Create a change tracking task for a PolarDB-X 1.0 instance |
| PolarDB-X 2.0 | — | Pembaruan data, pembaruan skema | Create a change tracking task for a PolarDB-X 2.0 instance |
| PolarDB for PostgreSQL (Compatible with Oracle) | Semua versi | Hanya pembaruan data | Create a change tracking task for a PolarDB for PostgreSQL (Compatible with Oracle) cluster |
| ApsaraDB RDS for PostgreSQL | 9.4, 10, 11, 12, 13, 14, 15, 16, 17 | Hanya pembaruan data | Create a change tracking task for an ApsaraDB RDS for PostgreSQL instance |
| PolarDB for PostgreSQL | 11, 14, 15, 16 | Pembaruan data, pembaruan skema | Create a change tracking task for a PolarDB for PostgreSQL cluster |
| Data Management (DMS) logical database | — | Hanya pembaruan data | Create a change tracking task for a DMS logical database |
Batasan PolarDB-X: Database dalam instans PolarDB-X harus dibuat dari instans ApsaraDB RDS for MySQL. DTS tidak mendukung database PolarDB-X yang dibuat dari kluster PolarDB for MySQL.
Batasan database logis DMS: Database logis harus dibuat dari shard database dari beberapa kluster PolarDB for MySQL.
Database yang dikelola sendiri
| Database sumber | Versi yang didukung | Jenis perubahan yang didukung | Panduan konfigurasi |
|---|---|---|---|
| Self-managed MySQL | 5.1, 5.5, 5.6, 5.7, 8.0 | Pembaruan data, pembaruan skema | Create a change tracking task for an ApsaraDB RDS for MySQL instance |
| Self-managed Oracle (non-RAC) | 9i, 10g, 11g | Pembaruan data, pembaruan skema | Create a change tracking task for an Oracle database |
| Self-managed PostgreSQL | 9.4.8 dan versi setelahnya, 9.5, 9.6, 10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x, 17.x | Hanya pembaruan data | Create a change tracking task for an ApsaraDB RDS for PostgreSQL instance |