Tôi không tìm thấy bất kỳ lời giải thích sâu sắc nào trên web về việc so sánh giữa ElasticSearch và cơ sở dữ liệu đồ thị.
Cả hai đều được tối ưu hóa để truyền dữ liệu.
ElasticSearch dường như được tối ưu hóa cho các phân tích.
Tuy nhiên Neo4j cũng dựa trên Lucene để quản lý các chỉ mục và một số tính năng toàn văn bản.
Tại sao tôi sẽ sử dụng ElasticSearch nếu tôi đã sử dụng cơ sở dữ liệu đồ thị?
Trong trường hợp của tôi, tôi đang sử dụng Neo4j để xây dựng một mạng xã hội.
Lợi ích thực sự mà ElasticSearch có thể mang lại là gì?
CẬP NHẬT ----------
Tôi vừa tìm thấy đoạn này:
Có vô số trường hợp trong đó elaticsearch là hữu ích. Một số trường hợp sử dụng gọi rõ ràng hơn so với những trường hợp khác. Dưới đây là một số nhiệm vụ mà elaticsearch đặc biệt phù hợp.
- Tìm kiếm một số lượng lớn các mô tả sản phẩm cho phù hợp nhất cho một cụm từ cụ thể (nói dao đầu bếp của Cameron) và trả về kết quả tốt nhất
- Lấy ví dụ trước, phá vỡ các bộ phận khác nhau nơi dao đầu bếp của Cameron xuất hiện (xem Faceting sau trong cuốn sách này)
- Tìm kiếm văn bản cho các từ nghe giống như mùa Mùa hè
- Tự động hoàn thành hộp tìm kiếm dựa trên các từ được nhập một phần dựa trên các tìm kiếm đã ban hành trước đó trong khi tính toán sai chính tả
- Lưu trữ một lượng lớn dữ liệu bán cấu trúc (JSON) theo kiểu phân tán, với mức độ dự phòng được chỉ định trên một cụm máy
Tuy nhiên, cần lưu ý rằng trong khi elaticsearch rất tốt trong việc giải quyết các vấn đề đã nói ở trên, nó không phải là lựa chọn tốt nhất cho những người khác. Điều này đặc biệt tệ trong việc giải quyết các vấn đề mà cơ sở dữ liệu quan hệ được tối ưu hóa. Các vấn đề như được liệt kê dưới đây.
- Tính toán có bao nhiêu mặt hàng còn lại trong kho
- Tìm ra tổng của tất cả các chi tiết đơn hàng trên tất cả các hóa đơn được gửi trong một tháng nhất định
- Thực hiện hai hoạt động giao dịch với hỗ trợ rollback
- Tạo các bản ghi được đảm bảo là duy nhất qua nhiều thuật ngữ đã cho, ví dụ như số điện thoại và tiện ích mở rộng
- Elaticsearch nói chung là tuyệt vời trong việc cung cấp câu trả lời gần đúng từ dữ liệu, chẳng hạn như chấm điểm kết quả theo chất lượng. Trong khi elaticsearch có thể thực hiện các phép tính thống kê và kết hợp chính xác, nhiệm vụ chính của nó là tìm kiếm là một nhiệm vụ gần đúng.
- Tìm câu trả lời gần đúng là một thuộc tính tách biệt elaticsearch khỏi cơ sở dữ liệu truyền thống hơn. Điều đó đang được nói, cơ sở dữ liệu quan hệ truyền thống vượt trội về độ chính xác và tính toàn vẹn dữ liệu, trong đó elaticsearch và Lucene có một vài điều khoản.
Tôi có thể khẳng định rằng nếu tôi không cần câu trả lời gần đúng thì ElasticSearch sẽ vô dụng so với cơ sở dữ liệu đồ thị đã sử dụng không?