全部产品
Search
文档中心

DataWorks:Konfigurasikan sinkronisasi penuh dan inkremental

更新时间:Jan 22, 2026

Data Integration mendukung sinkronisasi penuh dan inkremental (near real-time) dari sumber seperti ApsaraDB for OceanBase, MySQL, Oracle, dan PolarDB ke MaxCompute. Solusi ini mengintegrasikan migrasi data penuh dengan sinkronisasi inkremental real-time serta menggabungkan data di tujuan secara harian (T+1). Topik ini menjelaskan cara membuat tugas sinkronisasi penuh dan inkremental (near real-time) dengan MySQL sebagai sumber dan MaxCompute sebagai tujuan.

Cara kerja

Tugas sinkronisasi penuh dan inkremental menggunakan proses terpadu untuk migrasi data penuh awal dan sinkronisasi inkremental berkelanjutan. Setelah tugas dimulai, sistem secara otomatis membuat dan mengoordinasikan subtask batch dan real-time untuk menggabungkan serta menulis data ke tabel target (tabel Base).

Proses inti terdiri dari tiga fase:

  1. Inisialisasi penuh: Saat startup, subtask sinkronisasi batch memigrasikan skema tabel dan data historis dari semua tabel sumber ke tabel Base target di MaxCompute. Setelah inisialisasi data penuh selesai, subtask sinkronisasi batch ini dibekukan.

  2. Sinkronisasi data inkremental: Setelah migrasi penuh selesai, subtask sinkronisasi real-time mulai menangkap perubahan inkremental (Insert, Update, Delete) dari database sumber (misalnya melalui binary logs MySQL) dan menuliskannya ke tabel Log sementara di MaxCompute secara near real-time.

  3. Penggabungan berkala (Merge): Tugas Merge harian (T+1) menggabungkan data inkremental yang terakumulasi di tabel Log dari hari sebelumnya (T) dengan data penuh di tabel Base. Hasilnya adalah snapshot lengkap terbaru untuk hari T, yang ditulis ke partisi baru di tabel Base. Tugas merge dijalankan sekali sehari.

Menggunakan tabel partisi sebagai contoh, alur data adalah sebagai berikut:

image

Tugas sinkronisasi ini memiliki fitur berikut:

  • Multi-tabel ke multi-tabel/tunggal: Mendukung sinkronisasi beberapa tabel sumber ke tabel target yang sesuai atau penggabungan data dari beberapa tabel sumber ke satu tabel target menggunakan aturan pemetaan.

  • Komponen tugas: Tugas sinkronisasi database penuh terdiri dari subtask sinkronisasi batch untuk inisialisasi penuh, subtask sinkronisasi real-time untuk sinkronisasi inkremental, dan tugas Merge untuk konsolidasi data.

  • Dukungan tabel target: Mendukung penulisan data ke tabel partisi maupun non-partisi di MaxCompute.

Catatan penggunaan

  • Kebutuhan resource: Tugas ini memerlukan Serverless resource group atau grup sumber daya eksklusif untuk Data Integration. Saat melakukan sinkronisasi dalam mode instans, spesifikasi resource minimum adalah 8 vCPU dan 16 GB untuk grup sumber daya eksklusif untuk Data Integration, atau 2 CU untuk Serverless resource group.

  • Konektivitas jaringan: Pastikan konektivitas jaringan antara grup sumber daya Data Integration dengan sumber data (misalnya MySQL) dan target (misalnya MaxCompute). Untuk detailnya, lihat Overview of network connectivity solutions.

  • Batasan wilayah: Sinkronisasi hanya didukung untuk sumber data MaxCompute self-managed yang berada di wilayah yang sama dengan ruang kerja DataWorks saat ini. Saat menggunakan sumber data MaxCompute self-managed, Anda harus mengikat resource komputasi MaxCompute di DataStudio DataWorks; jika tidak, node SQL MaxCompute tidak dapat dibuat, sehingga pembuatan node "done" sinkronisasi penuh akan gagal.

  • Batasan grup sumber daya penjadwalan: Subtask sinkronisasi batch penuh memerlukan resource group yang dikonfigurasi. Grup sumber daya penjadwalan bersama tidak didukung.

  • Batasan jenis tabel target: Sinkronisasi ke tabel eksternal MaxCompute tidak didukung.

