7

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.

Community
  • 1
  • 1
Frank Goortani
  • 1,407
  • 17
  • 26

2 Answers2

6

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.

Aaron
  • 55,518
  • 11
  • 116
  • 132
  • 2
    does not address the question and clarify the columnar vs key value dilemma. – Gadam May 24 '21 at 04:29
  • @Gadam it doesn’t clarify it because Cassandra is neither a key/value store or a columnar database. It is a partitioned row store, which is completely different. – Aaron May 24 '21 at 05:12
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.

mrkwse
  • 420
  • 7
  • 16