Tôi đã nghe rất nhiều về các kho dữ liệu theo định hướng tài liệu như CouchDB. Tôi hiểu việc sử dụng BigTable như các cửa hàng như Cassandra. Sau khi đọc this question, tôi đã tự hỏi điều kiện sẽ là gì khi sử dụng cửa hàng tài liệu?Cách sử dụng tốt nhất của các cửa hàng tài liệu là gì?
Trả lời
Các cửa hàng gia đình cột như Bigtable và Cassandra có khả năng truy vấn rất hạn chế. Ứng dụng chịu trách nhiệm duy trì các chỉ mục để truy vấn một mô hình dữ liệu phức tạp hơn.
Cơ sở dữ liệu tài liệu cho phép bạn truy vấn nội dung, không chỉ là khóa. Nó cũng sẽ quản lý các chỉ mục cho bạn, giảm sự phức tạp của ứng dụng của bạn.
Domain-driven design truyền giáo sử dụng tập hợp và đối tượng giá trị. As Ayende points out, (tổng hợp) tập hợp là các ứng cử viên rất tự nhiên được lưu trữ dưới dạng một tài liệu duy nhất, thay vì bình thường hóa chúng trên nhiều bảng hoặc các họ cột. Điều này sẽ làm giảm sự phức tạp của lớp kiên trì của bạn. Cũng có ít khả năng là dữ liệu liên quan nằm rải rác trên nhiều nút, vì tất cả dữ liệu được chứa trong một tài liệu.
Nếu ứng dụng của bạn cần lưu trữ các đối tượng đa hình, cơ sở dữ liệu tài liệu cũng là một ứng cử viên tốt. Tất nhiên, điều này cũng có thể được lưu trữ trong Cassandra, nhưng bạn sẽ không có nhiều khả năng truy vấn. Ít nhất là không ra khỏi hộp.
Hãy nghĩ đến cơ sở dữ liệu tài liệu như một chiếc xe thể thao sang trọng. Nó không cần một trình điều khiển chuyên nghiệp (đọc: ứng dụng phức tạp) để giúp bạn từ A đến B, nó có các tính năng như điều hòa không khí và chỗ ngồi thoải mái và nó sẽ lap theo dõi khả năng mở rộng cao trong một thời gian chấp nhận được. Tuy nhiên, nếu bạn muốn đặt bản ghi vòng trên đường có khả năng mở rộng cao, bạn sẽ cần trình điều khiển chuyên nghiệp và xe được tối ưu hóa cao (ví dụ: Cassandra), thiếu các tính năng như điều hòa không khí.
Một tính năng của CouchDB là bạn có thể tạo ra những quy tụ, không phải là tài liệu được lưu trữ bằng tay, nhưng như quan điểm (mà có nguồn gốc từ các dữ liệu được lưu trữ, và được cập nhật tự động.)
này cũng giống như cửa sổ điện, nước nóng ghế ngồi hoặc dàn âm thanh nổi.
Bumping Naughty by Nature tất nhiên – JasonSmith
- 1. Cách tốt nhất để sử dụng JavaDoc để tạo tài liệu cho Java enum là gì?
- 2. Các tài liệu tham khảo tốt nhất cho việc sử dụng jQuery là gì?
- 3. Cách tốt nhất để sử dụng các tiện ích linux dưới cửa sổ là gì?
- 4. Cách tốt nhất để đưa tệp PDF vào tài liệu Sphinx của tôi là gì?
- 5. Các nguồn lực tốt nhất cho các mẫu thiết kế và cách sử dụng của chúng là gì?
- 6. Cách tốt nhất để lập tài liệu giao diện WCF là gì?
- 7. Cách tốt nhất để thu gọn các hàng của một SELECT thành một chuỗi là gì?
- 8. Cách tốt nhất để sử dụng dữ liệu bộ nhớ đệm trong js ở phía khách hàng là gì?
- 9. Cách tốt nhất để phân tích cú pháp tài liệu Microsoft Office và PDF là gì?
- 10. Cách tốt nhất để thêm các mục vào cửa sổ phương thức của một ứng dụng khác là gì?
- 11. Cách tốt nhất để chèn cơ sở dữ liệu hàng loạt từ C# là gì?
- 12. Các thành phần tốt nhất của Boost là gì?
- 13. Cách tốt nhất để tạo tài liệu REST API là gì?
- 14. Cách tốt nhất để truy vấn số lượng hàng từ Dữ liệu chính là gì?
- 15. Cách tốt nhất để sử dụng phương thức .SaveChanges() trong các dịch vụ dữ liệu ADO.Net là gì?
- 16. Tài nguyên học tập tốt nhất (N) ASM là gì?
- 17. Phương pháp tốt nhất để thu thập dữ liệu về việc sử dụng ứng dụng của bạn là gì?
- 18. Cửa hàng comonad là gì?
- 19. Gói tài liệu nguồn mở phân cụm tốt nhất là gì?
- 20. Cách tốt nhất để chuyển dữ liệu từ python sang ứng dụng khác trong cửa sổ là gì?
- 21. Cách tốt nhất để lấy các giá trị khác biệt/duy nhất bằng cách sử dụng SPQuery là gì?
- 22. Loại dữ liệu tốt nhất để sử dụng cho tiền trong ứng dụng Java là gì?
- 23. Tài liệu polyglot là gì?
- 24. Cách tiếp cận tốt nhất để sử dụng JasperReport là gì?
- 25. Cách tốt nhất để lưu dữ liệu cục bộ trong một ứng dụng WPF là gì?
- 26. Cách tốt nhất để sử dụng các lớp .NET từ Visual Basic 6 là gì?
- 27. Cách tốt nhất để sử dụng CSS là gì? (KHÔNG * học * nhưng thực sự * sử dụng *)
- 28. Cách tốt nhất để sử dụng thư viện phong phú của tôi trong scala là gì?
- 29. Cách tốt nhất để tổ chức các khóa tài nguyên i18n là gì?
- 30. Tài liệu tốt nhất cho Boost: asio?
Xin chào, mô tả hay! Điều duy nhất tôi sẽ thêm là CouchDB nhằm mục đích là Honda Accord của cơ sở dữ liệu, không phải là Ferrari. Tuy nhiên, tôi nghĩ rằng họ là những ẩn dụ khác nhau, chỉ liên quan ngẫu nhiên. – JasonSmith