Tôi hiểu rằng các NoSQL DB định hướng tài liệu là "các phần mở rộng" của mô hình KV ở chỗ chúng cho phép bạn truy vấn nhiều hơn là chỉ một khóa tra cứu duy nhất. Nhưng một khi một cái gì đó là một "tài liệu", tôi cảm thấy như nó đã có một mô hình quan hệ nướng vào nó:Relational vs Columnar và Document Databases - không phải là chúng giống nhau không?
"myJson": {
"fizz": 4,
"buzz": "true",
"widget" : {
...etc.
}
}
Đối với tôi, tôi không thấy sự khác biệt giữa JSON này, và một bảng json_objects
với một fizz
và trường buzz
và mối quan hệ khóa ngoài với bảng widgets
thứ hai.
Và "cột" DB giống như Cassandra giống như âm thanh thẳng đứng/bảng DB.
Vì vậy, tôi hỏi: điều gì khác biệt về DBs tài liệu và cột hướng, và phân biệt (từ RDBMSes) về chúng? Những vấn đề gì họ thích hợp nhất để giải quyết điều đó làm cho chúng vượt trội hơn so với các DB quan hệ trong một số trường hợp nhất định? Cảm ơn trước!
Sơ đồ đó hoàn toàn sai, bạn không thể có CA db. Nó không thể có A nếu nó không phải là phân vùng khoan dung. Sơ đồ đó được thực hiện bởi một người hiểu lầm định lý CAP. Bạn không thể chọn 2, bạn cần phải chọn giữa C hoặc A. http://codahale.com/you-cant-sacrifice-partition-tolerance Liên kết đó được twitted bởi Brewer (tác giả của định lý CAP). Chỉ cần suy nghĩ về nó, những gì tài sản CAP không phân phối MySql (sharded (có HBase không có? Hiển thị cho tôi một kịch bản mà MySql có sẵn và HBase không. – user1944408
RDBMS hệ thống đảm bảo tính nhất quán và sharding làm cho hệ thống khoan dung để phân vùng. Định lý sau đó cho rằng hệ thống có thể không đảm bảo tính khả dụng, do đó hệ thống RDBMS là CP – user1944408
@ user1944408 Phê bình luôn được đánh giá cao, tuy nhiên bạn nói sơ đồ là hoàn toàn sai vì nơi HBase và MySql đứng trên sơ đồ. hình ảnh đã được sử dụng trong một số [câu trả lời] (http://stackoverflow.com/questions/2794736/best-data-store-for-billions-of-rows#answer-2794983) trên SO và vui lòng đọc qua [bài viết này] (http://blog.nahurst.com/visual-guide-to-nosql-systems) biện minh lý do tại sao MySql được đặt là CA, hoặc nếu bạn không muốn ... chúng ở đó để so sánh, đó là hướng dẫn về cơ sở dữ liệu NoSql, chứ không phải RDBM ' . –