全部产品
Search
文档中心

DataWorks:Sinkronisasi offline seluruh database MySQL ke Elasticsearch

更新时间:Nov 10, 2025

Data Integration mendukung sinkronisasi offline seluruh database dari sumber seperti MySQL, PolarDB, dan SQL Server ke Elasticsearch. Topik ini menggunakan MySQL sebagai sumber dan Elasticsearch sebagai tujuan untuk menjelaskan cara menyinkronkan seluruh database MySQL ke Elasticsearch dalam mode offline.

Prasyarat

Prosedur

Langkah 1: Pilih jenis tugas sinkronisasi

  1. Buka halaman Data Integration.

    Masuk 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 tarik-turun dan klik Go to Data Integration.

  2. Di panel navigasi kiri, klik Sync Task, lalu klik Create Sync Task di bagian atas halaman untuk membuka halaman pembuatan tugas sinkronisasi. Konfigurasikan informasi dasar berikut:

    • Data Source And Destination: MySQLElasticsearch

    • New Task Name: Sesuaikan nama untuk tugas sinkronisasi.

    • Sync Type: Offline synchronization of the entire database to Elasticsearch.

Langkah 2: Konfigurasi jaringan dan sumber daya

  1. Di bagian Network And Resources, pilih Resource Group untuk tugas sinkronisasi. Anda dapat mengalokasikan jumlah unit komputasi (CU) untuk Task Resource Usage.

  2. Untuk Source Data Source, pilih sumber data MySQL yang telah ditambahkan. Untuk Destination Data Source, pilih sumber data Elasticsearch yang telah ditambahkan. Lalu, klik Test Connectivity.

    image

  3. Setelah memastikan bahwa sumber data dan tujuan terhubung, klik Next.

Langkah 3: Konfigurasi sumber sinkronisasi dan aturan

  1. Pilih tabel yang ingin Anda sinkronkan.

    Pada langkah ini, Anda dapat memilih tabel yang ingin disinkronkan dari database sumber di bagian Source Database Tables, lalu klik ikon image untuk memindahkannya ke bagian Selected Tables di sebelah kanan.

    image

  2. Tetapkan aturan pemetaan dari nama tabel ke nama indeks.

    Setelah memilih database dan tabel sumber, data akan ditulis ke skema dan indeks tujuan yang memiliki nama sama dengan database dan tabel sumber secara default. Jika skema atau indeks tujuan tersebut tidak ada, sistem akan secara otomatis membuatnya. Anda juga dapat menyesuaikan nama skema atau indeks tujuan dengan menggunakan Set Mapping Rules From Table Names To Index Names.

    Deskripsi konfigurasi:

    • Conversion Rules For Source Database Names And Destination Schema Names: Semua aturan konversi diterapkan pada nama database asli. Setelah konversi selesai, hasilnya dapat digunakan sebagai variabel ${db_name_src_transed} di Destination Index Name Rule.

      Penting
      • Jika Anda tidak menggunakan Destination Index Name Rule, aturan ini secara langsung memengaruhi nama skema tujuan akhir.

      • Jika Anda menggunakan Destination Index Name Rule, aturan ini tidak hanya memengaruhi nilai variabel ${db_name_src_transed}, tetapi juga memengaruhi nama skema tujuan akhir.

    • Conversion Rules For Source Table Names And Destination Index Names: Semua aturan konversi diterapkan pada nama tabel asli. Setelah konversi selesai, hasilnya dapat digunakan sebagai variabel ${db_table_name_src_transed} di Destination Index Name Rule.

      Penting
      • Jika Anda tidak menggunakan Destination Index Name Rule, aturan ini secara langsung memengaruhi nama indeks tujuan akhir.

      • Jika Anda menggunakan Destination Index Name Rule, aturan ini hanya memengaruhi nilai variabel ${db_table_name_src_transed} dan tidak secara langsung memengaruhi nama indeks tujuan akhir. Nama indeks tujuan akhir ditentukan oleh Destination Index Name Rule.

    • Destination Index Name Rule: Anda dapat menggunakan variabel bawaan untuk memberi nama indeks tujuan.

      Variabel bawaan berikut tersedia:

      • ${db_table_name_src_transed}: Nama indeks setelah konversi di "Conversion Rules for Source Table Names and Destination Index Names".

      • ${db_name_src_transed}: Nama skema tujuan setelah konversi di "Conversion Rules for Source Database Names and Destination Schema Names".

      • ${ds_name_src}: Nama sumber data sumber.

    Sebagai contoh, untuk mengganti awalan doc_ pada nama database sumber dengan awalan pre_, serta menyinkronkan tabel sumber table_01, table_02, dan table_03 ke indeks bernama my_table, lalu menambahkan akhiran _post pada indeks tersebut, Anda harus mengonfigurasi sebagai berikut:

    image

  3. Klik Next untuk mengonfigurasi indeks tujuan.

