Hy vọng câu hỏi này không lỗi thời, nhưng tôi chưa tìm thấy câu trả lời rõ ràng ở bất kỳ đâu. Theo một trong các bản trình bày ES từ năm ngoái (http://www.elasticsearch.org/videos/big-data-search-and-analytics/), có kích thước "tối đa" cho phân đoạn. Tôi đang cố gắng để xác định điều này cho ứng dụng của tôi, nhưng theo như tôi có thể nói, tôi chưa đánh nó. Có ai biết hành vi của một chỉ mục đơn lẻ đã đạt đến mức tối đa không? Do chèn không, hoặc là nó chỉ là chỉ số trở nên không sử dụng được?ElasticSearch - Xác định kích thước phân đoạn tối đa
Trả lời
Để tự mình kiểm tra, tôi đã lập chỉ mục tất cả các bài viết tiếng Anh trong Wikipedia (không có bất kỳ thông tin lịch sử nào) trong một phân đoạn elasticsearch duy nhất. Thư mục dữ liệu elasticsearch tăng lên ~ 42GB vào cuối bài kiểm tra. Bài học kinh nghiệm là:
- tốc độ lập chỉ mục sẽ không bị ảnh hưởng bởi kích thước phân đoạn. Lưu ý, tôi không cố gắng lập chỉ mục nhiều hơn một luồng cùng một lúc, nhưng tốc độ lập chỉ mục chuỗi đơn ít nhiều liên tục trong khoảng thời gian kiểm tra
- tốc độ truy vấn bị ảnh hưởng nặng nề bởi kích thước phân đoạn. Đặc biệt khi bạn cố gắng truy vấn với nhiều người dùng cùng một lúc. Các con số chính xác sẽ phụ thuộc rất nhiều vào sức mạnh của máy tính của bạn, cấu trúc dữ liệu và số lượng chuỗi đang truy vấn. Để cung cấp cho bạn một ý tưởng, với elasticsearch chạy trên máy dev của tôi, truy vấn phân đoạn Wikipedia với 25 người dùng đồng thời dẫn đến thời gian phản hồi trung bình là 3,5 giây (với các đỉnh đạt đến nửa phút).
Kết luận của tôi là phân đoạn quá lớn sẽ không làm cho elasticsearch thất bại chỉ từ lập chỉ mục. Truy vấn phân đoạn lớn có thể quá chậm đối với nhu cầu của bạn, hoặc, trong một số trường hợp nhất định, thậm chí phá vỡ elasticsearch với một OutOfMemoryException (ví dụ một truy vấn mặt lớn).
Câu trả lời này dựa trên điều tra của riêng tôi. toàn bộ câu chuyện có thể được đọc trên blog của tôi:
http://blog.trifork.com/2013/09/26/maximum-shard-size-in-elasticsearch/
http://blog.trifork.com/2013/11/05/maximum-shard-size-in-elasticsearch-revisited/
- 1. Kích thước tệp tối đa và kích thước kho lưu trữ tối đa trong Git?
- 2. Kích thước đỉnh tối đa
- 3. Xác định giới hạn kích thước họa tiết tối đa/tối trong Android OpenGLES
- 4. Kích thước đoạn tối đa trong phản hồi HTTP với Mã hóa chuyển mã là gì?
- 5. Kích thước tối đa của SharedPreferences lớp
- 6. Kích thước bộ nhớ cache tối đa
- 7. Kích thước tối đa của phiên PHP
- 8. kích thước tối đa trong BlobProperty (appengine)
- 9. $ _POST kích thước mảng tối đa
- 10. Kích thước tối đa cho StringBuffer
- 11. Làm cách nào để xác định kích thước giao dịch tối đa trong MySQL?
- 12. Lập trình xác định kích thước khung tối đa có thể sử dụng cho một UIView
- 13. Kích thước tối đa cho đa xử lý.Queue mục?
- 14. Xác định kích thước của lớp C++ đa hình
- 15. Kích thước tối đa của bộ đệm Node.js là gì
- 16. Kích thước tối đa của vùng gốc trên Android?
- 17. Kích thước ngăn xếp tối đa C/C++
- 18. Kích thước tệp tối đa của hình ảnh JPEG có kích thước đã biết
- 19. Java DatagramPacket (UDP) tối đa gửi/recv đệm kích thước
- 20. Kích thước bộ đệm tối đa UDP sendto() và recvfrom() tối đa
- 21. Kích thước tối đa của Web.config là bao nhiêu?
- 22. Cách đặt kích thước nén gzip tối đa tomcat?
- 23. node-postgres: Đặt kích thước nhóm kết nối tối đa
- 24. Kích thước tối đa cho hình nền CSS
- 25. Kích thước tối đa của LogFileAppender trong Log4Net
- 26. Kích thước tối đa của int (10) trong Mysql
- 27. Kích thước tối đa của tệp Struts2 tải lên
- 28. emacs: x-popup-menu hạn chế kích thước tối đa?
- 29. Kích thước tối đa của biến varchar (max)
- 30. Xác định một đoạn bắt đa phân đoạn tất cả tuyến đường trong ember.js
Trong khi các liên kết này có thể trả lời câu hỏi, nó là tốt hơn để bao gồm các thành phần cốt lõi của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. – SysDragon
@SysDragon Đã chỉnh sửa câu trả lời của tôi. –
Khá tuyệt, +1 – SysDragon