Peringatan

  • Persyaratan primary key: Tabel tanpa primary key tidak didukung. Anda harus secara manual menentukan satu atau beberapa kolom sebagai primary key bisnis (Custom Primary Key) selama konfigurasi.

  • Validitas AccessKey (AK): Jika Anda menggunakan AccessKey (AK) sementara untuk sinkronisasi, tugas akan gagal ketika AK kedaluwarsa (secara otomatis setelah 7 hari). Platform secara otomatis merestart tugas saat mendeteksi kegagalan akibat AK sementara. Jika pemantauan dikonfigurasi untuk jenis tugas ini, Anda akan menerima notifikasi.

  • Latensi visibilitas data: Pada hari konfigurasi, Anda hanya dapat mengkueri data historis penuh untuk tugas sinkronisasi penuh dan inkremental (near real-time) ke MaxCompute. Data inkremental tersedia di MaxCompute setelah tugas Merge selesai pada hari berikutnya. Untuk detailnya, lihat bagian penulisan data di Cara kerja.

  • Penyimpanan dan siklus hidup: Tugas sinkronisasi penuh dan inkremental (near real-time) menghasilkan partisi penuh setiap hari. Untuk mengontrol biaya penyimpanan, tabel MaxCompute yang dibuat otomatis oleh tugas memiliki siklus hidup default 30 hari. Jika hal ini tidak sesuai dengan kebutuhan bisnis Anda, Anda dapat mengubah siklus hidup dengan mengklik nama tabel MaxCompute yang sesuai selama konfigurasi tugas. Untuk detailnya, lihat Edit skema tabel target (Opsional).

  • SLA: Data Integration menggunakan saluran data sinkronisasi engine MaxCompute untuk unggah dan unduh data (untuk detail SLA, lihat Data upload scenarios and tools). Evaluasi pilihan teknis Anda berdasarkan SLA saluran data sinkronisasi engine MaxCompute.

  • Kebijakan retensi binlog: Sinkronisasi real-time bergantung pada binary logs (binlogs) database MySQL sumber. Pastikan periode retensi binlog cukup untuk mencegah gangguan sinkronisasi akibat hilangnya start offset selama jeda panjang atau retry kegagalan.

Penagihan

  • Tugas penuh dan inkremental terdiri dari tugas sinkronisasi batch untuk fase penuh, tugas sinkronisasi real-time untuk fase inkremental, dan tugas berkala untuk fase merge berkala. Penagihan diterapkan secara terpisah untuk ketiga fase tersebut. Ketiga fase ini mengonsumsi CUs dari grup sumber daya (lihat Billing of serverless resource groups). Tugas berkala juga dikenakan biaya penjadwalan tugas (lihat Scheduling instance fees).

  • Sebagai tambahan, tautan sinkronisasi penuh dan inkremental ke MaxCompute mengonsumsi resource komputasi MaxCompute untuk penggabungan berkala data penuh dan inkremental. Biaya ini dikenakan langsung oleh MaxCompute berdasarkan ukuran data penuh yang disinkronkan dan siklus merge. Untuk rincian biaya, lihat Billable items and billing methods.

Prosedur

Langkah 1: Pilih jenis sinkronisasi

  1. Buka halaman Data Integration.

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

  2. Di panel navigasi kiri, klik Synchronization Task. Lalu, klik Create Synchronization Task di bagian atas halaman. Di kotak dialog Create Synchronization Task, konfigurasikan informasi utama berikut:

    • Source Type: MySQL.

    • Destination Type: MaxCompute.

    • Name: Masukkan nama tugas sinkronisasi kustom.

    • Task Type: Full increment of the whole warehouse.

    • Sync Procedure: Structural migration, Incremental synchronization, Full initialization, dan Cycle Merge.

