【发布时间】:2017-09-19 15:50:29
【问题描述】:
我正在为数据库新手准备一门关于 NoSQL 的课程。在网上做了很多研究,现在,我在将 Cassandra 归类为宽列存储还是键值存储时处于两难境地?或者我应该称它为二维键值存储?我对 CouchBase 也有同样的问题。它是键值存储还是文档存储?
我正在寻找一种可靠的方法来对 2015 年版本的 NoSQL 数据库进行分类。感谢任何帮助。
【问题讨论】:
我正在为数据库新手准备一门关于 NoSQL 的课程。在网上做了很多研究,现在,我在将 Cassandra 归类为宽列存储还是键值存储时处于两难境地?或者我应该称它为二维键值存储?我对 CouchBase 也有同样的问题。它是键值存储还是文档存储?
我正在寻找一种可靠的方法来对 2015 年版本的 NoSQL 数据库进行分类。感谢任何帮助。
【问题讨论】:
既然有Couchbase 的答案,我会加入 Cassandra 方面。来自Cassandra GitHub page:
Cassandra 是一个分区行存储。行被组织成表格 具有必需的主键。
分区意味着 Cassandra 可以将您的数据分布在 多台机器在一个应用程序透明的事情。卡桑德拉将 当机器被添加和删除时自动重新分区 集群。
行存储意味着像关系数据库一样,Cassandra 组织 按行和列的数据。
【讨论】:
我无法对 Cassandra 做出明智的评论(尽管我的直觉是宽列优于 K/V),但对于 Couchbase,我可能会说,鉴于地图,将其归类为文档存储的论据更有说服力/reduce 功能(通过视图)和即将推出的 N1QL 查询语言。有一个令人信服的论点认为它是一个 K/V 存储,但我想说,为了在教育课程中传达竞争 NoSQL 解决方案的差异,将其归类为文档存储并不是不合理的。
不过,Couchbase 也可以充当分布式缓存,这可能是您希望在课程中涉及的内容。
【讨论】: