Advantages
- It is an automated environment that supports automatic partitioning, sharding, and failover
- Offers a high real-time efficiency, including random and fast read/write operations and low latency for data reading/processing
- Flexible and consistent when dealing with a high volume of requests
- Data compression is supported, therefore HBase is ideal to store huge amounts of sparse data
- Queries are optimized efficiently, as it is compatible with multiple filters, including BlockCache and Bloom
- It can be integrated with Java, Thrift, REST, MapReduce, Hive, Pig, Avro etc. APIs and applications
- Scaling up is not necessary, as HBase can make use of new nodes, meaning that it can be expanded effortlessly
- It can handle large quantities of stored data faster than a conventional relational database management system
Disadvantages
- CPU and memory hog, so it requires more servers, leading to higher maintenance costs
- Partial keys are not entirely supported, while indexing is also not supported by default
- It does not support good security features, like authentication and permissions
- HBase has a Single Point of Failure (SPOF), so when HMaster is down, the whole cluster of nodes is down and requires a lot of time to get back up
- SQL scripting is not supported, so although it is ideal for sparse data, HBase should not be used for transactions
Components
- Region Server
- HMaster
- ZooKeeper
Development tools
- HareDB HBase Client
- hbaseexplorer
- HBase Manager
- HareDB Data Model Management
- Toad