Langkah 4: Konfigurasi indeks tujuan

Klik Refresh Source Tables And Elasticsearch Index Mapping untuk menghasilkan indeks tujuan berdasarkan Set Mapping Rules From Table Names To Index Names yang dikonfigurasi di Langkah 3. Jika tidak mengonfigurasi aturan pemetaan di Langkah 3, data akan ditulis ke indeks tujuan yang memiliki nama sama dengan tabel sumber secara default. Jika indeks tujuan tersebut tidak ada, sistem akan membuatnya secara otomatis. Anda juga dapat memodifikasi kunci utama sinkronisasi dan metode pembuatan indeks.

Catatan

Nama tabel tujuan dikonversi secara otomatis berdasarkan aturan konversi nama tabel yang dikonfigurasi di Set Mapping Rules From Table Names To Index Names.

  1. Di kolom Sync Primary Key, pilih solusi penggantian kunci utama.

    • Jika tabel di database sumber memiliki kunci utama, sistem akan menghapus data duplikat berdasarkan kunci utama selama sinkronisasi data.

    • Jika tabel di database sumber tidak memiliki kunci utama, klik ikon image untuk menyesuaikan kunci utama, yaitu menggunakan satu atau beberapa bidang non-kunci utama sebagai kunci komposit guna menghapus data duplikat selama sinkronisasi.

  2. Di kolom Index Creation Method, pilih apakah akan membuat indeks secara otomatis atau menggunakan indeks yang sudah ada.

    • Jika Index Creation Method diatur ke Automatically Create Index, kolom Elasticsearch Index Name menampilkan nama indeks Elasticsearch yang dibuat secara otomatis. Anda dapat mengklik nama indeks tersebut untuk memodifikasi parameter terkait.

    • Jika Index Creation Method diatur ke Use Existing Index, Anda dapat memilih nama indeks yang ingin digunakan dari daftar tarik-turun di kolom Elasticsearch Index Name.

  3. Klik Next untuk mengonfigurasi aturan sinkronisasi.

Langkah 5: Konfigurasi aturan sinkronisasi

Solusi sinkronisasi offline berikut untuk seluruh database didukung. Anda dapat memilih solusi sesuai kebutuhan. Solusi yang berbeda memerlukan parameter yang berbeda.

Solusi Sinkronisasi

Deskripsi

Full One-time Synchronization Followed By Periodic Incremental Synchronization

Jika Anda memilih metode ini, sistem pertama-tama akan menyinkronkan semua data ke Elasticsearch. Kemudian, sistem hanya akan menyinkronkan data inkremental di sumber ke Elasticsearch setiap kali sistem menjalankan solusi berdasarkan kondisi filter dan siklus penjadwalan yang ditentukan.

Full One-time Synchronization Only

Jika Anda memilih metode ini, Anda hanya perlu melakukan operasi sinkronisasi sekali untuk menyinkronkan semua data di sumber ke Elasticsearch.

Incremental One-time Synchronization Only

Jika Anda memilih metode ini, Anda hanya perlu melakukan operasi sinkronisasi sekali untuk menyinkronkan data inkremental di sumber ke Elasticsearch berdasarkan kondisi filter yang ditentukan.

Periodic Full Synchronization

Jika Anda memilih metode ini, Anda harus menentukan siklus penjadwalan untuk solusi sinkronisasi batch. Kemudian, sistem akan menyinkronkan semua data di sumber ke Elasticsearch setiap kali sistem menjalankan solusi berdasarkan siklus penjadwalan yang ditentukan.

Periodic Incremental Synchronization

Jika Anda memilih metode ini, sistem hanya akan menyinkronkan data inkremental di sumber ke Elasticsearch setiap kali sistem menjalankan solusi berdasarkan kondisi filter dan siklus penjadwalan yang ditentukan.

Full One-time Synchronization Followed by Periodic Incremental Synchronization

Full Synchronization

Parameter

Deskripsi

Clear The Original Index Before Writing

  • Yes: Sistem menghapus data asli di indeks sebelum menulis data baru.

  • No: Sistem tidak menghapus data asli di indeks sebelum menulis data baru.

Penting

Jika Anda mengatur parameter ini ke Yes, semua data di indeks tujuan akan dihapus sebelum data baru ditulis. Berhati-hatilah saat memilih opsi ini.

Write Type

  • Insert: Ini adalah nilai default. Sistem langsung memasukkan data ke indeks Elasticsearch.

  • Update: Jika catatan dengan kunci utama yang sama ada, sistem akan memperbarui catatan tersebut. Jika tidak, sistem akan memasukkan catatan tersebut.

    Catatan

    Ketika sistem memperbarui catatan, sistem terlebih dahulu menghapus seluruh catatan asli, lalu memasukkan catatan baru.

