Fitur sinkronisasi real-time seluruh database menggabungkan sinkronisasi penuh satu kali dengan penangkapan inkremental berkelanjutan untuk menyinkronkan seluruh database sumber, seperti MySQL atau Oracle, ke sistem tujuan dengan latensi rendah. Tugas sinkronisasi real-time seluruh database pertama-tama melakukan sinkronisasi penuh data historis dan secara otomatis menginisialisasi skema serta data di tujuan. Selanjutnya, tugas tersebut beralih secara mulus ke mode inkremental real-time dengan memanfaatkan teknologi seperti Change Data Capture (CDC) untuk terus-menerus menangkap dan menyinkronkan perubahan data berikutnya. Kemampuan ini ideal untuk kasus penggunaan seperti gudang data real-time dan pembangunan data lake. Topik ini menggunakan contoh sinkronisasi database MySQL ke MaxCompute untuk menjelaskan cara mengonfigurasi tugas tersebut.
Prasyarat
Persiapan sumber data
Anda telah membuat sumber data dan tujuan data. Untuk informasi lebih lanjut, lihat manajemen sumber data.
Pastikan sumber data mendukung sinkronisasi real-time seluruh database. Untuk informasi lebih lanjut, lihat Sumber data dan solusi sinkronisasi yang didukung.
Beberapa sumber data, seperti MySQL, Hologres, dan Oracle, mengharuskan Anda mengaktifkan logging. Metode pengaktifan log bervariasi tergantung pada sumber datanya. Untuk informasi lebih lanjut, lihat daftar sumber data.
MaxCompute: Tipe data Decimal hanya didukung di MaxCompute 2.0. Sebelum memulai sinkronisasi, aktifkan tipe data MaxCompute 2.0. Untuk informasi lebih lanjut, lihat Tipe data MaxCompute 2.0.
Kelompok sumber daya: Beli dan konfigurasikan kelompok sumber daya serverless.
Konektivitas jaringan: Konfigurasikan konektivitas jaringan antara kelompok sumber daya dan sumber data.
Catatan penggunaan
DataWorks mendukung dua jenis sinkronisasi database: sinkronisasi real-time seluruh database dan sinkronisasi penuh & inkremental seluruh database (near real-time). Kedua jenis ini melakukan sinkronisasi penuh data historis lalu secara otomatis beralih ke mode inkremental. Namun, keduanya berbeda dalam hal latensi dan persyaratan tabel tujuan:
Latensi: Sinkronisasi real-time seluruh database mencapai latensi detik hingga menit. Sinkronisasi penuh & inkremental seluruh database (near real-time) memberikan latensi T+1.
Tabel tujuan (MaxCompute):
Tabel Delta PK: Mendukung semua fitur sinkronisasi real-time seluruh database.
Tabel Standar dan Tabel Delta Append: Hanya mendukung mode Append ketika Anda memilih mode sinkronisasi hanya inkremental untuk tugas sinkronisasi real-time seluruh database.
Sinkronisasi penuh & inkremental seluruh database (near real-time): Mendukung semua jenis tabel di atas.
Anda dapat mengonfigurasi tugas sinkronisasi real-time seluruh database baik di DataStudio maupun di Data Integration. Fungsionalitasnya identik di kedua modul tersebut.
Konsistensi konfigurasi: Antarmuka konfigurasi, pengaturan parameter, dan fungsi dasar persis sama, terlepas dari tempat Anda membuat tugas tersebut.
Sinkronisasi dua arah: Tugas yang dibuat di modul Data Integration secara otomatis disinkronkan dan ditampilkan di direktori
data_integration_jobsmodul Data Studio. Tugas-tugas ini dikategorikan berdasarkan saluran sesuai formatjenis sumber-jenis tujuanuntuk memudahkan manajemen terpusat.
Konfigurasikan tugas
Langkah 1: Buat tugas sinkronisasi
Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih Wilayah yang diinginkan. Di panel navigasi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar tarik-turun, lalu klik Go to Data Integration.
Di panel navigasi kiri, klik Synchronization Task. Lalu, klik Create Synchronization Task di bagian atas halaman dan konfigurasikan informasi tugas berikut:
Source Type:
MySQL.Destination Type:
MaxCompute.Specific Type:
Real-time synchronization of an entire database.Synchronization Mode:
Schema Migration: Secara otomatis membuat objek database seperti tabel, bidang, dan tipe data di tujuan yang sesuai dengan sumber, tetapi tanpa datanya.
Full Synchronization (opsional): Melakukan penyalinan lengkap satu kali semua data historis dari objek sumber yang ditentukan, seperti tabel, ke tujuan. Biasanya digunakan untuk migrasi data awal atau inisialisasi.
Incremental Sync (opsional): Setelah sinkronisasi penuh selesai, langkah ini terus-menerus menangkap dan menyinkronkan perubahan data (insert, update, dan delete) dari sumber ke tujuan.
Langkah 2: Konfigurasikan sumber data dan sumber daya
Di bagian Source Data Source, pilih sumber data
MySQLAnda. Di bagian Destination, pilih sumber dataMaxComputeAnda.Di bagian Running Resources, pilih Resource Group untuk tugas sinkronisasi dan alokasikan Resource GroupCU untuk tugas tersebut.
CatatanJika log tugas menampilkan pesan tentang sumber daya tidak mencukupi, seperti
Please confirm whether there are enough resources..., artinya Computing Unit (CU) yang tersedia di kelompok sumber daya saat ini tidak cukup untuk memulai atau menjalankan tugas. Anda dapat menambah jumlah CU yang digunakan tugas di panel Configure Resource Group untuk mengalokasikan lebih banyak sumber daya komputasi.Untuk pengaturan sumber daya yang direkomendasikan, lihat CU yang Direkomendasikan untuk Data Integration. Sesuaikan pengaturan berdasarkan beban kerja aktual Anda.
Pastikan kedua sumber data dan tujuan lolos Connectivity Check.
Langkah 3: Konfigurasikan solusi sinkronisasi
1. Konfigurasikan sumber data
Pada langkah ini, pilih tabel yang akan disinkronkan dari daftar Source Tables lalu klik ikon
untuk memindahkannya ke daftar Selected Tables. Jika Anda memiliki banyak tabel, Anda dapat menggunakan Database Filtering atau Table filtering untuk memilih tabel dengan mengonfigurasi ekspresi reguler.
Untuk menulis data dari beberapa database ter-shard dan tabel dengan struktur yang sama ke dalam satu tabel tujuan, Anda dapat use regular expressions to select tables.

