zotherstupidguy
zotherstupidguy

Reputation: 3024

CouchDB vs HBase

Are there any similarities between these two ?

Upvotes: 10

Views: 9363

Answers (3)

Chris Stivers
Chris Stivers

Reputation: 316

On the surface, they share many similarities:

  • Schema-free data-model
  • Distributed design
  • Map-Reduce as processing model (as opposed to SQL)

However, the details of how each of those points are implemented are quite different, and share very little similarities. I will lightly go over the points.

Schema-Free Data-Model:

  • CouchDB is a document store, allowing you to store any document in JSON format.
  • HBase is a column-oriented store, where you store column values and are able to group those values into a row (very simplistic explanation).

Distributed Design:

  • CouchDB uses a peer-to-peer design for distributing data.
  • HBase uses master nodes that dictate where columns and rows are written. (again simplistic explanation).

Map-Reduce:

  • CouchDB has a built-in mechanism called "views" that allows you to define embedded map-reduce jobs. These "views" generate a "table" containing the output of the map-reduce job, which you can then use just as you would a normal table. Similar to materialized views in relational databases.
  • HBase does not have a built-in map-reduce mechanism. Rather, you are able to hook up HBase with Hadoop to perform the Map-Reduce jobs. What you do with the result is independent of HBase, you can import the data or move to another database.

I attempted to not go into detail, and hope what I explained is sufficient to give you an understanding.

Kristóf Kovács has created a decent overview of the features of these databases plus others in the NoSQL field.

Upvotes: 18

Joel
Joel

Reputation: 1

This is a good comparison for a lot of NoSQL flavors: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

Upvotes: 2

Niels Basjes
Niels Basjes

Reputation: 10652

They have nothing in common. CouchDB is a database and Hadoop is a distributed processing framework.

You should be comparing CounchDB and Hbase/Hive (which are based on Hadoop) instead.

So I think this older question should get you on the way: bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, what do they have in common?

Upvotes: 5

Related Questions