DataWorks menyediakan fitur sinkronisasi data real-time yang memungkinkan Anda melakukan sinkronisasi inkremental secara real-time dari satu tabel atau seluruh database sumber ke database tujuan. Topik ini menjelaskan cara membuat tugas sinkronisasi real-time untuk data inkremental serta memeriksa status eksekusinya setelah dibuat.
Prasyarat
Sumber data telah dikonfigurasi. Sebelum mengonfigurasi tugas sinkronisasi real-time, pastikan database sumber dan tujuan telah disiapkan agar Anda dapat mengontrol operasi baca dan tulis dengan memilih nama sumber data dalam tugas sinkronisasi. Untuk informasi lebih lanjut, lihat Sumber data yang didukung dan solusi sinkronisasi.
Kelompok sumber daya arsitektur tanpa server telah digunakan dan disambungkan ke ruang kerja.
Koneksi jaringan telah dibuat antara kelompok sumber daya dan sumber data. Untuk informasi lebih lanjut, lihat Solusi konektivitas jaringan.
Langkah 1: Membuat node sinkronisasi real-time
Ikuti langkah-langkah berikut untuk membuat node sinkronisasi real-time.
Buka halaman Ruang Kerja di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan dan pilih pada kolom Actions.
Buat node sinkronisasi real-time.
Pada panel navigasi di sebelah kiri, klik ikon
. Di pohon direktori, temukan Workspace Directories, klik ikon
di sebelahnya, lalu pilih untuk membuka kotak dialog Create Node.Pada kotak dialog Create Node, pilih Synchronization Method. Metode yang tersedia adalah sebagai berikut:
Jenis konfigurasi tugas sinkronisasi
Metode sinkronisasi
Single Table (Topic) to Single Table (Topic) ETL
Konfigurasi tugas sinkronisasi real-time untuk seluruh database
Synchronizing Database Changes to MaxCompute
Synchronize Data Changes from a Database to Hologres
Synchronizing Data Changes from a Database to AnalyticDB for MySQL 3.0
Synchronize data changes from a database to DataHub
Synchronizing Database Changes to Kafka
Pada kotak dialog Create Node, masukkan nama untuk node sinkronisasi real-time dan klik Confirm untuk melanjutkan ke halaman konfigurasi node.
Langkah 2: Mengonfigurasi tugas sinkronisasi real-time
Parameter yang perlu Anda konfigurasi untuk node sinkronisasi real-time bergantung pada metode sinkronisasi yang dipilih saat membuat node.
Konfigurasi tugas sinkronisasi real-time untuk satu tabel
Pada halaman konfigurasi node, ikuti langkah-langkah berikut untuk mengonfigurasi sumber data input, transformasi data, dan sumber data output untuk tugas sinkronisasi real-time satu tabel:
Konfigurasi sumber data input.
Pada bagian Input di sisi kiri halaman konfigurasi node, seret komponen sumber data ke Kanvas.

Klik komponen input untuk mengonfigurasi parameternya di kotak dialog Node Configuration di sebelah kanan.
Jenis sumber data input berikut didukung untuk sinkronisasi satu tabel. Untuk informasi lebih lanjut tentang konfigurasi masing-masing jenis sumber data, lihat topik yang ditautkan.
(Opsional) Konfigurasi transformasi data.
Pada bagian Transform di sebelah kiri, seret komponen transformasi ke Kanvas dan hubungkan ke komponen hulu.

