2013-02-04 33 views
5

Không ai biết (từ kinh nghiệm cá nhân hoặc tài liệu chính thức) có bao nhiêu yêu cầu đồng thời mà một máy chủ MongoDb duy nhất xử lý trước khi sharding được thông báo?Có bao nhiêu yêu cầu mongodb xử lý trước khi sharding là cần thiết?

+0

Điều này sẽ dựa hoàn toàn vào loại/loại phần cứng, hệ điều hành, dữ liệu, loại truy vấn, .... – WiredPrairie

+1

Tôi đồng ý với @WiredPrairie, không có câu trả lời thực tế cho câu hỏi này; có quá nhiều ẩn số phụ thuộc vào kịch bản của bạn. Tôi có nghĩa là bạn có thể có một bộ sưu tập mà terabytes lớn xử lý hàng triệu yêu cầu một ngày và vẫn không cần sharding – Sammaye

Trả lời

4

Nếu bộ làm việc của bạn vượt quá RAM bạn có thể mua cho một máy chủ, hoặc yêu cầu I/O đĩa vượt quá những gì bạn có thể cung cấp trên một máy chủ đơn lẻ hoặc (ít có khả năng), yêu cầu CPU của bạn vượt quá mức bạn có thể đạt được một máy chủ, sau đó bạn sẽ cần phải phân mảnh. Tất cả những điều này phụ thuộc rất nhiều vào khối lượng công việc cụ thể của bạn. Xem http://docs.mongodb.org/manual/faq/storage/#what-is-the-working-set

1

Một yếu tố là phần cứng. Mặc dù cho điều này bạn có bộ bản sao. Chúng giảm tải từ máy chủ chủ bằng cách trả lời các truy vấn chỉ đọc với dữ liệu được sao chép. Một tùy chọn khác sẽ là memcaching cho các truy vấn rất thường xuyên và lặp đi lặp lại, mà sẽ còn nhanh hơn.

Một yếu tố cho dù việc phá là cần thiết là kích thước dữ liệu & biến thể. Khi bạn có nhiều dữ liệu khác nhau mà bạn cần truy cập, điều này sẽ khiến bộ nhớ cache của máy chủ không hiệu quả bằng cách phân phối quyền truy cập vào dữ liệu đến phạm vi rộng, khi đó bạn sẽ xem xét sử dụng sharding. Công việc off-loading chỉ là một tác dụng phụ của việc này.

Các vấn đề liên quan