Trong hầu hết các tình huống, tôi khuyên bạn nên chọn một db cho một dự án, nếu dự án không lớn. Đối với các dự án thực sự lớn (hoặc doanh nghiệp nói chung), Tôi nghĩ là các tổ chức dài hạn sẽ sử dụng kết hợp
- RDBMS cho OLTP giao dịch cao
- NoSQL
- một dự án datawarehousing / BI
Nhưng đối với những thứ có phạm vi hợp lý hơn, chỉ cần chọn một thứ làm cốt lõi của trường hợp sử dụng và sử dụng nó cho mọi thứ.
IMO lưu trữ dữ liệu người dùng trong mongodb là tốt - bạn có thể thực hiện các hoạt động nguyên tử trên các tài liệu BSON đơn lẻ để các hoạt động như "cấp phát cho tôi tên người dùng này theo cách nguyên tử" là có thể thực hiện được. Với nhật ký làm lại ( --journal ) (v1.8 +), nhân rộng, đã trả trước sao chép, có thể có mức độ an toàn dữ liệu khá cao - cao như các sản phẩm db khác trên giấy. Lập luận chính chống lại sự an toàn sẽ là sản phẩm mới và phần mềm cũ luôn an toàn hơn.
Nếu bạn cần thực hiện các giao dịch ACID rất phức tạp - chẳng hạn như kế toán - hãy sử dụng RDBMS.
Ngoài ra, nếu bạn cần thực hiện nhiều báo cáo, mysql có thể tốt hơn vào lúc này, đặc biệt nếu tập dữ liệu phù hợp trên một máy chủ. Câu lệnh SQL GROUP BY khá mạnh mẽ.