Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan elasticsearch-river-mysql untuk mengalirkan data dari database MySQL ke Elasticsearch

Saran saya adalah mencoba menggunakan elasticsearch-jdbc-river karena berbagai alasan.

Salah satunya adalah elasticsearch-jbdc-river lebih umum jika Anda memutuskan untuk beralih RDBMS .

Lainnya adalah bahwa jbdc-river masih dipertahankan ketika yang lain tidak ada sejak 2 tahun, dan Elasticsearch banyak berkembang sejak itu.

1. Dari yang saya tahu, data akan dialirkan dari database MySQL ke cluster ES yang akan mengindeksnya secara otomatis. Apakah itu benar? Apakah ada batas waktu atau batasan yang harus saya waspadai?

Data dari MySQL harus dialirkan secara otomatis dari MySQL ke cluster Elasticsearch tanpa batasan waktu habis tetapi hambatannya adalah Ukuran Heap JVM Anda. Saya tidak yakin berapa banyak yang Anda perlukan untuk memproses jumlah data yang Anda miliki. Anda perlu mengujinya.

2. Bagaimana hubungan kunci asing antara tabel database relasional akan diterjemahkan ke dalam ES? Apakah baris tabel yang berisi kunci asing akan menjadi objek dalam untuk dokumen ES atau hubungan lain antara dokumen ES akan digunakan?

Elasticsearch tidak memiliki skema sehingga Anda perlu mengelola Elasticsearch bagian dalam . Sungai hanya mengalirkan data ke cluster Anda. Anda dapat menentukan pemetaan saat membuat indeks, lalu menggunakan sungai untuk mengalirkannya ke klaster ES.

3. Apakah ada kerugian dalam menggunakan sungai ini untuk tujuan tersebut di atas?

Sungai akan diganti dengan cara lain yang lebih bersih untuk mengalirkan data ini, tetapi ini adalah solusi terbaik yang Anda miliki untuk saat ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menjumlahkan string yang dipisahkan koma dalam SQL?

  2. Bagaimana menangani terlalu banyak koneksi bersamaan bahkan setelah menggunakan kumpulan koneksi?

  3. Bagaimana cara mendapatkan nama kolom di Laravel 4?

  4. Dari perspektif kinerja, seberapa efisien menggunakan tabel sementara MySQL untuk fitur situs web yang sangat sering digunakan?

  5. MySQL:Bandingkan ANTARA waktu