MongoDB vs Cassandra vs MySQL vs HBase

how to choose the right database?

Integration considerations

Scaling requirements

Support considerations

Budget considerations ? Probably not

CAP considerations

availability

consistency partition tolerance

Simplicity

An example

You are building an internal phone directory app

  • scale: limited

  • consistency: eventual is fine

  • availability requirements: not mission critical

  • MySQL is probably already installed in your web server

MySQL: simple, cheap

Another example

  • You want to mine web server logs for interesting patterns

  • what are the most popular times of day? what's the average session length?

  • import raw data into HDFS cluster, using Hive to do to query, no need to use external data base

Another example

You try it!

MongoDB: support , consistency, partition tolerance

Last updated

Was this helpful?