Batch Size

Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah 1000. Anda dapat mengonfigurasi parameter ini berdasarkan kondisi jaringan aktual dan jumlah data yang ingin Anda sinkronkan untuk mengurangi overhead jaringan.

Incremental Synchronization

Write Type

  • Insert: Ini adalah nilai default. Sistem langsung memasukkan data ke indeks Elasticsearch.

  • Update: Jika catatan dengan kunci utama yang sama ada, sistem akan memperbarui catatan tersebut. Jika tidak, sistem akan memasukkan catatan tersebut.

    Catatan

    Ketika sistem memperbarui catatan, sistem terlebih dahulu menghapus seluruh catatan asli, lalu memasukkan catatan baru.

Batch Size

Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah 1000. Anda dapat mengonfigurasi parameter ini berdasarkan kondisi jaringan aktual dan jumlah data yang ingin Anda sinkronkan untuk mengurangi overhead jaringan.

Incremental Condition

Anda dapat menggunakan klausa WHERE untuk memfilter tabel yang ingin Anda sinkronkan. Anda hanya perlu memasukkan klausa WHERE di kolom Incremental Condition tanpa kata kunci WHERE. Saat menulis klausa WHERE, Anda dapat menggunakan variabel sistem bawaan, seperti ${bdp.system.bizdate} untuk merepresentasikan waktu data dan ${bdp.system.cyctime} untuk merepresentasikan waktu terjadwal.

Scheduling Settings

Karena penjadwalan periodik diperlukan, Anda perlu menentukan properti terkait untuk tugas penjadwalan periodik, termasuk Scheduling Cycle, Effective Date, dan Pause Scheduling. Konfigurasi penjadwalan untuk tugas sinkronisasi saat ini sama dengan konfigurasi penjadwalan untuk node di Data Development. Untuk informasi selengkapnya tentang parameter, lihat Node scheduling.

Full one-time synchronization only

Full Synchronization

Parameter

Deskripsi

Clear The Original Index Before Writing

  • Yes: Sistem menghapus data asli di indeks sebelum menulis data baru.

  • No: Sistem tidak menghapus data asli di indeks sebelum menulis data baru.

Penting

Jika Anda mengatur parameter ini ke Yes, semua data di indeks tujuan akan dihapus sebelum data baru ditulis. Berhati-hatilah saat memilih opsi ini.

Write Type

  • Insert: Ini adalah nilai default. Sistem langsung memasukkan data ke indeks Elasticsearch.

  • Update: Jika catatan dengan kunci utama yang sama ada, sistem akan memperbarui catatan tersebut. Jika tidak, sistem akan memasukkan catatan tersebut.

    Catatan

    Ketika sistem memperbarui catatan, sistem terlebih dahulu menghapus seluruh catatan asli, lalu memasukkan catatan baru.

Batch Size

Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah 1000. Anda dapat mengonfigurasi parameter ini berdasarkan kondisi jaringan aktual dan jumlah data yang ingin Anda sinkronkan untuk mengurangi overhead jaringan.

Incremental one-time synchronization only

Incremental Synchronization

Parameter

Deskripsi

Write Type

  • Insert: Ini adalah nilai default. Sistem langsung memasukkan data ke indeks Elasticsearch.

  • Update: Jika catatan dengan kunci utama yang sama ada, sistem akan memperbarui catatan tersebut. Jika tidak, sistem akan memasukkan catatan tersebut.

    Catatan

    Ketika sistem memperbarui catatan, sistem terlebih dahulu menghapus seluruh catatan asli, lalu memasukkan catatan baru.

Batch Size

Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah 1000. Anda dapat mengonfigurasi parameter ini berdasarkan kondisi jaringan aktual dan jumlah data yang ingin Anda sinkronkan untuk mengurangi overhead jaringan.

Incremental Condition

Anda dapat menggunakan klausa WHERE untuk memfilter tabel yang ingin Anda sinkronkan. Anda hanya perlu memasukkan klausa WHERE di kolom Incremental Condition tanpa kata kunci WHERE. Saat menulis klausa WHERE, Anda dapat menggunakan variabel sistem bawaan, seperti ${bdp.system.bizdate} untuk merepresentasikan waktu data dan ${bdp.system.cyctime} untuk merepresentasikan waktu terjadwal.

Periodic full synchronization

Full Synchronization

Parameter

Deskripsi

Clear The Original Index Before Writing

  • Yes: Sistem menghapus data asli di indeks sebelum menulis data baru.

  • No: Sistem tidak menghapus data asli di indeks sebelum menulis data baru.

