Is Cassandra a Key value store or wide column stor

2020-02-10 07:53发布

问题:

I'm preparing a course on NoSQL for database novices. Did a lot of research online and now, I'm in a dilemma as to categorize Cassandra as a Wide Column Store or a Key Value Store? Or shall I call it a two dimensional Key Value Store? I'm having the same issue with CouchBase. Is it a Key Value store or a Document Store?

I'm looking for a Solid way to categorize NoSQL Databases in their versions in 2015. Any help is appreciated.

回答1:

Since there is a 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.



回答2:

I can't make an informed comment on Cassandra (although my gut instinct is Wide Column over K/V), but for Couchbase I'd probably say there's a stronger argument for categorising it as a document store, given the map/reduce functionality (through views), and the upcoming N1QL query language. There is a compelling argument for it being a K/V store, also, but I'd say for the purposes of communicating differences in competing NoSQL solutions in an educational course, categorising it as a document store wouldn't be unreasonable.

Couchbase can also act as a distributed cache, however, which may be something you wish to touch on in your course.