4

While reading about this topic online I have found out that, in general, RDBMS are good for read heavy loads and NoSQL databases are good for write heavy workloads. This statement also seemed true when I was comparing MySQL with HBase. MySQL used B+ trees which are optimized for reads whereas HBase used LSM trees which are optimized for writes.

However, if the above facts are true, then why is it that NoSQL databases are used primarily for analytics (OLAP) loads whereas RDBMS is used for transaction loads (OLTP) given that analysis is mostly a read heavy load and OLTP has a very high write to read ratio.

One reason for this probably is that transactions usually involve data that cannot be lost hence we need a DB that is ACID compliant. However, from a performance viewpoint, shouldn't the two roles be reversed?

closed as unclear what you're asking by Robert Harvey, user22815, durron597, Ixrec, user40980 Sep 22 '15 at 0:15

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • "However, if the above facts are true, then why is it that NoSQL databases are used primarily for ..." Because your analysis is oversimplified and probably wrong. Learn a little more first: read this and this. – Robert Harvey Sep 21 '15 at 2:08