Fitur sinkronisasi basis data penuh real-time menggabungkan migrasi penuh satu kali dengan penangkapan inkremental berkelanjutan untuk menyinkronkan seluruh database sumber, seperti MySQL atau Oracle, ke sistem tujuan dengan latensi rendah. Tugas ini mendukung sinkronisasi penuh data historis dari database sumber dan secara otomatis menginisialisasi skema serta data untuk tabel tujuan. Setelah itu, tugas secara otomatis beralih ke mode inkremental real-time, menggunakan teknologi seperti Change Data Capture (CDC) untuk terus-menerus menangkap dan menyinkronkan perubahan berikutnya. Fitur ini cocok untuk skenario seperti membangun gudang data real-time dan data lake. Topik ini menggunakan contoh penyinkronan data dari database MySQL ke MaxCompute secara real-time untuk menjelaskan cara mengonfigurasi tugas sinkronisasi.
Prasyarat
Persiapan sumber data
Buat sumber data sumber dan sumber data tujuan. Untuk informasi lebih lanjut, lihat Manajemen sumber data.
Pastikan sumber data Anda mendukung sinkronisasi basis data penuh real-time. Untuk informasi lebih lanjut, lihat Sumber data dan solusi sinkronisasi yang didukung.
Anda harus mengaktifkan logging untuk sumber data tertentu, seperti MySQL, Hologres, dan Oracle. Metodenya berbeda-beda tergantung pada sumber datanya. Untuk informasi lebih lanjut, lihat Daftar sumber data.
MaxCompute: Tipe Decimal hanya didukung di MaxCompute 2.0. Sebelum melakukan sinkronisasi, Anda harus mengaktifkan tipe data MaxCompute 2.0. Untuk informasi lebih lanjut, lihat Edisi tipe data MaxCompute V2.0.
Kelompok sumber daya: Anda harus memiliki kelompok sumber daya arsitektur tanpa server yang telah dikonfigurasi.
Konektivitas jaringan: Konfigurasikan konektivitas jaringan antara kelompok sumber daya dan sumber data.
Catatan penggunaan
DataWorks mendukung dua jenis sinkronisasi basis data penuh: sinkronisasi basis data penuh real-time dan penuh & inkremental (near real-time). Kedua jenis tersebut dapat melakukan sinkronisasi penuh untuk data historis dalam database sumber, lalu secara otomatis beralih ke mode inkremental real-time. Namun, keduanya berbeda dalam hal latensi dan persyaratan tabel tujuan.
Ketepatan waktu: Fitur sinkronisasi basis data penuh real-time memberikan latensi dalam hitungan detik hingga menit. Fitur penuh & inkremental (near real-time) memberikan ketepatan waktu T+1.
Tabel tujuan (MaxCompute):
Tabel Delta PK: Semua fitur sinkronisasi basis data penuh real-time didukung.
Tabel Standar dan Tabel Delta Append: Mode Append hanya didukung ketika mode sinkronisasi inkremental dipilih dalam tugas sinkronisasi basis data penuh real-time.
Fitur penuh & inkremental (near real-time) mendukung semua jenis tabel di atas.
Anda dapat mengonfigurasi tugas sinkronisasi basis data penuh real-time di modul DataStudio dan Data Integration, yang saling berinteroperasi secara fungsional.
Konsistensi konfigurasi: UI konfigurasi, pengaturan parameter, dan fitur dasar sama, baik Anda membuat tugas di DataStudio maupun Data Integration.
Sinkronisasi dua arah: Tugas yang Anda buat di Data Integration secara otomatis disinkronkan dan ditampilkan di direktori
data_integration_jobsdi DataStudio. Tugas-tugas ini dikelompokkan berdasarkan channel dalam formatJenis Sumber-Jenis Tujuanuntuk memudahkan manajemen.
Konfigurasikan tugas
Langkah 1: Buat tugas sinkronisasi
Masuk ke Konsol DataWorks. Di wilayah target, klik di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Integration.
Di bilah navigasi kiri, klik Synchronization Task, lalu klik Create Synchronization Task di bagian atas halaman dan konfigurasikan informasi tugas:
Source Type:
MySQL.Destination Type:
MaxCompute.Specific Type:
Entire Database Real-time.Synchronization Mode:
Schema Migration: Secara otomatis membuat objek basis data (seperti tabel, bidang, dan tipe data) di tujuan yang sesuai dengan sumber, tetapi tidak termasuk data.
Full Synchronization (Opsional): Melakukan penyalinan lengkap satu kali untuk semua data historis objek yang ditentukan, seperti tabel, dari sumber ke tujuan. Proses ini biasanya digunakan untuk migrasi data awal atau inisialisasi data.
Incremental Sync (Opsional): Terus-menerus menangkap data perubahan (penambahan, modifikasi, dan penghapusan) dari sumber dan menyinkronkannya ke tujuan setelah sinkronisasi penuh selesai.
Langkah 2: Konfigurasikan sumber data dan sumber daya komputasi
Di area Source Data Source, pilih sumber data
MySQLyang telah ditambahkan ke ruang kerja, dan di area Destination, pilih sumber dataMaxCompute.Di bagian Running Resources, pilih Resource Group untuk tugas sinkronisasi dan alokasikan Resource Group CU ke tugas tersebut.
CatatanJika log tugas menampilkan pesan tentang sumber daya tidak mencukupi, seperti
Please confirm whether there are enough resources..., ini menunjukkan bahwa kelompok sumber daya saat ini tidak memiliki CU yang cukup untuk memulai atau menjalankan tugas. Di panel Configure Resource Group, Anda dapat menambah jumlah CU untuk tugas guna mengalokasikan lebih banyak sumber daya komputasi.Untuk informasi lebih lanjut tentang pengaturan sumber daya yang direkomendasikan, lihat CU yang Direkomendasikan untuk Data Integration. Anda harus menyesuaikan pengaturan berdasarkan kebutuhan bisnis Anda.
Pastikan kedua sumber data sumber dan tujuan lulus Connectivity Check.
Langkah 3: Konfigurasikan solusi sinkronisasi
1. Konfigurasikan sumber
Pada langkah ini, Anda dapat memilih tabel yang akan disinkronkan dari sumber data di bagian Source Tables dan klik ikon
untuk memindahkannya ke bagian Selected Tables di sebelah kanan. Jika ada banyak tabel, Anda dapat menggunakan Database Filtering atau Table filtering untuk memilih tabel dengan mengonfigurasi ekspresi reguler.
Ketika Anda perlu menulis beberapa database dan tabel terpartisi (dengan struktur yang sama) ke tabel tujuan yang sama, Anda dapat menggunakan Select Tables with Regular Expression.

