全部产品
Search
文档中心

Elasticsearch:Pilih metode sinkronisasi

更新时间:Nov 10, 2025

Jika mengalami kueri lambat saat menggunakan database ApsaraDB RDS, Anda dapat menyinkronkan data dari database tersebut ke kluster Alibaba Cloud Elasticsearch untuk keperluan kueri dan analitik data. Alibaba Cloud Elasticsearch adalah mesin pencarian dan analitik terdistribusi berbasis Lucene yang memungkinkan penyimpanan, pengkuerian, dan analisis jumlah besar set data dalam waktu nyaris real-time. Anda dapat menggunakan Data Transmission Service (DTS), Logstash, DataWorks, atau Canal untuk menyinkronkan data dari database ApsaraDB RDS ke kluster Alibaba Cloud Elasticsearch. Topik ini menjelaskan skenario penggunaan masing-masing metode sehingga Anda dapat memilih sesuai kebutuhan.

Rencana Sinkronisasi

Deskripsi

Skema Penggunaan

Batasan

Referensi

Gunakan DTS untuk Menyinkronkan Data Secara Real-Time

DTS menyinkronkan data dengan berlangganan log biner. Sinkronisasi data menggunakan DTS hanya memiliki latensi tingkat milidetik dan tidak berdampak negatif terhadap database sumber.

Anda memiliki persyaratan tinggi untuk performa real-time sinkronisasi data.

  • DTS menggunakan sumber daya baca dan tulis database sumber serta kluster tujuan selama inisialisasi data penuh, yang dapat meningkatkan beban database dan kluster.

  • Anda dapat menyesuaikan pemetaan indeks, namun pastikan bidang yang didefinisikan dalam pemetaan sama dengan bidang di database sumber.

  • Anda harus membeli instance sinkronisasi data di Konsol DTS. Untuk informasi tentang cara membeli instance sinkronisasi data, lihat Beli Instance DTS. Untuk informasi tentang harga DTS, lihat Ikhtisar Penagihan.

Gunakan DTS untuk Menyinkronkan Data MySQL ke Kluster Elasticsearch Alibaba Cloud Secara Real-Time

Gunakan Plugin logstash-input-jdbc untuk Menyinkronkan Data

Anda dapat menggunakan plugin logstash-input-jdbc untuk mengkueri data di database ApsaraDB RDS dan memigrasikannya ke kluster Elasticsearch. Selama sinkronisasi data, plugin ini menggunakan metode round-robin untuk mengidentifikasi data terbaru yang dimasukkan atau diperbarui di database secara berkala, lalu mengkueri semua data yang teridentifikasi sekaligus dan memigrasikannya ke kluster Elasticsearch. Sinkronisasi data menggunakan plugin logstash-input-jdbc memiliki performa real-time yang lebih rendah dibandingkan DTS dengan latensi tingkat detik.

  • Anda ingin menyinkronkan data penuh dan dapat menerima latensi beberapa detik.

  • Anda ingin mengkueri data spesifik sekaligus dan menyinkronkan data tersebut.

  • Sebelum menggunakan metode ini, Anda harus mengunggah driver SQL JDBC yang kompatibel dengan versi database ApsaraDB RDS.

  • Tambahkan alamat IP node dalam kluster Logstash Anda ke daftar putih alamat IP instance ApsaraDB RDS.

  • Kluster Logstash dan instance ApsaraDB RDS harus berada di zona waktu yang sama untuk mencegah ketidaksesuaian timestamp selama sinkronisasi data.

  • Pastikan nilai bidang _id di kluster Elasticsearch sama dengan nilai bidang id di database ApsaraDB RDS.

  • Saat memasukkan atau memperbarui data di database ApsaraDB RDS, pastikan catatan terkait mencakup bidang yang menunjukkan waktu penyisipan atau pembaruan.

Gunakan Logstash untuk Menyinkronkan Data dari ApsaraDB RDS for MySQL ke Elasticsearch

Gunakan DataWorks untuk Menyinkronkan Data Offline

DataWorks adalah layanan komprehensif yang menyediakan modul seperti Data Integration, DataStudio, dan Data Quality. Anda dapat menggunakan DataWorks untuk mengimpor dan menyimpan data terstruktur, mengonversi dan mengembangkan data, lalu menyinkronkan data yang diproses ke kluster Elasticsearch atau sistem data lainnya.

  • Anda ingin menyinkronkan data besar offline. DataWorks dapat mengumpulkan data offline dengan interval minimum beberapa menit.

  • Anda perlu memfilter data menggunakan klausa WHERE.

  • Anda ingin menyinkronkan semua data di database ApsaraDB RDS Anda.

  • Aktifkan layanan DataWorks terlebih dahulu.

  • Untuk kecepatan transmisi tinggi atau lingkungan jaringan kompleks, sesuaikan grup sumber daya yang digunakan.

  • Tambahkan alamat IP grup sumber daya yang digunakan ke daftar putih alamat IP instance ApsaraDB RDS.

Gunakan DataWorks untuk Menyinkronkan Data dari Database MySQL ke Kluster Elasticsearch Alibaba Cloud

Gunakan Canal untuk Menyinkronkan Data MySQL

Canal menyinkronkan data secara real-time dengan berlangganan log biner. Sinkronisasi data menggunakan Canal hanya memiliki latensi tingkat milidetik dan tidak berdampak negatif terhadap database sumber.

Anda memiliki persyaratan tinggi untuk performa real-time sinkronisasi data.

  • Bangun lingkungan Canal pada instance Elastic Compute Service (ECS). Namun, ini akan meningkatkan biaya sinkronisasi data.

  • Canal 1.1.4 tidak mendukung sinkronisasi data ke kluster Elasticsearch V7.X. Gunakan Canal 1.1.5 atau metode alternatif seperti Logstash dan DTS untuk sinkronisasi data MySQL ke kluster Elasticsearch V7.X.

  • Anda dapat menyesuaikan pemetaan indeks, namun pastikan bidang yang didefinisikan dalam pemetaan sama dengan bidang di database sumber.

  • Pastikan ketersediaan Canal. Jika tidak, titik kegagalan mungkin terjadi atau bisnis Anda mungkin terpengaruh. Misalnya, pastikan sinkronisasi data tidak terganggu dalam skenario seperti restart instance ECS atau keluarnya Canal karena pengecualian.

Gunakan Canal untuk Menyinkronkan Data MySQL ke Alibaba Cloud Elasticsearch