Masukkan ekspresi reguler di konfigurasi tabel sumber. DataWorks secara otomatis mengidentifikasi semua tabel sumber yang cocok dan menulis datanya ke tabel tujuan yang sesuai dengan ekspresi tersebut.CatatanMetode ini cocok untuk menggabungkan dan menyinkronkan tabel terpartisi, yang meningkatkan efisiensi konfigurasi dengan menghilangkan kebutuhan untuk menambahkan beberapa aturan sinkronisasi banyak-ke-satu.
2. Konfigurasikan tujuan data
Jika Anda hanya memilih Incremental Sync untuk tugas sinkronisasi real-time seluruh database, Anda dapat mengonfigurasi mode sinkronisasi inkremental untuk menulis ke tabel tujuan.
Replay: Mode ini hanya didukung untuk Tabel Delta PK. Mirip dengan sinkronisasi normal, mode ini hanya menyinkronkan bidang data.
Aliran inkremental: Mode ini didukung untuk Tabel Standar dan Tabel Delta Append. Mode ini menambahkan data real-time dari tabel sumber, bersama metadata seperti insert, update, dan delete, ke tabel tujuan. Untuk format aliran inkremental, lihat Lampiran: Format tabel aliran inkremental.
3. Petakan tabel tujuan
Pada langkah ini, Anda perlu menentukan aturan pemetaan antara tabel sumber dan tujuan serta menentukan aturan untuk kunci primer, partisi dinamis, dan konfigurasi DDL/DML untuk menentukan cara penulisan data.
Aksi | Deskripsi | ||||||||||||
Refresh | Sistem secara otomatis mencantumkan tabel sumber yang Anda pilih, tetapi atribut spesifik tabel tujuan baru berlaku setelah Anda merefresh dan mengonfirmasi pemetaan.
| ||||||||||||
Customize Mapping Rules for Destination Table Names (opsional) | Sistem memiliki aturan default untuk pembuatan nama tabel:
Fitur ini mendukung skenario berikut:
| ||||||||||||
Edit field type mapping (opsional) | Sistem menyediakan pemetaan default antara tipe bidang sumber dan tujuan. Anda dapat mengklik Edit Mapping of Field Data Types di pojok kanan atas tabel untuk menyesuaikan hubungan pemetaan. Setelah dikonfigurasi, klik Apply and Refresh Mapping. Saat mengedit pemetaan tipe bidang, pastikan aturan konversi tipe benar. Jika tidak, konversi tipe dapat gagal, menyebabkan data kotor dan gangguan tugas. | ||||||||||||
Edit destination table structure (opsional) | Berdasarkan aturan pemetaan nama tabel kustom, sistem membuat tabel tujuan baru atau menggunakan kembali yang sudah ada dengan nama yang sama. DataWorks menghasilkan skema tujuan berdasarkan skema sumber. Intervensi manual biasanya tidak diperlukan. Anda juga dapat memodifikasi skema tabel dengan cara berikut:
Untuk tabel yang sudah ada, Anda hanya dapat menambahkan bidang. Untuk tabel baru, Anda dapat menambahkan bidang, bidang partisi, serta mengatur jenis atau properti tabel. Untuk detail lebih lanjut, lihat area yang dapat diedit di UI. | ||||||||||||
Value assignment | Bidang native dipetakan secara otomatis berdasarkan bidang dengan nama yang sama di tabel sumber dan tujuan. Anda harus menetapkan nilai secara manual untuk bidang yang baru ditambahkan dan bidang partisi dari langkah-langkah sebelumnya. Lakukan operasi berikut:
Anda dapat menetapkan konstanta dan variabel dengan mengganti tipe di Value Type. Metode berikut didukung:
Catatan Membuat partisi berlebihan dapat berdampak negatif pada efisiensi sinkronisasi. Jika lebih dari 1.000 partisi baru dibuat dalam satu hari, pembuatan partisi akan gagal dan tugas akan dihentikan. Oleh karena itu, saat menentukan metode penetapan nilai untuk bidang partisi, Anda harus memperkirakan jumlah potensial partisi. Berhati-hatilah saat membuat partisi pada tingkat detik atau milidetik. | ||||||||||||
Source Split Column | Anda dapat memilih bidang dari tabel sumber di daftar drop-down Source Split Column, atau memilih Not Split. Saat dieksekusi, tugas sinkronisasi dibagi menjadi beberapa subtugas berdasarkan bidang ini untuk memungkinkan pembacaan data secara konkuren dan batch. Kami menyarankan menggunakan kunci primer tabel sebagai kolom pemisah sumber. Tipe string, float, dan date tidak didukung. Saat ini, kolom pemisah sumber hanya didukung untuk sumber MySQL. | ||||||||||||
Skip full synchronization for table | Jika Anda telah mengonfigurasi sinkronisasi penuh di langkah tugas, Anda dapat memilih untuk melewatinya untuk tabel tertentu. Ini berguna ketika data penuh sudah disinkronkan ke tujuan melalui cara lain. | ||||||||||||
Full condition | Ini memungkinkan Anda memfilter data sumber selama fase sinkronisasi penuh. Anda hanya perlu menulis konten klausa | ||||||||||||
Configure DML Rule | Pemrosesan pesan DML memungkinkan Anda memfilter dan mengontrol perubahan data yang ditangkap ( | ||||||||||||
Lainnya | Table Type: MaxCompute mendukung Tabel Standar,
Untuk pengenalan mendetail tentang Tabel Delta, lihat Tabel Delta. |
Langkah 4: Pengaturan lanjutan
Parameter lanjutan
Jika Anda perlu menyesuaikan konfigurasi tugas untuk kebutuhan sinkronisasi khusus, Anda dapat membuka tab Advanced Parameters untuk memodifikasi parameter lanjutan.
Klik Advanced Settings di pojok kanan atas UI untuk membuka halaman konfigurasi parameter lanjutan.
Ubah nilai parameter sesuai tooltip. Makna setiap parameter dijelaskan setelah namanya.
Anda juga dapat menggunakan konfigurasi berbasis AI. Masukkan instruksi modifikasi dalam bahasa alami, seperti menyesuaikan konkurensi tugas. Model AI akan menghasilkan nilai parameter yang direkomendasikan, yang dapat Anda terima sesuai kebutuhan aktual.

Modifikasi parameter ini hanya jika Anda sepenuhnya memahami maknanya untuk menghindari masalah tak terduga seperti keterlambatan tugas, konsumsi sumber daya berlebihan yang menghambat tugas lain, atau kehilangan data.
Konfigurasi DDL
Beberapa tugas sinkronisasi real-time dapat mendeteksi perubahan metadata dalam struktur tabel sumber dan memberi tahu tujuan. Tujuan kemudian dapat menyinkronkan pembaruan tersebut atau mengambil tindakan lain, seperti mengirim peringatan, mengabaikan perubahan, atau menghentikan tugas.
Anda dapat mengklik Configure DDL Capability di pojok kanan atas UI untuk menetapkan kebijakan pemrosesan untuk setiap jenis perubahan. Kebijakan yang didukung bervariasi tergantung pada salurannya.
Pemrosesan normal: Tujuan memproses perubahan DDL dari sumber.
Abaikan: Pesan perubahan diabaikan, dan tidak ada modifikasi yang dilakukan di tujuan.
Error: Tugas sinkronisasi real-time seluruh database dihentikan, dan statusnya diatur ke Error.
Peringatan: Peringatan dikirim ke pengguna ketika jenis perubahan ini terjadi di sumber. Anda harus mengonfigurasi aturan notifikasi DDL di pengaturan Configure Alert Rule.
Saat sinkronisasi DDL menambahkan kolom baru ke tujuan, sistem tidak mengisi kembali data untuk kolom tersebut pada baris yang sudah ada.
Langkah 5: Terapkan dan jalankan tugas
Setelah mengonfigurasi tugas, klik Save.
Tugas sinkronisasi seluruh database tidak dapat di-debug langsung. Tugas tersebut harus diterapkan ke Operation Center untuk dijalankan. Oleh karena itu, baik saat membuat tugas baru maupun mengedit tugas yang sudah ada, Anda harus Deploy tugas agar perubahan berlaku.
Saat menerapkan tugas, jika Anda memilih Start immediately after deployment, tugas tersebut juga akan dimulai. Jika tidak, setelah penerapan selesai, buka halaman lalu mulai tugas secara manual di kolom Aksi pada tugas yang dituju.
Klik Name/ID tugas yang sesuai di Tasks untuk melihat proses eksekusi terperinci.
Langkah 6: Konfigurasikan alarm
1. Tambahkan aturan alarm
Di daftar , temukan tugas sinkronisasi real-time seluruh database yang sesuai, lalu klik di kolom Aksi untuk mengonfigurasi kebijakan peringatan untuk tugas tersebut.

(1) Klik Create Rule untuk mengonfigurasi aturan alarm.
Dengan menetapkan Alert Reason, Anda dapat memantau metrik tugas seperti Business delay, Failover, Task status, DDL Notification, dan Task Resource Utilization. Anda dapat menetapkan level alarm CRITICAL atau WARNING berdasarkan ambang batas yang ditentukan.
Dengan menggunakan Configure Advanced Parameters, Anda dapat mengontrol interval pengiriman pesan alarm untuk mencegah kelelahan peringatan dan penumpukan pesan.
Jika Anda memilih Business delay, Task status, atau Task Resource Utilization sebagai pemicu alarm, Anda juga dapat mengaktifkan notifikasi pemulihan untuk memberi tahu penerima saat tugas kembali ke kondisi normal.
(2) Kelola aturan alarm.
Untuk aturan alarm yang telah dibuat, Anda dapat menggunakan sakelar alarm untuk mengaktifkan atau menonaktifkannya. Anda juga dapat mengirim alarm ke personel berbeda berdasarkan level alarm.
2. Lihat alarm
Klik untuk tugas guna membuka halaman Event Alarm, tempat Anda dapat melihat informasi tentang alarm yang dipicu.
Kelola tugas
Edit tugas
Di halaman , temukan tugas sinkronisasi yang telah Anda buat, klik More di kolom Operation, lalu klik Edit. Anda dapat memodifikasi informasi tugas. Prosedurnya sama dengan konfigurasi tugas.
Untuk tugas yang tidak sedang berjalan, Anda dapat langsung memodifikasi konfigurasi, menyimpannya, lalu menerapkan tugas ke Operation Center agar perubahan berlaku.
Untuk tugas yang Running, jika Anda mengedit dan menerapkan tugas tanpa memilih Start immediately after deployment, tombol operasi asli berubah menjadi Apply Updates. Anda harus mengklik tombol ini agar perubahan berlaku di Operation Center.
Setelah Anda mengklik Apply Updates, sistem melakukan urutan "Stop, Deploy, Restart" untuk menerapkan perubahan.
Jika perubahan adalah menambahkan tabel baru atau beralih ke tabel yang sudah ada:
Anda tidak dapat memilih checkpoint saat menerapkan pembaruan. Setelah mengklik konfirmasi, sistem melakukan migrasi struktural dan sinkronisasi penuh untuk tabel baru. Setelah selesai, sinkronisasi inkremental dimulai untuk tabel baru bersama tabel aslinya.
Jika Anda memodifikasi informasi lain:
Anda dapat memilih checkpoint saat menerapkan pembaruan. Setelah mengklik konfirmasi, tugas dilanjutkan dari checkpoint yang ditentukan. Jika Anda tidak menentukan checkpoint, tugas dilanjutkan dari titik terakhir berhenti.
Tabel yang tidak diubah tidak terpengaruh. Setelah pembaruan dan restart, tabel tersebut akan dilanjutkan dari titik terakhir berhenti.
Lihat tugas
Setelah membuat tugas sinkronisasi, Anda dapat melihat daftar tugas yang telah dibuat dan informasi dasarnya di halaman tugas sinkronisasi.

Di kolom Operation, Anda dapat Start atau Stop tugas sinkronisasi. Di menu More, Anda dapat melakukan operasi lain seperti Edit dan View.
Untuk tugas yang telah dimulai, Anda dapat melihat status dasar di Execution Overview. Anda juga dapat mengklik area ikhtisar yang sesuai untuk melihat detail eksekusi.

Lanjutkan dari breakpoint
Kasus penggunaan
Mengatur ulang checkpoint secara manual berguna dalam skenario berikut:
Pemulihan tugas dan kelanjutan data: Saat tugas terganggu, Anda mungkin perlu menentukan waktu gangguan secara manual sebagai checkpoint awal baru untuk memastikan pemulihan data akurat.
Pemecahan masalah data dan pelacakan mundur: Jika data hilang atau abnormal, putar kembali checkpoint ke waktu sebelum masalah terjadi untuk memutar ulang dan memperbaiki data.
Perubahan konfigurasi tugas besar-besaran: Setelah melakukan penyesuaian signifikan pada konfigurasi tugas, seperti struktur tabel tujuan atau pemetaan bidang, kami menyarankan mengatur ulang checkpoint untuk memulai sinkronisasi dari titik waktu tertentu guna memastikan akurasi data dengan konfigurasi baru.
Prosedur
Klik Start. Di kotak dialog yang muncul, Anda dapat memilih apakah akan Whether to reset the site:

Untuk melanjutkan dari waktu berhenti terakhir, biarkan opsi reset tidak dicentang dan jalankan tugas langsung. Tugas dilanjutkan dari checkpoint terakhir yang dicatat.
Untuk memulai dari waktu tertentu, pilih opsi reset lalu pilih waktu. Tugas dimulai dari checkpoint waktu yang ditentukan. Pastikan waktu yang dipilih berada dalam periode retensi binlog sumber.
Jika Anda menemui pesan "checkpoint error" atau "checkpoint does not exist" saat menjalankan tugas sinkronisasi, coba solusi berikut:
Atur ulang checkpoint: Saat memulai tugas sinkronisasi real-time, atur ulang checkpoint dan pilih checkpoint paling awal yang tersedia di database sumber.
Sesuaikan waktu retensi log: Jika checkpoint database telah kedaluwarsa, pertimbangkan untuk menambah periode retensi log di database, misalnya menjadi 7 hari.
Sinkronisasi data: Jika data telah hilang, lakukan sinkronisasi penuh lagi atau buat tugas sinkronisasi offline untuk menyinkronkan manual data yang hilang.
FAQ
Untuk pertanyaan umum tentang sinkronisasi real-time seluruh database, lihat FAQ tentang sinkronisasi real-time dan FAQ tentang tugas sinkronisasi penuh dan inkremental.
Lampiran: Format aliran inkremental
Bidang tabel sumber yang diratakan
Nama Bidang | Deskripsi |
sequence_id | ID catatan event inkremental yang unik dan bernilai bertambah. |
operation_type | Jenis operasi (I/D/U). |
execute_time | Timestamp yang sesuai dengan data. |
before_image | Menunjukkan apakah ini merupakan gambar sebelum perubahan (Y/N). |
after_image | Menunjukkan apakah ini merupakan gambar setelah perubahan (Y/N). |
src_datasource | Sumber data asal. |
src_database | Database sumber. |
src_table | Tabel sumber. |
Field 1 | Bidang data aktual 1. |
Field 2 | Bidang data aktual 2. |
Field 3 | Bidang data aktual 3. |
Bidang sumber digabung ke dalam JSON
Nama Bidang | Deskripsi |
sequence_id | ID catatan event inkremental yang unik dan bernilai bertambah. |
operation_type | Jenis operasi. |
execute_time | Timestamp yang sesuai dengan data. |
before_image | Menunjukkan apakah ini merupakan gambar sebelum perubahan (Y/N). |
after_image | Menunjukkan apakah ini merupakan gambar setelah perubahan (Y/N). |
src_datasource | Sumber data asal. |
src_database | Database sumber. |
src_table | Tabel sumber. |
ddl_sql | Untuk operasi DDL, bidang ini berisi pernyataan DDL. |
data_columns | Bidang data aktual yang digabungkan dalam objek JSON. |
lalu memilih Manually enter atau Built-in Variable untuk menggabungkan bagian-bagian nama. Variabel meliputi nama sumber data sumber, nama database sumber, dan nama tabel sumber.





di kolom Target Table untuk menambahkan bidang.
di UI.