Klik komponen transformasi, lalu konfigurasi parameternya di kotak dialog Node Configuration di sebelah kanan.
Metode transformasi berikut didukung untuk sinkronisasi satu tabel. Untuk informasi lebih lanjut tentang konfigurasi masing-masing metode, lihat topik yang ditautkan.
Penyaringan data: Menyaring data berdasarkan aturan, seperti ukuran bidang. Hanya data yang memenuhi aturan yang ditentukan yang dipertahankan.
Penggantian string: Mengganti nilai bidang string.
Penyembunyian data: Menyembunyikan data dari satu tabel selama sinkronisasi real-time dan menyimpan data yang disembunyikan di lokasi database tertentu.
CatatanAnda dapat menggunakan beberapa komponen transformasi untuk menyaring dan memproses data.
Konfigurasi sumber data output.
Pada bagian Output di sebelah kiri, seret komponen sumber data output target ke Kanvas. Hubungkan komponen tersebut ke komponen hulunya. Konfigurasikan sumber data tujuan, tabel, dan pemetaan bidang. Jika tabel tujuan belum ada, klik One-click Table Creation untuk membuatnya.

Klik komponen output untuk mengonfigurasi parameternya di kotak dialog Node Configuration di sebelah kanan.
Jenis sumber data output berikut didukung untuk sinkronisasi satu tabel. Untuk informasi lebih lanjut tentang konfigurasi masing-masing jenis sumber data, lihat topik yang ditautkan.
Pada bilah alat di atas Kanvas, klik Save untuk menyimpan konfigurasi tugas.
Konfigurasi tugas sinkronisasi real-time untuk seluruh database
Pada halaman konfigurasi node, ikuti langkah-langkah berikut untuk mengonfigurasi tugas sinkronisasi real-time untuk seluruh database:
Konfigurasi sumber sinkronisasi dan aturannya.
Pada bagian Data Source, pilih Type dan Data Source.
Pada bagian Select Source Table For Synchronization, pilih satu atau beberapa tabel dari area Source Tables dan klik ikon
untuk memindahkannya ke area Selected Tables.Tetapkan aturan pemetaan nama tabel.
CatatanPada langkah ini, Anda dapat memilih database dan tabel dari sumber untuk disinkronkan. Secara default, data dari database atau tabel sumber ditulis ke skema atau tabel tujuan dengan nama yang sama. Jika skema atau tabel tujuan tidak ada, sistem akan membuatnya secara otomatis. Anda juga dapat menggunakan Set Table/Database Name Mapping Rules untuk menyesuaikan nama skema atau tabel tujuan.
Source and Destination Table Name Conversion Rules: Anda dapat menggunakan ekspresi reguler untuk mengonversi nama tabel sumber menjadi nama tabel tujuan.
Contoh 1: Contoh ini menyinkronkan data dari tabel sumber dengan awalan
doc_ke tabel tujuan dengan awalanpre_.
Contoh 2: Menulis data dari beberapa tabel ke satu tabel tujuan.
Untuk menyinkronkan data dari tabel sumber
table_01,table_02, dantable_03ke satu tabelmy_table, konfigurasikan aturan konversi ekspresi reguler dengan mengatur Source menjaditable_*dan Destination menjadimy_table.
Destination Table Name Rule: Anda dapat menggunakan variabel bawaan untuk menghasilkan nama tabel tujuan. Anda juga dapat menambahkan awalan dan akhiran ke nama yang dihasilkan. Variabel bawaan yang tersedia adalah:
${db_table_name_src_transed}: Nama tabel setelah dikonversi berdasarkan aturan konversi nama tabel sumber dan tujuan.${db_name_src_transed}: Nama skema tujuan yang dihasilkan oleh aturan konversi untuk database sumber dan nama skema tujuan.${ds_name_src}: Nama sumber data sumber.
Sebagai contoh, jika Anda menggunakan aturan konversi nama tabel pada langkah sebelumnya untuk mengganti nama tabel sumber menjadi
my_table, Anda kemudian dapat melakukan penggabungan string lebih lanjut pada nama tabel baru tersebut. Untuk menambahkan awalan dan akhiran, gunakan variabel${db_table_name_src_transed}, yang merepresentasikan hasil dari langkah sebelumnya. Misalnya, ekspresipre_${db_table_name_src_transed}_postmemetakan tabel sumber ke tabel tujuan bernamapre_my_table_post.
Klik Next untuk melanjutkan ke halaman Set Destination Table.
Tetapkan tabel tujuan.
Pada halaman Set Destination Table atau Topic, Anda dapat mengonfigurasi informasi dasar untuk Destination Data Source, seperti mode penulisan dan pengaturan partisi. Pengaturan yang tersedia bergantung pada antarmuka sinkronisasi real-time masing-masing sumber data.
Klik Refresh source and destination table mapping untuk membuat pemetaan antara tabel sumber dan tujuan.
Anda dapat menggunakan Edit Additional Fields atau Batch Edit Additional Fields In Destination Table untuk menambahkan konstanta, variabel, dan operasi lain ke tabel tujuan. Konfigurasi ini bergantung pada antarmuka sinkronisasi real-time untuk masing-masing sumber data.
Jika tabel tujuan tidak memiliki kunci primer, migrasi tidak didukung. Sebagai alternatif, Anda dapat menetapkan Synchronized Primary Key.
CatatanJika Anda menyinkronkan banyak tabel, prosesnya mungkin lambat. Harap tunggu hingga proses selesai.
Klik Next untuk melanjutkan ke halaman Set Table-level Sync Rule.
CatatanJika sistem mendeteksi bahwa beberapa tabel Anda perlu dibuat secara otomatis, Anda harus menunggu hingga tabel dibuat sebelum melanjutkan ke langkah berikutnya.
(Opsional) Tetapkan aturan sinkronisasi tingkat tabel.
Beberapa solusi sinkronisasi mendukung kebijakan pemrosesan DML tingkat tabel yang dapat dikustomisasi. Hal ini memungkinkan Anda menentukan cara menangani operasi insert, update, dan delete yang terjadi pada tabel sumber.
CatatanOperasi DML yang didukung dapat berbeda-beda tergantung pada sumber data. Apakah solusi sinkronisasi tertentu mendukung kebijakan pemrosesan DML bergantung pada antarmuka produk. Untuk informasi lebih lanjut tentang operasi DML yang didukung oleh berbagai sumber data, lihat Operasi DML dan DDL yang didukung.
Klik Next untuk melanjutkan ke halaman Set Processing Policy For DDL Messages.
Tetapkan aturan pemrosesan pesan DDL.
Pada halaman Set Processing Policy for DDL Messages, Anda dapat mengonfigurasi cara memproses operasi DDL yang terjadi di sumber data. Selama sinkronisasi real-time, Anda dapat menetapkan kebijakan pemrosesan untuk berbagai pesan DDL yang disinkronkan ke tujuan sesuai kebutuhan. Operasi DDL yang didukung bervariasi tergantung pada sumber data. Untuk informasi lebih lanjut, lihat Operasi DML dan DDL yang didukung. Anda dapat menetapkan kebijakan pemrosesan DDL untuk setiap jenis database tujuan. Tabel berikut menjelaskan kebijakan pemrosesan pesan DDL.
Jenis pesan DDL
Kebijakan pemrosesan
Create Table
Ketika DataWorks menerima pesan DDL jenis yang sesuai, kebijakan pemrosesannya adalah sebagai berikut:
Normal Processing: Pesan DDL ini diteruskan ke sumber data tujuan untuk diproses. Sumber data tujuan yang berbeda mungkin memiliki kebijakan pemrosesan yang berbeda.
Ignore: Pesan DDL ini dibuang dan tidak dikirim ke sumber data tujuan.
Error: Tugas sinkronisasi real-time segera dihentikan dengan status error.
Drop Table
Add Column
Drop Column
Rename Table
Rename Column
Alter Column Type
Truncate Table
Klik Next untuk menuju ke halaman Set Runtime Resources.
Tetapkan sumber daya waktu proses.
: Menentukan jumlah maksimum thread konkuren untuk tugas menulis ke database tujuan.
: Menentukan apakah tugas sinkronisasi mentoleransi data kotor.
Jika Anda tidak mengizinkan data kotor, tugas gagal dan berhenti jika data kotor dihasilkan selama eksekusi.
Jika Anda mengizinkan data kotor, tugas mengabaikan data kotor dan terus berjalan. Data kotor tidak ditulis ke tujuan.
Selesaikan konfigurasi.
Klik Complete Configuration untuk menyelesaikan konfigurasi tugas sinkronisasi real-time untuk seluruh database.
Langkah 3: Mengonfigurasi sumber daya waktu proses untuk node sinkronisasi real-time
Setelah menyelesaikan konfigurasi, ikuti langkah-langkah berikut untuk mengonfigurasi sumber daya waktu proses untuk node sinkronisasi real-time.
Pada halaman konfigurasi node, pilih Basic Configurations dari bilah alat di sebelah kanan.
Pada halaman Basic Configurations, pilih Resource Group arsitektur tanpa server yang telah Anda sambungkan. Konfigurasikan jumlah CU Allocated dan Concurrency untuk eksekusi tugas.
Setelah mengonfigurasi sumber daya waktu proses, simpan tugas sinkronisasi real-time dengan mengklik tombol Save di bilah alat di bagian atas halaman konfigurasi node.
Langkah 4: Menjalankan tugas sinkronisasi real-time
Setelah mengonfigurasi node sinkronisasi real-time, ikuti langkah-langkah berikut untuk menjalankan tugas tersebut.
Publikasikan node.
Tugas harus dipublikasikan ke Pusat Operasi sebelum dapat dieksekusi. Ikuti petunjuk di layar untuk mempublikasikan node sinkronisasi real-time. Untuk informasi lebih lanjut, lihat Publikasikan node atau alur kerja.
Jalankan node.
Setelah node dipublikasikan, klik Go To Operation Center di bagian bawah bagian Publish To Production untuk membuka halaman daftar Real-time Sync Tasks di Operation Center.
Temukan tugas sinkronisasi real-time yang Anda buat dan klik Start pada kolom Actions. Pada halaman Start, konfigurasikan pengaturan seperti Reset Offset, lalu klik Confirm untuk memulai tugas.
CatatanUntuk informasi lebih lanjut tentang apakah perlu menyetel offset secara manual, lihat Lampiran: Tentang penyetelan ulang offset.
Ketika Status tugas berubah menjadi Running, klik Task Name untuk membuka halaman Running Information.
Pada halaman Running Information, klik tab Log untuk melihat status eksekusi tugas.
Lampiran: Tentang penyetelan ulang offset
Anda mungkin perlu menyetel offset secara manual untuk tugas sinkronisasi real-time DataWorks dalam situasi berikut:
Pemulihan tugas setelah gangguan: Saat Anda memulai ulang tugas, Anda dapat menyetel offset secara manual ke waktu gangguan. Hal ini memastikan bahwa sinkronisasi dilanjutkan dari titik gangguan.
Kehilangan data atau pengecualian: Anda dapat menyetel ulang offset ke titik waktu sebelum data ditulis untuk memastikan integritas data.
Penyesuaian konfigurasi tugas: Setelah Anda mengubah tabel tujuan atau pemetaan bidang, Anda dapat menyetel offset secara manual untuk memastikan akurasi sinkronisasi.
Jika Anda mengalami error offset atau offset yang tidak ada, Anda dapat mengatasi masalah tersebut dengan salah satu cara berikut:
Setel ulang offset: Saat memulai tugas, pilih offset paling awal yang tersedia dari database sumber.
Sesuaikan periode retensi log: Jika offset telah kedaluwarsa, Anda dapat menyesuaikan periode retensi log di database. Misalnya, Anda dapat mengatur periode retensi menjadi 7 hari.
Sinkronisasi data: Jika data hilang, Anda dapat melakukan sinkronisasi penuh lagi atau mengonfigurasi tugas sinkronisasi batch.