Penting

Jika Anda mengatur parameter ini ke Yes, semua data di indeks tujuan akan dihapus sebelum data baru ditulis. Berhati-hatilah saat memilih opsi ini.

Write Type

  • Insert: Ini adalah nilai default. Sistem langsung memasukkan data ke indeks Elasticsearch.

  • Update: Jika catatan dengan kunci utama yang sama ada, sistem akan memperbarui catatan tersebut. Jika tidak, sistem akan memasukkan catatan tersebut.

    Catatan

    Ketika sistem memperbarui catatan, sistem terlebih dahulu menghapus seluruh catatan asli, lalu memasukkan catatan baru.

Batch Size

Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah 1000. Anda dapat mengonfigurasi parameter ini berdasarkan kondisi jaringan aktual dan jumlah data yang ingin Anda sinkronkan untuk mengurangi overhead jaringan.

Scheduling Settings

Karena penjadwalan periodik diperlukan, Anda perlu menentukan properti terkait untuk tugas penjadwalan periodik, termasuk Scheduling Cycle, Effective Date, dan Pause Scheduling. Konfigurasi penjadwalan untuk tugas sinkronisasi saat ini sama dengan konfigurasi penjadwalan untuk node di Data Development. Untuk informasi selengkapnya tentang parameter, lihat Node scheduling.

Periodic incremental synchronization

Incremental Synchronization

Parameter

Deskripsi

Write Type

  • Insert: Ini adalah nilai default. Sistem langsung memasukkan data ke indeks Elasticsearch.

  • Update: Jika catatan dengan kunci utama yang sama ada, sistem akan memperbarui catatan tersebut. Jika tidak, sistem akan memasukkan catatan tersebut.

    Catatan

    Ketika sistem memperbarui catatan, sistem terlebih dahulu menghapus seluruh catatan asli, lalu memasukkan catatan baru.

Batch Size

Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah 1000. Anda dapat mengonfigurasi parameter ini berdasarkan kondisi jaringan aktual dan jumlah data yang ingin Anda sinkronkan untuk mengurangi overhead jaringan.

Incremental Condition

Anda dapat menggunakan klausa WHERE untuk memfilter tabel yang ingin Anda sinkronkan. Anda hanya perlu memasukkan klausa WHERE di kolom Incremental Condition tanpa kata kunci WHERE. Saat menulis klausa WHERE, Anda dapat menggunakan variabel sistem bawaan, seperti ${bdp.system.bizdate} untuk merepresentasikan waktu data dan ${bdp.system.cyctime} untuk merepresentasikan waktu terjadwal.

Scheduling Settings

Karena penjadwalan periodik diperlukan, Anda perlu menentukan properti terkait untuk tugas penjadwalan periodik, termasuk Scheduling Cycle, Effective Date, dan Pause Scheduling. Konfigurasi penjadwalan untuk tugas sinkronisasi saat ini sama dengan konfigurasi penjadwalan untuk node di Data Development. Untuk informasi selengkapnya tentang parameter, lihat Node scheduling.

Setelah menyelesaikan konfigurasi, klik Next untuk mengonfigurasi sumber daya waktu proses.

Langkah 6: Konfigurasi sumber daya waktu proses

Berdasarkan solusi sinkronisasi yang dipilih di langkah sebelumnya, sumber daya waktu proses yang berbeda perlu dikonfigurasi di langkah ini. Tugas sinkronisasi membuat tugas sinkronisasi offline penuh dan tugas sinkronisasi offline inkremental. Anda dapat mengonfigurasi nama tugas dan grup sumber daya (grup sumber daya tugas offline penuh, grup sumber daya tugas offline inkremental, dan grup sumber daya penjadwalan) yang digunakan untuk menjalankan tugas. Anda juga dapat memodifikasi parameter lanjutan yang disediakan oleh Data Integration, seperti Advanced Configuration, Expected Maximum Concurrency, Synchronization Rate, Dirty Data Tolerance, dan Maximum Number Of Connections Supported By The Source.

Langkah 7: Jalankan tugas sinkronisasi

  1. Setelah menyelesaikan semua konfigurasi, klik Complete Configuration di bagian bawah halaman.

  2. Di halaman Data Integration > Sync Task, temukan tugas sinkronisasi yang telah dibuat dan klik Submit And Execute di kolom Operation.

  3. Klik Task List lalu klik Name/ID tugas yang sesuai untuk melihat prosedur eksekusi detail tugas tersebut.

Lakukan operasi O&M pada tugas sinkronisasi

Lihat status tugas sinkronisasi

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

Anda dapat mengklik Execution Details di kolom Operation untuk membuka halaman detail tugas dan melihat status eksekusi tugas tersebut.

image