giải pháp NoSQL khác nhau giải quyết vấn đề khác nhau cho các mục đích khác nhau - vì vậy trước hết là điều tốt nhất để làm là nhìn vào vấn đề của bạn và phá vỡ nó xuống
- Bạn đang viết nặng nề để lưu trữ, do đó tốc độ ghi là quan trọng đối với bạn
- Bạn muốn thực hiện các thao tác tổng hợp trên dữ liệu đó và có kết quả dễ dàng truy vấn được
- Tốc độ đọc không quan trọng bằng âm thanh của mọi thứ, ít nhất không phải trong "ứng dụng web phải thực sự đáp ứng cho hàng triệu pe ople" loại cách
- Tôi không biết nếu bạn cần truy vấn năng động hay không
Hãy nhìn vào Couch, Mongo và Raven ở một mức độ rất cao, cách tổng quát
Raven
- nhanh viết
- truy vấn nhanh (cuối cùng nhất quán, tính toán trước, tập hợp thông qua bản đồ/giảm)
.210
- động truy vấn có thể, nhưng không thực sự phù hợp với trường hợp sử dụng của bạn, như bạn đang có khả năng nhất sẽ được truy vấn theo ngày vv
Mongo
- blindingly nhanh ghi (Theo ý kiến của tôi nguy hiểm, vì mất điện có nghĩa là mất dữ liệu ;-))
- Đọc chậm (tương đối), tổng hợp qua bản đồ/giảm, không được tính toán trước
- Truy vấn động chỉ là what_you_do, nhưng bạn có thể phải xác định chỉ mục trên các cột của bạn nếu bạn muốn bất kỳ loại hiệu suất trên loại dữ liệu này
Couch
- nhanh viết
- Fast-ish đọc (Pre-tính, nhưng được cập nhật chỉ khi bạn đọc (IIRC)
- Không thể truy vấn động, tất cả được xác định trước thông qua chức năng bản đồ hoặc bản đồ/giảm
Vì vậy, về cơ bản - bạn có cần truy vấn động trên loại dữ liệu này không? Tốc độ đọc có cực kỳ quan trọng với bạn không? Nếu bạn cần truy vấn động thì bạn sẽ muốn Raven hoặc Mongo (Đối với loại điều này Couch có lẽ không phải là những gì bạn đang tìm kiếm anyway).
FWIW, trường hợp sử dụng duy nhất của Mongo trong quan điểm của tôi LÀ để đăng nhập, vì vậy bạn có thể có một anwer ở đó.
Nguồn
2011-01-20 11:55:17
câu trả lời hay hỏi yêu cầu trước khi chọn :) – stack72
@Rob: Tôi hiểu rằng các truy vấn CouchDB không được tính toán trước, chúng được tính toán theo nhu cầu và sau đó được lưu vào bộ nhớ cache. Ngoài ra, +1. – skaffman
Đó không phải là điều tôi đã nói sao? Đó là hiệu quả trước tính toán - truy vấn bổ sung sẽ kết hợp các kết quả cho đến nay với bất kỳ dữ liệu thay đổi "nhưng chỉ cập nhật khi bạn đọc" –