TrustRadius Insights for Apache HBase are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Business Problems Solved
HBase has established itself as a crucial tool for various organizations, including PayPal, to store and retrieve records in near real time. Users have found that HBase excels in analytical use cases by providing faster lookup of records with consistent reads and writes, making it ideal for handling large datasets. It allows for faster querying of records compared to other NoSQL databases, resulting in improved data access and analysis capabilities. The ease of installation and configuration, thanks to its integration with the HDP Hortonworks stack, is another advantage that users appreciate.
One significant use case for HBase is as a data store for streaming data ingested through mechanisms like Apache NiFi, Apache Storm, Apache Spark Streaming, Apache Flink, and Streaming Analytics Manager. This allows organizations to efficiently manage and process continuous streams of data. Furthermore, HBase's ability to store structured, semi-structured, and unstructured data without requiring a pre-defined schema makes it a versatile choice for a range of applications.
Customers across industries have leveraged HBase successfully for their specific needs. In the retail sector, it serves as a datastore for product catalogs, session management systems, and revenue-generating platforms. Additionally, businesses involved in advertising and location analytics rely on HBase to generate locational information efficiently. Its scalability and read performance with avro data containing geospatial information make HBase preferable over alternatives like Cassandra.
HBase also plays a vital role in managing data within Apache Hadoop systems. It is used to create master data sets and reconcile conflicting data. Moreover, HBase serves as a secondary layer of storage that consolidates updates from upstream key-value stores.
While users highly recommend HBase for its data model consistency, scalability, and well-documented features, they do acknowledge the operational overhead associated with deploying and managing clusters. Nonetheless, this does not overshadow the significant benefits that organizations derive from using HBase to solve scalability and management issues related to multi-terabyte applications.
I use HBase because it is a NoSQL database and it is open sourced and can store big data. We can store any structured, semi-structured and unstructured data easily. One other major benefit is, it is a columnar database so no need to specify any schema. I generally use it when I store the streaming data, the analysis is also faster after connecting the HBase with Spark. HBase is a mature database so we can connect HBase with various execution engine and other component using JDBC.
Pros
HBase stores the big data in a great manner and it is horizontally scalable.
Another major reason is security, we can secure the HBase database using Atlas, Ranger.
Store any format of data like structured, semi-structured and unstructured.
Consistency
Strongly consistent reads and writes are provided by HBase, we use it for high-speed requirements if we do not need RDBMS-supported features such as full transaction support or typed columns.
Cons
There are very few commands in HBase.
Stored procedures functionality is not available so it should be implemented.
HBase is CPU and Memory intensive with large sequential input or output access while as Map Reduce jobs are primarily input or output bound with fixed memory. HBase integrated with Map-reduce jobs will result in random latencies.
Likelihood to Recommend
While we have a variable schema with slightly different rows and when you are going for a key dependent access to our stored data, we prefer to use HBase. No requirement of relational features. If we do not need features like transaction, triggers, complex query, complex joins etc. then go for HBase.