Langkah 2: Konfigurasikan konektivitas jaringan

  1. Di bagian Network and Resource Configuration, pilih Resource Group yang digunakan untuk tugas sinkronisasi. Anda dapat mengalokasikan CUs secara terpisah untuk sinkronisasi penuh dan inkremental di bagian Task Resource Usage untuk mengoptimalkan pemanfaatan resource.

  2. Pilih sumber data MySQL yang telah ditambahkan untuk Source dan sumber data MaxCompute yang telah ditambahkan untuk Destination, lalu klik Test Connectivity.PixPin_2025-12-18_15-30-52

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

Langkah 3: Pilih tabel

Di 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 4: Konfigurasikan pengaturan tugas

  • Log table time range: Parameter ini menentukan rentang waktu kueri saat menggabungkan data dari tabel Log ke partisi target.

    Perluas rentang ini secara tepat untuk memastikan semua data yang termasuk dalam partisi digabungkan dengan benar dan mencegah kesalahan partisi lintas hari akibat latensi data.

  • Merge task scheduling: Atur waktu penjadwalan untuk tugas Merge harian. Untuk detail pengaturan waktu penjadwalan, lihat Schedule time.

  • Periodic scheduling parameters: Atur parameter penjadwalan. Parameter ini dapat digunakan nanti dalam pengaturan partisi untuk memberikan nilai ke partisi, memenuhi persyaratan penulisan ke partisi berdasarkan tanggal.

  • Table partition settings: Atur partisi untuk tabel target, termasuk nama kolom partisi dan metode pemberian nilai. Kolom pemberian nilai dapat menggunakan parameter penjadwalan untuk menghasilkan partisi secara otomatis berdasarkan tanggal.

Langkah 5: Petakan tabel target

Pada langkah ini, Anda menentukan aturan pemetaan antara tabel sumber dan target serta menentukan aturan seperti primary key, partisi dinamis, dan konfigurasi DDL/DML untuk menentukan cara penulisan data.

Tindakan

Deskripsi

Refresh Mapping Results

Sistem mencantumkan tabel sumber yang dipilih. Atribut tabel target hanya berlaku setelah Anda merefresh dan mengonfirmasi.

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

  • Target Table Name: Nama tabel target dihasilkan secara otomatis berdasarkan aturan Customize Mapping Rules for Destination Table Names. Format default adalah ${Source_Database_Name}_${Table_Name}. Jika tabel target belum ada, sistem akan membuatnya secara otomatis.

Customize Mapping Rules for Destination Table Names (Opsional)

Sistem menggunakan aturan default untuk pembuatan nama tabel: ${Source_Database_Name}_${Table_Name}. Anda juga dapat mengklik Edit di kolom Customize Mapping Rules for Destination Table Names untuk menambahkan aturan kustom nama tabel target.

  • Rule Name: Masukkan nama yang jelas menggambarkan logika bisnis.

  • Target Table Name: Anda dapat menghasilkan nama tabel target dengan mengklik tombol image dan memilih Manual Input atau Built-in Variable untuk penggabungan. Variabel yang didukung meliputi Source Data Source Name, Source Database Name, dan Source Table Name.

  • Edit Built-in Variable: Variabel bawaan mendukung transformasi string berdasarkan nilai aslinya.

Anda dapat:

  1. Tambahkan awalan/akhiran ke nama: Tambahkan awalan atau akhiran ke nama tabel sumber dengan mendefinisikan 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. Gabungkan beberapa tabel menjadi satu tabel.

    Konfigurasi aturan

    Efek penerapan

    image

    image

Edit Mapping of Field Data Types (Opsional)

