Các giải pháp NoSQL khác nhau giải quyết các vấn đề khác nhau cho các mục đích sử dụng khác nhau - vì vậy trước hết điều tốt nhất nên làm là xem xét vấn đề của bạn và chia nhỏ nó ra
- Bạn đang viết rất nhiều đối với bộ nhớ, do đó tốc độ ghi rất 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ả của dữ liệu đó có thể truy vấn dễ dàng
- Tốc độ đọc không quá quan trọng so với âm thanh của mọi thứ, ít nhất là không phải trong một kiểu "ứng dụng web phải thực sự đáp ứng cho hàng triệu người"
- Tôi không biết bạn có cần truy vấn động hay không
Hãy xem Couch, Mongo và Raven ở cấp độ rất cao, một cách tổng quát
Quạ
- Viết nhanh
- Truy vấn nhanh (cuối cùng nhất quán, được tính toán trước, tổng hợp qua bản đồ / thu nhỏ)
- Có thể truy vấn động, nhưng không thực sự phù hợp với trường hợp sử dụng của bạn, vì nhiều khả năng bạn sẽ truy vấn theo ngày, v.v.
Mongo
- Ghi nhanh chóng mặt (Theo ý kiến của tôi là nguy hiểm, vì tắt nguồn có nghĩa là mất dữ liệu;-))
- Đọc chậm (tương đối), tổng hợp qua bản đồ / thu nhỏ, 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 mình nếu bạn muốn bất kỳ loại hiệu suất nào trên loại dữ liệu này
Đi văng
- Viết nhanh
- Đọc nhanh (Được tính toán trước, nhưng chỉ được cập nhật khi bạn đọc (IIRC)
- Không thể truy vấn động, tất cả đều được xác định trước thông qua bản đồ hoặc chức năng bản đồ / thu gọn
Vì vậy, về cơ bản - bạn có cần truy vấn động đối với loại dữ liệu này không? Tốc độ đọc có cực kỳ quan trọng đối 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 điều này, Couch có thể không phải là thứ bạn đang tìm kiếm).
FWIW, trường hợp sử dụng duy nhất của Mongo theo quan điểm của tôi là ghi nhật ký, vì vậy bạn có thể có một người quản lý ở đó.