DataWorks Data Integration mendukung sinkronisasi data mulus di berbagai sumber data seperti MySQL, MaxCompute, Hologres, dan Kafka. Data Integration menyediakan solusi sinkronisasi batch, sinkronisasi waktu nyata, serta migrasi database lengkap untuk kasus penggunaan seperti ETL batch, replikasi data real-time dengan latensi detik, dan migrasi database penuh.
Solusi sinkronisasi
Solusi | Sumber | Tujuan | Latensi | Kasus penggunaan |
Sync tabel tunggal (batch) | Satu tabel | Satu tabel atau partisi | Batch harian atau sinkronisasi periodik | Sync penuh atau inkremental periodik |
Sync basis data dan tabel terpecah (batch) | Banyak tabel dengan skema identik | Satu tabel atau partisi | Harian atau interval kustom | Penuh periodik, inkremental periodik |
Sync tabel tunggal (waktu nyata) | Satu tabel | Satu tabel atau partisi | Beberapa menit atau detik | Inkremental waktu nyata (CDC) |
Sync basis data dan tabel terpecah (waktu nyata) | Banyak tabel logis (digabungkan dari tabel fisik) | Satu atau banyak tabel | Beberapa menit atau detik | Penuh + inkremental waktu nyata (CDC) |
Sync basis data lengkap (batch) | Seluruh basis data atau banyak tabel | Banyak tabel dan partisi mereka | Sekali atau periodik | Penuh sekali/periodik, inkremental sekali/periodik, penuh sekali + inkremental periodik |
Sync basis data lengkap (waktu nyata) | Seluruh basis data atau banyak tabel | Banyak tabel dan partisi mereka | Beberapa menit atau detik | Penuh + inkremental waktu nyata (CDC) |
Sync basis data penuh dan inkremental (hampir waktu nyata) | Seluruh basis data atau banyak tabel | Banyak tabel dan partisi mereka |
| Penuh + inkremental waktu nyata (CDC) |
Solusi sinkronisasi yang direkomendasikan
Pilih pendekatan sinkronisasi data Anda berdasarkan faktor-faktor utama berikut:
Persyaratan kesegaran data: batch atau waktu nyata.
Skala dan kompleksitas data: jumlah tabel yang akan disinkronkan serta logika pemrosesannya.
Berdasarkan faktor-faktor ini, kami merekomendasikan dua kategori utama solusi sinkronisasi: batch dan waktu nyata.
1. Solusi sinkronisasi batch (batch harian atau sinkronisasi periodik)
Solusi ini cocok untuk kasus penggunaan yang tidak memerlukan ketepatan data tinggi (misalnya, batch harian) dan melibatkan pemrosesan batch periodik.
Sinkronisasi inkremental memerlukan bidang untuk melacak perubahan data, seperti kolom timestamp (last_modified) atau ID auto-increment. Tanpa bidang tersebut, jalankan sinkronisasi penuh secara berkala sebagai gantinya.
a. Pilih "Sync tabel tunggal (batch)"
Ideal untuk logika pemrosesan kustom pada sejumlah kecil sumber data yang beragam.
Keuntungan Inti: Logika pemrosesan fleksibel.
Transformasi canggih: Mendukung pemetaan bidang kompleks, penyaringan, pengayaan, dan pemrosesan berbasis AI.
Integrasi sumber heterogen: Pilihan terbaik untuk memproses sumber data non-standar seperti API dan file log.
Keterbatasan Inti: Mahal untuk diskalakan.
Overhead konfigurasi: Mengelola tugas individu menjadi mahal saat diskalakan.
Konsumsi sumber daya tinggi: Setiap tugas dijadwalkan secara independen. Konsumsi sumber daya untuk menyinkronkan 100 tabel independen jauh lebih besar dibandingkan satu tugas basis data lengkap.
Lihat juga: Tugas Sinkronisasi Offline untuk Tabel Tunggal
b. Pilih "Sync basis data lengkap (batch)"
Migrasikan volume besar tabel homogen antar sistem secara efisien.
Keuntungan Inti: Efisiensi operasional tinggi dan biaya rendah.
Efisien: Konfigurasikan ratusan tabel sekaligus dengan pencocokan objek otomatis, meningkatkan efisiensi pengembangan secara signifikan.
Biaya efektif: Sumber daya dioptimalkan melalui penjadwalan terpadu, menghasilkan biaya sangat rendah (misalnya, satu tugas basis data lengkap mungkin mengonsumsi 2 CU dibandingkan 100 CU untuk tugas tabel tunggal setara).
Skenario tipikal: Membangun lapisan ODS gudang data, cadangan basis data periodik, dan migrasi data cloud.
Keterbatasan Inti: Logika pemrosesan sederhana.
Dirancang terutama untuk replikasi dan tidak mendukung logika transformasi kompleks untuk tabel individu.
Solusi yang Direkomendasikan: Tugas Sinkronisasi Offline Basis Data Lengkap.
2. Solusi sinkronisasi waktu nyata (latensi sub-menit)
Solusi waktu nyata cocok untuk aplikasi yang memerlukan penangkapan perubahan data real-time (insert, delete, update) dari sumber untuk mendukung analitik waktu nyata dan pengambilan keputusan cepat.
Sumber harus mendukung Change Data Capture (CDC) atau merupakan antrian pesan. Misalnya, MySQL memerlukan binary logging (Binlog), sedangkan Kafka berfungsi sebagai antrian pesan asli.
Pilih "sync tabel tunggal waktu nyata" atau "sync basis data waktu nyata"
Sync Tabel Tunggal Waktu Nyata: Cocok untuk kasus yang memerlukan pemrosesan kompleks aliran perubahan waktu nyata dari satu tabel.
Sync Basis Data Waktu Nyata: Solusi standar untuk membangun gudang data dan danau data waktu nyata, serta menerapkan pemulihan bencana basis data waktu nyata. Ini menawarkan keunggulan signifikan dalam efisiensi dan biaya.
Solusi yang Direkomendasikan:Tugas Sinkronisasi Tabel Tunggal Waktu Nyata; Tugas Sinkronisasi Basis Data Waktu Nyata
3. Kasus khusus: Menyinkronkan data waktu nyata ke tabel hanya-append
Sinkronisasi waktu nyata menangkap peristiwa CDC termasuk insert, update, dan delete. Untuk sistem penyimpanan hanya-append seperti tabel non-Delta MaxCompute yang tidak mendukung operasi Update dan Delete fisik secara asli, menulis aliran CDC mentah langsung mengakibatkan ketidaksesuaian data (misalnya, operasi delete diabaikan).
Solusi DataWorks: Tabel Base + Log
Solusi ini menyelesaikan masalah dengan membuat
Tabel Base(snapshot lengkap) danTabel Log(perubahan inkremental) di tujuan.Metode penulisan: Aliran data CDC ke
Tabel Logsecara real time. Harian, sistem secara otomatis menjadwalkan tugas untuk menggabungkan perubahan dariTabel LogkeTabel Base, menghasilkan snapshot lengkap terbaru. Pendekatan ini memastikan bahwa perubahan ditulis ke tabel inkremental dalam beberapa menit dan digabungkan ke Tabel Base setiap hari.
Solusi yang Direkomendasikan: Tugas Sinkronisasi Penuh dan Inkremental (Hampir Waktu Nyata).
Kemampuan baca/tulis sumber data
Sumber data | Sync tabel tunggal (batch) | Sync tabel tunggal (waktu nyata) | Sync basis data lengkap (batch) | Sync basis data lengkap (waktu nyata) | Sync basis data penuh dan inkremental (hampir waktu nyata) |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | Tulis | Baca | Tulis | - | |
Baca/Tulis | - | Baca | - | - | |
Baca/Tulis | - | - | Baca | Baca | |
Baca | - | - | - | - | |
Baca | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | Baca/Tulis | - | Tulis | - | |
Tulis | Tulis | - | Tulis | - | |
Baca/Tulis | - | Baca | - | - | |
Baca/Tulis | Tulis | - | - | - | |
Baca/Tulis | - | Baca | - | - | |
Baca/Tulis | - | Baca | - | - | |
Elasticsearch | Baca/Tulis | Tulis | Tulis | Tulis | - |
Baca/Tulis | - | - | - | - | |
GBase8a | Baca/Tulis | - | - | - | - |
HBase |
| - | - | - | - |
Baca/Tulis | - | - | - | - | |
Hive | Baca/Tulis | - | Tulis | - | - |
Baca/Tulis | Baca/Tulis | Baca/Tulis | Tulis | - | |
Baca | - | - | - | - | |
Baca/Tulis | Baca/Tulis | - | Tulis | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | Baca | - | - | - | |
Baca/Tulis | Tulis | Tulis | - | Tulis | |
Baca/Tulis | - | - | - | - | |
Tulis | - | - | - | - | |
Tulis | - | - | - | - | |
Baca | - | - | - | - | |
Tulis | - | - | - | - | |
Baca/Tulis | - | - | Baca | - | |
Baca/Tulis | Baca | Baca | Baca | Baca | |
Tulis | - | - | - | - | |
Baca/Tulis | Baca | Baca | Baca | Baca | |
Baca/Tulis | Tulis | Tulis | - | - | |
Baca/Tulis | Tulis | - | - | - | |
Baca/Tulis | Baca | Baca | Baca | Baca | |
Baca/Tulis | - | Baca | Baca | - | |
Baca/Tulis | - | Baca | Baca | - | |
Tulis | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Tulis | - | - | - | - | |
Baca/Tulis | Tulis | Tulis | - | - | |
Baca/Tulis | - | Baca | - | - | |
Baca/Tulis | Tulis | - | - | - | |
Baca/Tulis | - | - | - | - | |
Baca/Tulis | - | - | - | - | |
Tulis | - | - | - | - | |
Vertica | Baca/Tulis | - | - | - | - |
Baca | - | - | - | - |
Kasus penggunaan
Referensi
Dokumen Data Integration berikut membantu Anda memulai dengan cepat.
Untuk konfigurasi sumber data, lihat Manajemen Sumber Data.
Untuk konfigurasi tugas sinkronisasi, lihat:
Untuk masalah umum sinkronisasi data, lihat FAQ.