Sistem menyediakan pemetaan default antara tipe field sumber dan target. Anda dapat mengklik Edit Mapping of Field Data Types di pojok kanan atas tabel untuk menyesuaikan hubungan pemetaan tipe field antara tabel sumber dan target, lalu klik Apply and Refresh Mapping.

Saat mengedit pemetaan tipe field, pastikan aturan konversi tipe field benar; jika tidak, kegagalan konversi tipe dapat terjadi, menghasilkan data kotor dan memengaruhi eksekusi tugas.

Edit Destination Table Structure (Opsional)

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

DataWorks secara otomatis menghasilkan skema tabel target berdasarkan skema tabel sumber. Intervensi manual tidak diperlukan untuk skenario standar. Anda juga dapat memodifikasi skema tabel menggunakan metode berikut:

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

  • Tambahkan field 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 field. Untuk tabel baru, Anda dapat menambahkan field, field partisi, serta mengatur tipe atau properti tabel. Lihat area pengeditan di antarmuka untuk detailnya.

Destination Table Column Assignment

Field native dipetakan secara otomatis berdasarkan kecocokan nama field di tabel sumber dan target. Added Fields dari langkah sebelumnya memerlukan pemberian nilai manual. Prosedurnya sebagai berikut:

  • Pemberian nilai tabel tunggal: Klik tombol Configure di kolom Destination Table Column Assignment untuk memberikan nilai ke field tabel target.

  • Pemberian nilai batch: Pilih Batch Modify > Destination Table Column Assignment di bagian bawah daftar untuk memberikan nilai secara batch ke field identik di tabel target.

Anda dapat memberikan konstanta atau variabel. Alihkan tipe di Assignment Method. Metode yang didukung meliputi:

Table Field

  • Pemberian nilai manual: Masukkan langsung nilai konstanta, misalnya: abc.

  • Pilih variabel: Pilih variabel sistem yang didukung dari daftar drop-down. Lihat makna variabel spesifik di tooltip image.

Source Split PK

Anda dapat memilih field dari tabel sumber di daftar drop-down source split key atau memilih No Split. Selama sinkronisasi, tugas dibagi menjadi beberapa subtask berdasarkan field ini untuk memungkinkan pembacaan data secara konkuren dan batch.

Kami menyarankan menggunakan primary key atau field dengan distribusi data merata sebagai source split key. Tipe string, float, dan date tidak didukung.

Source split key saat ini hanya didukung untuk sumber MySQL.

Execute Full Synchronization

Jika sinkronisasi penuh dikonfigurasi di Langkah 3, Anda dapat membatalkan pemilihan sinkronisasi data penuh untuk tabel tertentu. Ini berlaku untuk skenario di mana data penuh telah disinkronkan ke target melalui cara lain.

Full Synchronization Condition

Memfilter data sumber selama fase sinkronisasi penuh. Masukkan klausa WHERE tanpa kata kunci WHERE.

DML Rule

Pemrosesan pesan DML digunakan untuk melakukan filter dan kontrol granular pada data perubahan (Insert, Update, Delete) yang ditangkap dari sumber sebelum menuliskannya ke target. Aturan ini hanya berlaku selama fase inkremental.

Full Data Merge Cycle

Saat ini hanya mendukung merge harian.

Merge Primary Key

Anda dapat menentukan primary key dengan memilih satu atau beberapa kolom dari tabel.

  • Primary key kolom tunggal: Pilih satu kolom dengan nilai unik (seperti id) sebagai primary key.

  • Primary key komposit: Jika tidak ada kolom tunggal yang unik, Anda dapat memilih kombinasi beberapa kolom. Nilai gabungan kolom-kolom ini harus secara unik mengidentifikasi setiap baris data untuk memastikan keunikan saat menulis data dan mencegah penimpaan.

