Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Cassandra a Key value store or wide column store?

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.

like image 801
Frank Goortani Avatar asked Feb 13 '15 13:02

Frank Goortani


2 Answers

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.

like image 160
Aaron Avatar answered Oct 19 '22 02:10

Aaron


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.

like image 36
mrkwse Avatar answered Oct 19 '22 00:10

mrkwse