Halo gengs, kali ini saya akan sedikit membahas mengenai resiko ketika menggunakan elasticsearch sebagai database utama.
Bagi yang belum tau apa itu elasticsearch, berikut saya jelaskan secara singkat:
elasticsearch, merupakan open source "search and analytics engine", yang biasa digunakan untuk log analysis, real time application monitoring, click stream analytics, text search dll.
Perlu diketahui juga, elasticsearch menyimpan datanya dalam bentuk json (insert data pada elasticsearch disebut indexing).
Demikian artikel kali ini, terima kasih telah membaca tulisan saya sampai selesai. Mohon maaf jika ada kesalahan. ...
Bagi yang belum tau apa itu elasticsearch, berikut saya jelaskan secara singkat:
elasticsearch, merupakan open source "search and analytics engine", yang biasa digunakan untuk log analysis, real time application monitoring, click stream analytics, text search dll.
Perlu diketahui juga, elasticsearch menyimpan datanya dalam bentuk json (insert data pada elasticsearch disebut indexing).
Teman teman mungkin sudah tau performa elasticsearch dalam melakukan full text search sangatlah mumpuni, ditambah berbagai feature yang sangat membantu seperti tokenizing, stemming dll pun terdapat dalam elasticsearch.
Tapi, apakah menggunakan elasticsearch sebagai database utama adalah pilihan bijak?, untuk beberapa kasus ternyata jawabannya adalah tidak.
Beberapa forum diskusi seperti quora, stackoverflow dll menyarankan untuk tidak menggunakan elasticsearch sebagai database utama dikarenakan mungkinnya kelihangan data lebih tinggi dibanding database lain (misal mongodb). Berikut video yang menjelaskan mungkinnya kehilangan data pada elasticsearch (mulai pada 13:55): link
Berikut juga beberapa diskusi yang menjelaskan, mengapa sebaiknya anda tidak menggunakan elasticsearch sebagai database utama:
Salah satu solusi yang dapat dilakukan untuk mengatasi masalah ini adalah, kita melakukan insert data ke database kemudian melakukan replikasi data yang ada di database tadi ke elasticsearch.
Berikut ini merupakan contoh replikasi data dari mongoDB ke elasticsearch menggunakan mongo-connector yang dokumentasinya bisa dilihat di sini.
Tapi, apakah menggunakan elasticsearch sebagai database utama adalah pilihan bijak?, untuk beberapa kasus ternyata jawabannya adalah tidak.
Beberapa forum diskusi seperti quora, stackoverflow dll menyarankan untuk tidak menggunakan elasticsearch sebagai database utama dikarenakan mungkinnya kelihangan data lebih tinggi dibanding database lain (misal mongodb). Berikut video yang menjelaskan mungkinnya kehilangan data pada elasticsearch (mulai pada 13:55): link
Berikut juga beberapa diskusi yang menjelaskan, mengapa sebaiknya anda tidak menggunakan elasticsearch sebagai database utama:
- https://www.quora.com/Why-shouldnt-I-use-Elasticsearch-as-my-primary-datastore
- https://www.quora.com/What-are-the-advantages-of-ElasticSearch-over-Database-I-know-its-fast-and-I-have-used-its-API-for-searching-but-why-should-I-completely-move-from-DB-to-ES
Salah satu solusi yang dapat dilakukan untuk mengatasi masalah ini adalah, kita melakukan insert data ke database kemudian melakukan replikasi data yang ada di database tadi ke elasticsearch.
Berikut ini merupakan contoh replikasi data dari mongoDB ke elasticsearch menggunakan mongo-connector yang dokumentasinya bisa dilihat di sini.
Data yang digunakan merupakan hasil scraping tari tribun jabar. Script nya dapat anda lihat di sini
jumlah data yang ada di mongoDB |
tampilkan data di mongoDB |
tampilan data di elasticsearch |
Demikian artikel kali ini, terima kasih telah membaca tulisan saya sampai selesai. Mohon maaf jika ada kesalahan. ...