全部产品
Search
文档中心

DataWorks:Konfigurasi tugas sinkronisasi real-time seluruh database

更新时间:Jan 21, 2026

Sinkronisasi real-time seluruh database menggabungkan migrasi penuh dan penangkapan inkremental untuk menyinkronkan database sumber (seperti MySQL atau Oracle) ke sistem tujuan dengan latensi rendah. Tugas ini mendukung sinkronisasi lengkap data historis serta secara otomatis menginisialisasi skema dan data tujuan. Selanjutnya, tugas ini beralih secara mulus ke mode inkremental real-time menggunakan teknologi seperti CDC untuk menangkap dan menyinkronkan perubahan data. Fitur ini cocok untuk skenario seperti gudang data real-time dan pembentukan data lake. Topik ini menjelaskan cara mengonfigurasi tugas tersebut, dengan contoh sinkronisasi database MySQL ke MaxCompute secara real-time.

Prasyarat

Titik masuk

Masuk ke Konsol DataWorks. Pada bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih Data Integration > Data Integration. Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Integration.

Batasan

DataWorks mendukung dua mode: real-time seluruh database dan seluruh database penuh & inkremental (near real-time). Kedua mode menyinkronkan data historis dan secara otomatis beralih ke mode inkremental real-time. Namun, keduanya berbeda dalam hal latensi dan persyaratan tabel tujuan:

  • Latensi: Real-time seluruh database menawarkan latensi mulai dari beberapa detik hingga menit. Seluruh Database Penuh & Inkremental (Near Real-time) menawarkan latensi T+1.

  • Tabel target (MaxCompute): Real-time seluruh database hanya mendukung tipe tabel Delta Table. Seluruh Database Penuh & Inkremental (Near Real-time) mendukung semua tipe.

Konfigurasi tugas

Langkah 1: Buat tugas sinkronisasi

Buat tugas sinkronisasi menggunakan salah satu metode berikut:

  • Metode 1: Pada halaman Synchronization Task, pilih Source dan Destination, lalu klik Create Synchronization Task. Dalam contoh ini, pilih MySQL sebagai sumber dan MaxCompute sebagai tujuan.

  • Metode 2: Pada halaman Synchronization Task, jika daftar tugas kosong, klik Create.

image

Langkah 2: Konfigurasi informasi dasar

  1. Konfigurasikan informasi dasar seperti nama tugas, deskripsi tugas, dan pemilik.

  2. Pilih tipe sinkronisasi: Data Integration menampilkan Task Type yang didukung berdasarkan jenis database sumber dan tujuan. Dalam contoh ini, pilih Real-time migration of entire database.

  3. Langkah sinkronisasi:

    • Structural migration: Secara otomatis membuat objek database tujuan (tabel, bidang, tipe data) yang sesuai dengan sumber, tanpa mentransfer data.

    • Full initialization (Opsional): Mereplikasi data historis dari objek sumber yang ditentukan (seperti tabel) ke tujuan. Biasanya digunakan untuk migrasi data awal atau inisialisasi.

    • Incremental Synchronization (Opsional): Secara terus-menerus menangkap data yang berubah (insert, update, delete) dari sumber setelah sinkronisasi penuh selesai dan menyinkronkannya ke tujuan.

Langkah 3: Konfigurasi jaringan dan resource

  1. Pada bagian Network and Resource Configuration, pilih Resource Group yang akan digunakan oleh tugas sinkronisasi. Anda dapat mengalokasikan Task Resource Usage (CUs) untuk tugas tersebut.

  2. Pilih sumber data MySQL yang telah ditambahkan untuk Source, pilih sumber data MaxCompute yang telah ditambahkan untuk Destination, lalu klik Test Connectivity.image

  3. Pastikan pengujian konektivitas berhasil untuk kedua sumber data, lalu klik Next.

Langkah 4: Pilih tabel untuk disinkronkan

Pada area Source Table, pilih tabel yang akan disinkronkan dari sumber data. Klik ikon image untuk memindahkan tabel ke daftar Selected Tables.

image

Jika Anda memiliki banyak tabel, gunakan Database Filtering atau Search For Tables untuk memilih tabel melalui ekspresi reguler.

Langkah 5: Petakan tabel tujuan

Tentukan aturan pemetaan antara tabel sumber dan tabel tujuan, serta konfigurasikan opsi seperti primary key, partisi dinamis, dan penanganan DDL/DML untuk menentukan cara penulisan data.

Parameter

Deskripsi

Refresh Mapping Results