Masukkan ekspresi reguler dalam konfigurasi tabel sumber. DataWorks secara otomatis mengidentifikasi dan mengumpulkan data dari semua tabel sumber yang cocok dan menuliskannya ke tabel tujuan yang dipetakan oleh ekspresi tersebut.CatatanMetode ini cocok untuk skenario tempat Anda ingin menggabungkan dan menyinkronkan tabel terpartisi, mirip dengan menyinkronkan database dan tabel terpartisi. Metode ini meningkatkan efisiensi konfigurasi karena Anda tidak perlu berulang kali menambahkan banyak aturan sinkronisasi banyak-ke-satu.
2. Konfigurasikan tujuan
Jika Anda hanya memilih Incremental Sync untuk tugas sinkronisasi basis data penuh real-time, 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 menulis data real-time dan metadata seperti penyisipan, pembaruan, dan penghapusan dari tabel sumber ke tabel tujuan. Untuk informasi lebih lanjut tentang format tabel aliran inkremental, lihat Lampiran: Format tabel aliran inkremental.
3. Petakan tabel tujuan
Pada langkah ini, Anda harus menentukan aturan pemetaan antara tabel sumber dan tujuan serta menentukan aturan untuk parameter seperti kunci utama, partisi dinamis, dan konfigurasi DDL/DML. Aturan ini menentukan cara data ditulis.
Aksi | Deskripsi | ||||||||||||
Refresh | Sistem secara otomatis mencantumkan tabel sumber yang Anda pilih. Namun, Anda harus merefresh dan mengonfirmasi properti tabel tujuan agar berlaku.
| ||||||||||||
Customize Mapping Rules for Destination Table Names (Opsional) | Sistem memiliki aturan default untuk menghasilkan nama tabel:
Anda dapat menerapkan skenario berikut:
| ||||||||||||
Edit pemetaan tipe bidang (opsional) | Sistem menyediakan pemetaan default antara tipe bidang sumber dan tujuan. Untuk menyesuaikan pemetaan ini, klik Edit Mapping of Field Data Types di pojok kanan atas tabel. Setelah menyelesaikan konfigurasi, klik Apply and Refresh Mapping. Saat mengedit pemetaan tipe bidang, pastikan aturan konversi tipe valid. Jika tidak, konversi tipe dapat gagal, yang menghasilkan data kotor dan memengaruhi jalannya tugas. | ||||||||||||
Edit skema tabel tujuan (opsional) | Berdasarkan aturan pemetaan nama tabel kustom, sistem baik membuat tabel tujuan baru atau menggunakan kembali yang sudah ada dengan nama yang cocok. DataWorks secara otomatis menghasilkan skema tabel tujuan berdasarkan skema tabel sumber. Dalam kebanyakan kasus, tidak diperlukan intervensi manual. 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 dan bidang partisi serta mengatur tipe tabel atau properti tabel. Untuk informasi lebih lanjut, lihat area yang dapat diedit di UI. | ||||||||||||
Value assignment | Bidang asli dipetakan secara otomatis berdasarkan kecocokan nama bidang di tabel sumber dan tujuan. Anda harus secara manual menetapkan nilai untuk bidang yang baru ditambahkan dan bidang partisi. Untuk menetapkan nilai, lakukan operasi berikut:
Penetapan nilai mendukung konstanta dan variabel, dan Anda dapat mengganti tipe di pengaturan Value Type. Metode yang didukung adalah sebagai berikut:
Catatan Jumlah partisi yang berlebihan memengaruhi efisiensi sinkronisasi. Jika lebih dari 1.000 partisi baru dibuat dalam satu hari, pembuatan partisi gagal dan tugas dihentikan. Oleh karena itu, saat menetapkan nilai ke bidang partisi, Anda harus memperkirakan jumlah partisi yang mungkin dihasilkan. Berhati-hatilah saat membuat partisi pada tingkat detik atau milidetik. | ||||||||||||
Source Split Column | Di kolom source split column, Anda dapat memilih bidang dari tabel sumber atau memilih Not Split. Saat tugas sinkronisasi dijalankan, tugas tersebut dibagi menjadi beberapa tugas berdasarkan bidang ini untuk membaca data secara paralel dan batch. Kami menyarankan Anda menggunakan kunci utama tabel sebagai source split column. Bidang dengan tipe STRING, FLOAT, dan DATE tidak didukung. Saat ini, source split column hanya didukung ketika sumbernya adalah sumber data MySQL. | ||||||||||||
Skip full synchronization? | Jika Anda telah mengonfigurasi sinkronisasi penuh di Langkah 3, Anda dapat melewatkan sinkronisasi penuh untuk tabel tertentu. Ini berguna jika Anda telah menyinkronkan data penuh ke tujuan menggunakan metode lain. | ||||||||||||
Full condition | Parameter ini memungkinkan Anda memfilter data sumber selama fase sinkronisasi penuh. Anda hanya perlu memasukkan konten klausa WHERE tanpa kata kunci WHERE. | ||||||||||||
Configure DML Rule | Pemrosesan pesan DML digunakan untuk melakukan filter dan kontrol detail halus pada data perubahan ( | ||||||||||||
Lainnya | Table Type: MaxCompute mendukung tabel standar,
Untuk informasi lebih lanjut tentang Tabel Delta, lihat Delta Table. |
Langkah 4: Konfigurasikan parameter lanjutan
Konfigurasikan parameter lanjutan
Jika Anda perlu melakukan konfigurasi detail halus untuk tugas guna memenuhi kebutuhan sinkronisasi kustom, Anda dapat membuka tab Advanced Parameters dan memodifikasi parameter lanjutan.
Di pojok kanan atas UI, klik Advanced settings untuk membuka halaman konfigurasi parameter lanjutan.
Ubah nilai parameter berdasarkan tooltip. Deskripsi setiap parameter ditampilkan di samping namanya.
Anda juga dapat menggunakan fitur konfigurasi berbasis AI. Masukkan instruksi bahasa alami, seperti menyesuaikan konkurensi tugas. Model bahasa besar (LLM) akan menghasilkan nilai parameter yang direkomendasikan. Anda dapat menentukan apakah akan menerima nilai yang dihasilkan berdasarkan kebutuhan bisnis Anda.

Ubah parameter ini hanya jika Anda benar-benar memahami artinya untuk menghindari masalah tak terduga seperti keterlambatan tugas, konsumsi sumber daya berlebihan yang menghambat tugas lain, atau kehilangan data.
Konfigurasi kemampuan DDL
Beberapa tautan sinkronisasi real-time dapat mendeteksi perubahan metadata dalam skema tabel sumber dan memberi tahu tujuan. Hal ini memungkinkan tujuan untuk 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 antarmuka untuk mengonfigurasi kebijakan pemrosesan yang sesuai untuk setiap jenis perubahan. Channel berbeda mendukung kebijakan pemrosesan yang berbeda.
Pemrosesan normal: Tujuan memproses informasi perubahan DDL dari sumber.
Abaikan: Pesan perubahan diabaikan, dan tidak ada modifikasi yang dilakukan di tujuan.
Error: Tugas sinkronisasi basis data penuh real-time dihentikan dan statusnya diatur ke Error.
Peringatan: Mengirim peringatan kepada Anda ketika jenis perubahan ini terjadi di sumber. Anda harus mengonfigurasi aturan notifikasi DDL di Configure Alert Rule.
Ketika kolom baru ditambahkan ke sumber dan dibuat di tujuan melalui sinkronisasi DDL, sistem tidak melakukan backfill data untuk kolom tersebut pada baris yang sudah ada di tabel tujuan.
Langkah 5: Terapkan dan jalankan tugas
Setelah menyelesaikan semua konfigurasi, klik Save di bagian bawah halaman untuk menyelesaikan konfigurasi tugas.
Tugas sinkronisasi basis data penuh tidak mendukung debugging langsung dan harus dipublikasikan ke Operation Center untuk dijalankan. Oleh karena itu, tugas baru atau yang telah diedit hanya berlaku setelah Anda Deploy mereka.
Saat mempublikasikan tugas, jika Anda memilih Start immediately after deployment, tugas akan dimulai secara otomatis. Jika tidak, setelah tugas dipublikasikan, buka halaman dan mulai tugas secara manual di kolom Aksi pada tugas target.
Klik Name/ID tugas di Tasks untuk melihat proses eksekusi terperinci.
Langkah 6: Konfigurasikan peringatan
1. Tambahkan aturan peringatan
Di daftar , temukan tugas real-time basis data penuh yang sesuai, lalu di kolom Aksi, klik untuk mengonfigurasi kebijakan peringatan untuk tugas tersebut.

(1) Klik Create Rule untuk mengonfigurasi aturan peringatan.
Anda dapat mengatur Alert Reason untuk memantau metrik tugas, seperti Business delay, Failover, Task status, DDL Notification, dan Task Resource Utilization, serta mengonfigurasi peringatan CRITICAL atau WARNING berdasarkan ambang batas yang ditentukan.
Dengan mengonfigurasi Configure Advanced Parameters, Anda dapat mengontrol interval pengiriman pesan peringatan untuk mencegah pemborosan dan penumpukan pesan akibat pengiriman terlalu banyak pesan sekaligus.
Jika Anda memilih Business delay, Task status, atau Task Resource Utilization sebagai alasan peringatan, Anda juga dapat mengaktifkan notifikasi pemulihan untuk memberi tahu penerima setelah tugas kembali normal.
(2) Kelola aturan peringatan.
Untuk aturan peringatan yang sudah ada, Anda dapat menggunakan sakelar peringatan untuk mengaktifkan atau menonaktifkannya. Anda juga dapat mengirim peringatan ke personel berbeda berdasarkan tingkat peringatan.
2. Lihat peringatan
Klik di daftar tugas yang diperluas untuk membuka halaman Alert Events, tempat Anda dapat melihat peringatan yang telah terjadi.
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 prosedur konfigurasi tugas.
Untuk tugas yang tidak sedang berjalan, Anda dapat memodifikasi konfigurasi, menyimpannya, lalu menerapkan tugas ke lingkungan produksi agar perubahan berlaku.
Untuk tugas yang berada dalam status Running, jika Anda mengedit dan mempublikasikannya tanpa memilih opsi Start immediately after deployment, tombol aksi asli berubah menjadi Apply Updates. Anda harus mengklik tombol ini agar perubahan berlaku di lingkungan online.
Setelah Anda mengklik Apply updates, sistem menerapkan perubahan dengan menghentikan, menerapkan, lalu memulai ulang tugas.
Jika Anda menambahkan tabel atau beralih ke tabel yang sudah ada:
Anda tidak dapat memilih checkpoint saat menerapkan pembaruan. Setelah mengklik OK, sistem melakukan schema migration dan full synchronization untuk tabel baru. Setelah sinkronisasi penuh selesai, sinkronisasi inkremental untuk tabel baru dimulai bersamaan dengan tabel asli.
Jika Anda memodifikasi informasi lain:
Anda dapat memilih checkpoint saat menerapkan pembaruan. Setelah mengklik OK, tugas dilanjutkan dari checkpoint yang ditentukan. Jika Anda tidak menentukan checkpoint, tugas dilanjutkan dari titik waktu saat terakhir dihentikan.
Tabel yang tidak diubah tidak terpengaruh. Setelah pembaruan dan pemulihan, mereka dilanjutkan dari titik penghentian terakhir mereka.
Lihat tugas
Setelah membuat tugas sinkronisasi, Anda dapat melihat daftar tugas yang telah dibuat dan informasi dasarnya di halaman tugas sinkronisasi.

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

Lanjutkan dari breakpoint
Skenario
Meriset ulang checkpoint secara manual saat memulai atau memulai ulang tugas cocok untuk skenario berikut:
Pemulihan tugas dan kelanjutan data: Jika tugas terganggu, Anda dapat mengatur checkpoint awal secara manual ke waktu gangguan untuk memastikan pemulihan data yang akurat.
Penyelesaian masalah data dan pelacakan mundur: Jika Anda menemukan bahwa data yang disinkronkan hilang atau tidak normal, Anda dapat memutar kembali checkpoint ke titik waktu sebelum masalah terjadi untuk memutar ulang dan memperbaiki data bermasalah.
Perubahan besar dalam konfigurasi tugas: Setelah melakukan penyesuaian signifikan pada konfigurasi tugas, seperti skema tabel tujuan atau pemetaan bidang, kami menyarankan Anda meriset ulang checkpoint ke titik waktu tertentu untuk memastikan akurasi data di bawah konfigurasi baru.
Prosedur
Klik Start, lalu di kotak dialog, pilih Whether to reset the site:

Jangan pilih Reset checkpoint dan langsung jalankan tugas: Tugas dilanjutkan dari titik waktu saat terakhir dihentikan (checkpoint terakhir).
Reset checkpoint dan pilih waktu: Tugas dimulai dari checkpoint waktu yang ditentukan. Pastikan waktu yang dipilih tidak lebih awal dari titik waktu paling awal yang tersedia di binlog sumber.
Jika muncul error yang menunjukkan checkpoint tidak valid atau checkpoint tidak ada saat menjalankan tugas sinkronisasi, coba solusi berikut:
Reset checkpoint: Saat memulai tugas, pilih checkpoint paling awal yang tersedia di database sumber.
Atur periode retensi log: Jika checkpoint database telah kedaluwarsa, pertimbangkan untuk meningkatkan periode retensi log di database menjadi 7 hari.
Sinkronkan data: Jika data hilang, pertimbangkan untuk melakukan sinkronisasi penuh lagi, atau konfigurasikan tugas sinkronisasi offline untuk menyinkronkan data yang hilang secara manual.
O&M dan tuning tugas
Setelah tugas dimulai, jika Anda mengalami masalah seperti keterlambatan konsumsi data, tugas macet, atau kinerja buruk, lihat O&M dan tuning untuk sinkronisasi basis data penuh real-time.
FAQ
Untuk informasi lebih lanjut tentang masalah umum sinkronisasi basis data penuh real-time, lihat FAQ tentang sinkronisasi real-time.
Lampiran: Format tabel aliran inkremental
Bidang tabel sumber yang diratakan
Parameter | Deskripsi |
sequence_id | ID catatan event inkremental. Nilainya unik dan meningkat secara monoton. |
operation_type | Jenis operasi. Nilai yang valid: I, D, dan U. |
execute_time | Stempel waktu yang sesuai dengan data. |
before_image | Menunjukkan apakah gambar diambil sebelum perubahan. Nilai yang valid: Y dan N. |
after_image | Menunjukkan apakah gambar diambil setelah perubahan. Nilai yang valid: Y dan N. |
src_datasource | Sumber data. |
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
Parameter | Deskripsi |
sequence_id | ID catatan event inkremental. Nilainya unik dan meningkat secara monoton. |
operation_type | Jenis operasi. Nilai yang valid: I, D, dan U. |
execute_time | Stempel waktu yang sesuai dengan data. |
before_image | Menunjukkan apakah gambar diambil sebelum perubahan. Nilai yang valid: Y dan N. |
after_image | Menunjukkan apakah gambar diambil setelah perubahan. Nilai yang valid: Y dan N. |
src_datasource | Sumber data sumber. |
src_database | Database sumber. |
src_table | Tabel sumber. |
ddl_sql | Jika operasinya bertipe DDL, pernyataan DDL ditulis ke bidang ini. |
data_columns | Bidang data aktual digabung ke dalam objek JSON. |
dan menggabungkan Manually enter dan Built-in Variable. Variabel yang didukung mencakup nama sumber data sumber, nama database sumber, dan nama tabel sumber.





di kolom Target Table.
yang muncul di UI.