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
Anda telah membeli Serverless resource group atau grup sumber daya eksklusif untuk Data Integration.
Anda telah membuat sumber data MySQL dan Elasticsearch. Untuk informasi selengkapnya, lihat Buat sumber data untuk Data Integration.
Anda telah menetapkan konektivitas jaringan antara grup sumber daya dan sumber data. Untuk informasi selengkapnya, lihat Solusi konektivitas jaringan.
Prosedur
Langkah 1: Pilih jenis tugas sinkronisasi
Buka halaman Data Integration.
Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih . Di halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar tarik-turun dan klik Go to Data Integration.
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:
MySQL→ElasticsearchNew Task Name: Sesuaikan nama untuk tugas sinkronisasi.
Sync Type:
Offline synchronization of the entire database to Elasticsearch.
Langkah 2: Konfigurasi jaringan dan sumber daya
Di bagian Network And Resources, pilih Resource Group untuk tugas sinkronisasi. Anda dapat mengalokasikan jumlah unit komputasi (CU) untuk Task Resource Usage.
Untuk Source Data Source, pilih sumber data
MySQLyang telah ditambahkan. Untuk Destination Data Source, pilih sumber dataElasticsearchyang telah ditambahkan. Lalu, klik Test Connectivity.
Setelah memastikan bahwa sumber data dan tujuan terhubung, klik Next.
Langkah 3: Konfigurasi sumber sinkronisasi dan aturan
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
untuk memindahkannya ke bagian Selected Tables di sebelah kanan.
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.PentingJika 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.PentingJika 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 awalanpre_, serta menyinkronkan tabel sumbertable_01,table_02, dantable_03ke indeks bernamamy_table, lalu menambahkan akhiran_postpada indeks tersebut, Anda harus mengonfigurasi sebagai berikut:
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.
Nama tabel tujuan dikonversi secara otomatis berdasarkan aturan konversi nama tabel yang dikonfigurasi di Set Mapping Rules From Table Names To Index Names.
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
untuk menyesuaikan kunci utama, yaitu menggunakan satu atau beberapa bidang non-kunci utama sebagai kunci komposit guna menghapus data duplikat selama sinkronisasi.
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.
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 |
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 |
|
Batch Size | Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah |
Incremental Synchronization | |
Write Type |
|
Batch Size | Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah |
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 |
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 |
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 |
|
Batch Size | Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah |
Incremental one-time synchronization only
Incremental Synchronization | |
Parameter | Deskripsi |
Write Type |
|
Batch Size | Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah |
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 |
Periodic full synchronization
Full Synchronization | |
Parameter | Deskripsi |
Clear The Original Index Before Writing |
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 |
|
Batch Size | Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah |
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 |
|
Batch Size | Jumlah catatan data yang dapat ditulis ke Elasticsearch sekaligus. Nilai default adalah |
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 |
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
Setelah menyelesaikan semua konfigurasi, klik Complete Configuration di bagian bawah halaman.
Di halaman , temukan tugas sinkronisasi yang telah dibuat dan klik Submit And Execute di kolom Operation.
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.
Anda dapat mengklik Execution Details di kolom Operation untuk membuka halaman detail tugas dan melihat status eksekusi tugas tersebut.
