Overall Satisfaction with HBase
HBase was used in my previous organization(PayPal) where we needed a database for storing and retrieving records in near real time. It was used within consumer analytics and other sub-teams. It supported our near real-time use analytical cases by proving a faster lookup of records with consistency reads/writes. Apart from that, helped in querying the records much faster than other NoSQL databases.
- Faster lookup of records using the row keys. It helped to fetch thousands of records in a much faster way using the row keys
- As it is a columnar data store, helped us to improve the query performance and aggregations
- Sharding helps us to optimize the data storage and retrieval. HBase provides automatic or manually sharding of tables.
- Dynamic addition of columns and column family helped us to modify the schema with ease.
- Identified issues with Hmaster when handling a huge number of nodes
- Cannot have multiple indexes as row key is the only column which could be indexed.
- HBase does not support partial row keys which limit its query performance.
- It supports the near real-time use cases when integrated with Spark Streaming.
- It helps to store huge volume of records with consistent reads/writes.
- Maintenance is the pain point as it requires some maintenance and monitoring of regional servers and nodes
Compared NoSQL databases with traditional databases for faster retrieval and consistency. As MongoDB is a NoSQL supports dynamic fields, however, query performance is bad for aggregations and added maintenance. When compared with MySQL and Teradata, it could not scale up as fast as Hbase and added cost involved to it. HBase can be easily scalable to a huge volume of records, have a faster lookup and provides consistency