Langkah 6: Konfigurasikan 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 mengatur kebijakan pemrosesan untuk setiap jenis perubahan. Kebijakan yang didukung bervariasi tergantung saluran.

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

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

  • Error: Seluruh tugas sinkronisasi real-time database dihentikan, dan status diatur ke Error.

  • Alert: Notifikasi dikirim ke pengguna saat 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.

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

  • Dengan mengatur 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 saat 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

Klik More > Configure Alert Rule di daftar tugas untuk membuka halaman event alarm dan melihat informasi alarm yang telah terjadi.

Konfigurasi grup sumber daya

Anda dapat mengelola grup sumber daya yang digunakan oleh tugas dan konfigurasinya di panel Configure Resource Group di pojok kanan atas antarmuka.

1. Lihat dan ganti grup sumber daya

  • Klik Configure Resource Group untuk melihat grup sumber daya yang saat ini terikat ke tugas.

  • Untuk mengganti grup sumber daya, alihkan ke grup sumber daya lain yang tersedia di sini.

2. Sesuaikan resource dan atasi error "insufficient resources"

  • Jika log tugas menampilkan pesan seperti Please confirm whether there are enough resources..., unit komputasi (CUs) yang tersedia dari grup sumber daya saat ini tidak cukup untuk memulai atau menjalankan tugas. Anda dapat meningkatkan jumlah CUs yang digunakan 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.

Catatan

Tugas sinkronisasi batch di DataWorks dikirimkan oleh grup sumber daya penjadwalan ke grup sumber daya eksekusi tugas Data Integration untuk dieksekusi. Oleh karena itu, selain menggunakan grup sumber daya eksekusi tugas Data Integration, tugas sinkronisasi batch juga mengonsumsi resource dari grup sumber daya penjadwalan dan dikenakan biaya instans penjadwalan.

Konfigurasi parameter lanjutan

Untuk kebutuhan sinkronisasi kustom, klik Configure di 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 parameter sepenuhnya sebelum memodifikasi untuk mencegah masalah seperti penundaan 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. Di Data Integration > Synchronization Task, temukan tugas sinkronisasi yang telah dibuat dan klik Deploy di kolom Operation. Jika Anda memilih Start immediately after deployment di kotak dialog yang muncul dan klik Confirm, tugas akan dieksekusi segera. 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 di Tasks untuk melihat detail eksekusi.

Langkah selanjutnya

Setelah mengonfigurasi tugas, Anda dapat mengelolanya, menambah atau menghapus tabel, mengonfigurasi pemantauan dan peringatan, serta melihat metrik utama saat tugas berjalan. Untuk detailnya, lihat Perform O&M on a full and incremental sync task.

FAQ

Q: Mengapa data tabel Base tidak diperbarui seperti yang diharapkan?

A: Lihat penyebab dan solusi berikut:

image

Gejala

Penyebab

Solusi

Validasi gagal untuk data partisi T-1 di tabel Log inkremental.

Tugas sinkronisasi real-time mengalami pengecualian, sehingga data partisi T-1 di tabel Log inkremental tidak dihasilkan dengan benar.

  • Periksa penyebab kegagalan tugas sinkronisasi real-time dan mulai ulang dari offset kegagalan.

    Catatan

    Retensi Binlog RDS terbatas. Jika Binlog untuk titik waktu yang diperlukan telah dipurge, sinkronisasi real-time akan gagal dengan error "offset not found".

  • Siapkan pemantauan dan peringatan untuk subtask sinkronisasi real-time.

Validasi gagal untuk data partisi T-2 di tabel Base target.

  1. Tugas Merge gagal pada hari sebelumnya.

  2. Partisi tabel Base untuk hari sebelumnya dihapus.

  • Konfigurasikan pemantauan status eksekusi untuk node Merge. Untuk detailnya, lihat Create a custom alert rule.

  • Jika partisi T-2 tabel Base tidak sengaja dihapus, gunakan fungsi pengisian ulang data untuk memulihkannya. Setelah pemulihan, jalankan ulang node Merge. Untuk detailnya, lihat Data backfill instance O&M.