educative.io

Cannot use NoSQL like MongoDB because we cannot afford to read/write a row from the database every time a user receives/sends a message

We cannot use RDBMS like MySQL or NoSQL like MongoDB because we cannot afford to read/write a row from the database every time a user receives/sends a message. This will not only make the basic operations of our service run with high latency but also create a huge load on databases.

Both of our requirements can be easily met with a wide-column database solution like HBase.

does this mean that mongo requires the rewrite of the entire row on changes, but hbase only requires rewrite of the specific data being changed?

It doesn’t mean at all that Mongo requires the rewrite of the entire row on changes and HBase requires only rewrite of the specific data being changed. We prefer to choose HBase instead of MongoDB because it works on key-value pair pattern. It provides us fast read/write data as compared to MongoDB. Our operations run with low latency and also does not create a huge load on databases.