Sistem mencantumkan tabel sumber yang dipilih. Namun, atribut tujuan hanya berlaku setelah Anda merefresh dan mengonfirmasi pemetaan.

  • Pilih tabel yang akan disinkronkan secara batch dan klik Batch Refresh Mapping.

  • Nama tabel tujuan: Nama tabel target dihasilkan secara otomatis berdasarkan aturan Customize Mapping Rules for Destination Table Names. Nilai default-nya adalah ${Source DB Name}_${Table Name}. Sistem membuat tabel tujuan jika belum ada.

Customize Mapping Rules for Destination Table Names (Opsional)

Sistem menggunakan aturan default untuk menghasilkan nama tabel: ${Source DB Name}_${Table Name}. Anda juga dapat mengklik Edit pada kolom Customize Mapping Rules for Destination Table Names untuk menambahkan aturan kustom nama tabel target.

  • Nama aturan: Tentukan nama aturan. Gunakan nama yang memiliki makna bisnis yang jelas.

  • Nama tabel tujuan: Hasilkan nama tabel target dengan mengklik tombol image dan memilih Manual Input atau Built-in Variable untuk penggabungan. Variabel yang didukung mencakup nama sumber data sumber, nama database sumber, dan nama tabel sumber.

  • Edit variabel bawaan: Anda dapat melakukan konversi string pada variabel bawaan.

Skenario yang didukung:

  1. Tambahkan awalan/akhiran: Tambahkan awalan atau akhiran ke nama tabel sumber dengan menetapkan konstanta.

    Konfigurasi aturan

    Efek penerapan

    image

    image

  2. Penggantian string terpadu: Ganti string "dev_" dalam nama tabel sumber dengan "prd_".

    Konfigurasi aturan

    Efek penerapan

    image

    image

  3. Beberapa tabel ke satu tabel.

    Konfigurasi aturan

    Efek penerapan

    image

    image

