Cassandra 是键值存储还是宽列存储?
Is Cassandra a Key value store or wide column store?
我正在为数据库新手准备一门关于 NoSQL 的课程。在网上做了很多研究,现在我陷入了将 Cassandra 归类为宽列存储还是键值存储的两难境地?或者我应该称之为二维键值存储吗?我与 CouchBase 有同样的问题。它是键值存储还是文档存储?
我正在寻找一种可靠的方法来根据 2015 年的版本对 NoSQL 数据库进行分类。感谢您的帮助。
我无法对 Cassandra 做出明智的评论(尽管我的直觉是 Wide Column 优于 K/V),但对于 Couchbase,我可能会说将其归类为文档存储有更充分的理由,鉴于 map/reduce 功能(通过视图)和即将推出的 N1QL 查询语言。还有一个令人信服的论点是它是一个 K/V 存储,但是我想说,为了在教育课程中交流竞争 NoSQL 解决方案的差异,将它归类为文档存储并不是没有道理的。
Couchbase 也可以充当分布式缓存,但是,这可能是您希望在课程中涉及的内容。
因为有一个Couchbase answer I'll jump-in on the Cassandra side. From the Cassandra GitHub page:
Cassandra is a partitioned row store. Rows are organized into tables
with a required primary key.
Partitioning means that Cassandra can distribute your data across
multiple machines in an application-transparent matter. Cassandra will
automatically repartition as machines are added and removed from the
cluster.
Row store means that like relational databases, Cassandra organizes
data by rows and columns.
我正在为数据库新手准备一门关于 NoSQL 的课程。在网上做了很多研究,现在我陷入了将 Cassandra 归类为宽列存储还是键值存储的两难境地?或者我应该称之为二维键值存储吗?我与 CouchBase 有同样的问题。它是键值存储还是文档存储?
我正在寻找一种可靠的方法来根据 2015 年的版本对 NoSQL 数据库进行分类。感谢您的帮助。
我无法对 Cassandra 做出明智的评论(尽管我的直觉是 Wide Column 优于 K/V),但对于 Couchbase,我可能会说将其归类为文档存储有更充分的理由,鉴于 map/reduce 功能(通过视图)和即将推出的 N1QL 查询语言。还有一个令人信服的论点是它是一个 K/V 存储,但是我想说,为了在教育课程中交流竞争 NoSQL 解决方案的差异,将它归类为文档存储并不是没有道理的。
Couchbase 也可以充当分布式缓存,但是,这可能是您希望在课程中涉及的内容。
因为有一个Couchbase answer I'll jump-in on the Cassandra side. From the Cassandra GitHub page:
Cassandra is a partitioned row store. Rows are organized into tables with a required primary key.
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster.
Row store means that like relational databases, Cassandra organizes data by rows and columns.