Câu hỏi rất cũ nhưng nó nằm trên Google và tôi không thích câu trả lời tôi thấy nên đây là câu hỏi của riêng tôi.
Couchdb có nhiều thứ hơn là khả năng phát triển CouchApps. Hầu hết mọi người sử dụng CouchDb trong kiến trúc web 3 tầng cổ điển.
Trong thực tế, yếu tố quyết định đối với hầu hết mọi người sẽ là việc MongoDb cho phép truy vấn đặc biệt với cú pháp giống như SQL trong khi CouchDb thì không (bạn phải tạo bản đồ / giảm chế độ xem khiến một số người tắt ngay cả khi tạo các chế độ xem này là thân thiện với Phát triển ứng dụng nhanh - chúng không liên quan gì đến các thủ tục được lưu trữ).
Để giải quyết các điểm nêu trong câu trả lời được chấp nhận: CouchDb có một hệ thống phiên bản tuyệt vời, nhưng điều đó không có nghĩa là nó chỉ phù hợp (hoặc phù hợp hơn) cho những nơi mà phiên bản là quan trọng. Ngoài ra, couchdb rất thân thiện với chữ viết nhờ vào tính chất bổ sung của nó (hoạt động ghi trở lại nhanh chóng trong khi vẫn đảm bảo rằng sẽ không có dữ liệu nào bị mất).
Một điều rất quan trọng không được ai nhắc đến là CouchDb dựa vào các chỉ số của cây b. Điều này có nghĩa là cho dù bạn có 1 "hàng" hay 20 tỷ, thời gian truy vấn sẽ luôn duy trì dưới 10ms. Đây là một công cụ thay đổi trò chơi làm cho CouchDb trở thành một cơ sở dữ liệu có độ trễ thấp và thân thiện với người đọc và điều này thực sự không nên bỏ qua.
Công bằng và toàn diện, lợi thế MongoDb có trên CouchDb là công cụ và tiếp thị. Họ có các công cụ công dân hạng nhất cho tất cả các ngôn ngữ và nền tảng chính giúp việc lên máy bay trở nên dễ dàng và điều này được thêm vào truy vấn adhoc của họ làm cho việc chuyển đổi từ SQL trở nên dễ dàng hơn.
CouchDb không có mức độ công cụ này - mặc dù ngày nay có rất nhiều thư viện - nhưng CouchDb được hiển thị dưới dạng API HTTP và do đó khá dễ dàng để tạo một trình bao bọc trong ngôn ngữ yêu thích của bạn để nói chuyện với nó. Cá nhân tôi thích cách tiếp cận này vì nó tránh phình to và cho phép bạn chỉ lấy những gì bạn muốn (nguyên tắc phân tách giao diện).
Vì vậy, tôi muốn nói sử dụng cái này hay cái kia phần lớn là vấn đề thoải mái và ưu tiên với mô hình của họ. Đối với một số người, cách tiếp cận CouchDb "chỉ phù hợp", nhưng nếu sau khi tìm hiểu về các tính năng cơ sở dữ liệu (trong hướng dẫn chính thức đầy đủ ), bạn không có khoảnh khắc "hell yeah", có lẽ bạn nên tiếp tục.
Tôi không khuyến khích sử dụng CouchDb nếu bạn chỉ muốn sử dụng "công cụ phù hợp cho công việc phù hợp". bởi vì bạn sẽ phát hiện ra rằng bạn không thể sử dụng nó theo cách đó và cuối cùng bạn sẽ nổi giận và viết các bài đăng trên blog như "Tham gia vào CouchDb ở đâu?" và "Quản lý giao dịch ở đâu?". Thật vậy, Couchdb là - nghịch lý - rất minh bạch nhưng đồng thời đòi hỏi một sự thay đổi mô hình và thay đổi cách bạn tiếp cận vấn đề để thực sự tỏa sáng (và thực sự hoạt động).
Nhưng một khi bạn đã làm điều đó thực sự có kết quả. Cá nhân tôi cần những lý do rất mạnh mẽ hoặc một người phá vỡ thỏa thuận lớn trong một dự án để chọn một cơ sở dữ liệu khác, nhưng cho đến nay tôi vẫn chưa gặp được.