Edit Mapping of Field Data Types (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, lalu klik Apply and Refresh Mapping.

Catatan: Aturan konversi tipe bidang yang salah dapat menyebabkan kegagalan konversi, korupsi data, atau gangguan tugas.

Edit Destination Table Structure (Opsional)

Sistem secara otomatis membuat tabel tujuan yang belum ada atau menggunakan kembali tabel yang sudah ada dengan nama yang sama berdasarkan aturan pemetaan nama tabel kustom.

DataWorks menghasilkan skema tujuan berdasarkan skema sumber. Intervensi manual biasanya tidak diperlukan. Anda juga dapat memodifikasi skema tabel dengan cara berikut:

  • Tambahkan bidang ke tabel tunggal: Klik tombol image.png pada kolom Destination Table Name untuk menambahkan bidang.

  • Tambahkan bidang secara batch: Pilih semua tabel yang akan disinkronkan, lalu pilih Batch Modify > Destination Table Structure - Batch Modify and Add Fields di bagian bawah tabel.

  • Penggantian nama kolom tidak didukung.

Untuk tabel yang sudah ada, Anda hanya dapat menambahkan bidang. Untuk tabel baru, Anda dapat menambahkan bidang, bidang partisi, serta menetapkan tipe atau properti tabel. Untuk informasi lebih lanjut, lihat area yang dapat diedit di antarmuka.

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 Added Fields and Partition Fields. Prosedurnya sebagai berikut:

  • Penetapan nilai untuk tabel tunggal: Klik Configure pada kolom Value assignment untuk menetapkan nilai ke bidang tabel target.

  • Penetapan nilai secara batch: Pilih Batch Modify > Value assignment di bagian bawah daftar untuk menetapkan nilai ke bidang yang sama di tabel tujuan secara batch.

Tetapkan konstanta atau variabel, dan ubah tipe di Assignment Method. Metode yang didukung sebagai berikut:

  • Table Field

    • Penetapan manual: Masukkan langsung nilai konstanta, seperti abc.

    • Pilih variabel: Pilih variabel sistem yang didukung dari daftar drop-down. Anda dapat melihat makna spesifik variabel tersebut pada tooltip image di antarmuka.

    • Fungsi: Mendukung transformasi sederhana pada bidang target menggunakan fungsi. Untuk detail penggunaan, lihat Tetapkan nilai ke bidang tabel target menggunakan ekspresi fungsi.

  • Partition Field: Mendukung pembuatan partisi secara dinamis berdasarkan nilai enumerasi Source Field atau Event Time.

    • Manual Assignment: Masukkan langsung nilai konstanta, seperti abc.

    • Source Field: Menggunakan nilai bidang tabel sumber sebagai nilai bidang partisi. Tipe nilainya dapat berupa Field Value atau Time Value.

      • Field Value: Nilai enumerasi bidang sumber. Disarankan menggunakan bidang dengan jumlah nilai enumerasi terbatas untuk mencegah pembuatan terlalu banyak partisi dan penyebaran data.

      • Time Value: Jika nilai di bidang sumber berupa waktu, Anda dapat memprosesnya sesuai format berbeda dan menentukan Destination Format untuk memformat nilai partisi.

        • Time String: String yang merepresentasikan waktu, seperti "2018-10-23 02:13:56" atau "2021/05/18". Anda dapat mengubahnya ke format waktu dengan menentukan pola sumber dan tujuan. Untuk contoh string di atas, Anda dapat menggunakan format yyyy-MM-dd HH:mm:ss dan yyyy/MM/dd untuk serialisasi dan identifikasi.

        • Time Object: Jika nilai sumber sudah dalam format tipe waktu seperti Date atau Datetime, pilih tipe ini secara langsung.

        • Unix Timestamp (Seconds): Timestamp tingkat detik. Juga mendukung angka atau string yang sesuai format timestamp 10 digit, seperti 1610529203 atau "1610529203".

        • Unix Timestamp (Milliseconds): Timestamp tingkat milidetik. Juga mendukung angka atau string yang sesuai format timestamp 13 digit, seperti 1610529203002 atau "1610529203002".

    • Select Variable: Anda dapat menggunakan waktu perubahan event sumber EVENT_TIME sebagai sumber nilai partisi. Penggunaannya mirip dengan Source Field.

    • Function: Mendukung transformasi sederhana pada bidang sumber menggunakan fungsi sebelum digunakan sebagai nilai partisi. Untuk detail penggunaan, lihat Tetapkan nilai ke bidang tabel target menggunakan ekspresi fungsi.

Catatan

Catatan: Partisi yang berlebihan mengurangi efisiensi sinkronisasi. Pembuatan lebih dari 1.000 partisi per hari menyebabkan kegagalan dan penghentian tugas. Perkirakan jumlah partisi yang dihasilkan saat menentukan penetapan nilai. Gunakan metode pembuatan partisi tingkat detik atau milidetik dengan hati-hati.

Source Split Column

Anda dapat memilih bidang dari tabel sumber pada daftar drop-down atau memilih Not Split. Saat tugas sinkronisasi dijalankan, tugas tersebut dibagi menjadi beberapa tugas berdasarkan bidang ini untuk memungkinkan pembacaan data secara konkuren dan batch.

Disarankan menggunakan primary key tabel sebagai source split key. Tipe seperti string, float, dan date tidak didukung.

Saat ini, source split key hanya didukung ketika sumbernya adalah MySQL.

Execute Full Synchronization

Jika sinkronisasi penuh dikonfigurasi di Langkah 3, Anda dapat membatalkan sinkronisasi data penuh untuk tabel tertentu secara individual. Ini berlaku untuk skenario di mana data penuh telah disinkronkan ke tujuan dengan cara lain.

Full Condition

Filter data sumber selama fase penuh. Anda hanya perlu menulis klausa where di sini, tanpa kata kunci WHERE.

Configure DML Rule

Pemrosesan pesan DML memungkinkan penyaringan dan pengendalian perubahan data yang ditangkap (Insert, Update, Delete) sebelum data ditulis ke tujuan. Aturan ini hanya berlaku selama fase inkremental.

Others

  • Table Type: MaxCompute mendukung Standard Table dan Delta Table. Jika status tabel target adalah "To Be Created", Anda dapat memilih tipe tabel saat mengedit struktur tabel target. Tabel yang sudah ada tidak dapat mengubah tipe-nya.

    Real-time seluruh database hanya mendukung Delta Table sebagai tipe tabel target. Untuk tipe Standard Table, lihat Konfigurasi sinkronisasi penuh dan inkremental.
  • Jika tipe tabelnya Delta Table, Anda dapat menentukan Table Bucket Num dan Historical Data Retention (Hours).

Untuk informasi lebih lanjut tentang Delta Table, lihat Delta Table.

Langkah 6: Konfigurasi kemampuan DDL

Beberapa tugas sinkronisasi real-time mendeteksi perubahan metadata pada struktur tabel sumber dan menyinkronkan pembaruan atau mengambil tindakan lain seperti memberi peringatan, mengabaikan, atau menghentikan eksekusi.

Klik Configure DDL Capability di pojok kanan atas antarmuka untuk menetapkan kebijakan pemrosesan untuk setiap tipe perubahan. Kebijakan yang didukung bervariasi tergantung saluran.

  • Pemrosesan Normal: Tujuan memproses informasi perubahan DDL dari sumber.

  • Abaikan: Pesan perubahan diabaikan, dan tidak ada modifikasi di tujuan.

  • Error: Tugas sinkronisasi real-time seluruh database dihentikan, dan statusnya diatur menjadi Error.

  • Peringatan: Notifikasi dikirim kepada pengguna ketika perubahan semacam itu terjadi di sumber. Anda harus mengonfigurasi aturan notifikasi DDL di Configure Alert Rule.

Catatan

Saat sinkronisasi DDL menambahkan kolom sumber ke tujuan, catatan yang sudah ada tidak diisi ulang dengan data untuk kolom baru tersebut.

Langkah 7: Konfigurasi lainnya

Konfigurasi alarm

1. Tambahkan Alarm

image

(1) Klik Create Rule untuk mengonfigurasi aturan alarm.

Tetapkan Alert Reason untuk memantau metrik seperti Business delay, Failover, Task status, DDL Notification, dan Task Resource Utilization untuk tugas tersebut. Anda dapat menetapkan level alarm CRITICAL atau WARNING berdasarkan ambang batas tertentu.

  • Dengan menetapkan Configure Advanced Parameters, Anda dapat mengontrol interval waktu pengiriman pesan alarm untuk mencegah kelelahan peringatan dan penumpukan pesan.

  • Jika Anda memilih Business delay, Task status, atau Task Resource Utilization sebagai alasan alarm, Anda juga dapat mengaktifkan notifikasi pemulihan untuk memberi tahu penerima ketika tugas kembali normal.

(2) Kelola aturan alarm.

Untuk aturan alarm yang telah dibuat, Anda dapat menggunakan sakelar alarm untuk mengontrol apakah aturan alarm diaktifkan. Kirim alarm ke penerima tertentu berdasarkan level alarm.

2. Lihat Alarm

Buka More > Configure Alert Rule di daftar tugas untuk masuk ke halaman event alarm dan melihat informasi alarm yang telah terjadi.

Konfigurasi resource group

Anda dapat mengelola resource group yang digunakan oleh tugas dan konfigurasinya di panel Configure Resource Group di pojok kanan atas antarmuka.

1. Lihat dan ganti resource group

  • Klik Configure Resource Group untuk melihat resource group yang saat ini terikat pada tugas.

  • Untuk mengganti resource group, alihkan ke resource group lain yang tersedia di sini.

2. Sesuaikan resource dan atasi error "resource tidak mencukupi"

  • Jika log tugas menampilkan pesan seperti Please confirm whether there are enough resources..., unit komputasi (CUs) yang tersedia pada resource group saat ini tidak cukup untuk memulai atau menjalankan tugas. Anda dapat menambah jumlah CUs yang digunakan oleh tugas di panel Configure Resource Group untuk mengalokasikan lebih banyak resource komputasi.

Untuk rekomendasi pengaturan resource, lihat Data Integration Recommended CUs. Sesuaikan pengaturan berdasarkan kondisi aktual.

Konfigurasi parameter lanjutan

Untuk kebutuhan sinkronisasi kustom, klik Configure pada kolom Advanced Settings untuk memodifikasi parameter lanjutan.

  1. Klik Advanced Settings di pojok kanan atas antarmuka untuk masuk ke halaman konfigurasi parameter lanjutan.

  2. Modifikasi nilai parameter sesuai petunjuk. Makna setiap parameter dijelaskan setelah nama parameter.

Penting

Pahami sepenuhnya parameter sebelum dimodifikasi untuk mencegah masalah seperti keterlambatan tugas, konsumsi resource berlebihan yang menghambat tugas lain, atau kehilangan data.

Langkah 8: Jalankan tugas sinkronisasi

  1. Setelah menyelesaikan konfigurasi, klik Save atau Complete untuk menyimpan tugas.

  2. Pada Data Integration > Synchronization Task, temukan tugas sinkronisasi yang telah dibuat dan klik Deploy pada kolom Operation. Jika Anda memilih Start immediately after deployment pada kotak dialog yang muncul dan klik Confirm, tugas akan segera dijalankan. Jika tidak, Anda harus menjalankan tugas secara manual.

    Catatan

    Tugas Data Integration harus diterapkan ke lingkungan produksi sebelum dapat dijalankan. Oleh karena itu, Anda harus menerapkan tugas baru atau yang telah dimodifikasi agar perubahan berlaku.

  3. Klik Name/ID tugas pada Tasks untuk melihat detail eksekusi.

Edit tugas

  1. Pada halaman Data Integration > Synchronization Task, temukan tugas sinkronisasi yang telah dibuat, klik More pada kolom Operation, lalu klik Edit. Modifikasi informasi tugas mengikuti langkah-langkah konfigurasi tugas.

  2. Untuk tugas yang tidak sedang berjalan, modifikasi, simpan, dan publikasikan konfigurasi.

  3. Untuk tugas dalam status Running, jika Anda tidak memilih Start immediately after deployment saat mengedit dan menerapkan tugas, tombol operasi asli berubah menjadi Apply Updates. Klik tombol ini untuk menerapkan perubahan secara online.

  4. Mengklik Apply Updates memicu urutan "Stop, Publish, dan Restart" untuk perubahan tersebut.

    • Jika perubahan melibatkan penambahan tabel atau penggantian tabel yang ada:

      Anda tidak dapat memilih checkpoint saat menerapkan pembaruan. Setelah mengklik Confirm, migrasi skema dan inisialisasi penuh dilakukan untuk tabel baru. Setelah inisialisasi penuh selesai, operasi inkremental dimulai bersamaan dengan tabel-tabel asli lainnya.

    • Jika informasi lain dimodifikasi:

      Pemilihan checkpoint didukung saat menerapkan pembaruan. Setelah mengklik Confirm, tugas melanjutkan eksekusi dari checkpoint yang ditentukan. Jika tidak ditentukan, tugas dimulai dari checkpoint waktu berhenti terakhir.

    Tabel yang tidak diubah tidak terpengaruh dan akan melanjutkan eksekusi dari titik waktu berhenti terakhir setelah restart pembaruan.

Lihat tugas

Setelah membuat tugas sinkronisasi, Anda dapat melihat daftar tugas sinkronisasi yang telah dibuat beserta informasi dasarnya di halaman Synchronization Task.

image

  • Anda dapat Start atau Stop tugas sinkronisasi di kolom Operation. Di More, Anda dapat melakukan operasi seperti Edit dan View.

  • Untuk tugas yang telah dijalankan, Anda dapat melihat status dasar eksekusi di Execution Overview, atau klik area ikhtisar yang sesuai untuk melihat detail eksekusi.

    image

Lanjutkan dari breakpoint

Skenario yang berlaku

Reset checkpoint selama startup atau restart dalam skenario berikut:

  • Pemulihan tugas: Tentukan titik waktu interupsi untuk memastikan pemulihan data yang akurat setelah terjadi error.

  • Pemecahan masalah dan pelacakan mundur: Jika Anda mendeteksi kehilangan data atau anomali, Anda dapat mereset checkpoint ke waktu sebelum masalah terjadi untuk memutar ulang dan memperbaiki data.

  • Perubahan konfigurasi tugas besar-besaran: Setelah melakukan penyesuaian besar pada konfigurasi tugas (seperti struktur tabel target atau pemetaan bidang), disarankan untuk mereset checkpoint agar sinkronisasi dimulai dari titik waktu yang jelas guna memastikan akurasi data di bawah konfigurasi baru.

Deskripsi operasi

Klik Start. Pada kotak dialog, pilih Whether to reset the site:

image

  • Jangan reset: Tugas dilanjutkan dari checkpoint terakhir yang dicatat sebelum berhenti.

  • Reset dan pilih waktu: Mulai eksekusi dari checkpoint waktu yang ditentukan. Pastikan waktunya berada dalam rentang Binlog sumber.

Penting

Jika muncul pesan error checkpoint atau pesan checkpoint tidak ada saat menjalankan tugas sinkronisasi, coba solusi berikut:

  • Reset checkpoint: Saat memulai tugas sinkronisasi real-time, reset checkpoint dan pilih checkpoint paling awal yang tersedia di database sumber.

  • Sesuaikan waktu retensi log: Jika checkpoint database telah kedaluwarsa, pertimbangkan untuk menyesuaikan waktu retensi log di database, misalnya, atur menjadi 7 hari.

  • Sinkronisasi data: Jika data sudah hilang, pertimbangkan untuk melakukan sinkronisasi penuh lagi atau mengonfigurasi tugas sinkronisasi offline untuk menyinkronkan data yang hilang secara manual.

FAQ

Untuk pertanyaan umum tentang sinkronisasi real-time seluruh database, lihat Sinkronisasi real-time dan Sinkronisasi penuh dan inkremental.

Kasus lainnya