STACKJAVA

Ưu nhược điểm của Elasticsearch, So sánh Elasticsearch với MongoDB

Ưu nhược điểm của Elasticsearch, So sánh Elasticsearch với MongoDB.

(Xem thêm: Hướng dẫn Elasticsearch)

Ưu nhược điểm của Elasticsearch

Ưu điểm

Nhược điểm:

So sánh Elasticsearch với MongoDB

Sau khi xem xong ưu nhược điểm của Elasticsearch nhiều bạn sẽ thấy rằng sao nó giống MongoDB thế, bởi vì cả Elasticsearch và MongoDB đều lưu dữ liệu NoSQL, document oriented, free schema, được xây dựng để đáp ứng cho các phản hồi realtime, dễ mở rộng…

(Xem lại: Ưu nhược điểm của mongodb)

Vậy điểm khác biệt giữa Elasticsearch so với MongoDB là gì?

Khi nói tới Elasticsearch người ta sẽ nói tới đó là một search engine chứ không phải là một database như MongoDB.

Mặc dù Elasticsearch và MongoDB đều hỗ trợ cơ chế đánh index cho dữ liệu. Và khi các field của MongoDB được đánh index đầy đủ thì khả năng tìm kiếm của MongoDB cũng không kém cạnh so với Elasticsearch. Nhưng Elasticsearch vẫn có những điểm riêng biệt như:

(ví dụ bạn có 1 đoạn text ‘tran van b’ khi đánh index trong MongoDB nó sẽ tách ra làm 3 từ là [‘tran’, ‘van’, ‘b’] nếu bạn search từ ‘a’ thì nó sẽ không tìm thấy)

Giải pháp

Giải pháp đó là sử dụng kết hợp cả MongoDB và Elasticsearch. MongoDB sẽ được dùng để làm database lưu dữ liệu còn Elasticsearch sẽ được đồng bộ dữ liệu với MongoDB. Khi thực hiện tìm kiếm ta sẽ tìm kiếm trên Elasticsearch:

(Xem thêm: Đồng bộ dữ liệu giữa MongoDB với Elasticsearch bằng Transporter)

(Xem thêm: Đồng bộ realtime dữ liệu MongoDB và Elasticsearch sử dụng Monstache)

 

Okay, Done!

 

References:

https://apiumhub.com/tech-blog-barcelona/elastic-search-advantages-books/