TrustRadius: an HG Insights company

HBase

Score7.3 out of 10

32 Reviews and Ratings

Community insights

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.

Reviews

10 Reviews

HBase as the brother of big data

Rating: 7 out of 10
Incentivized

Use Cases and Deployment Scope

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.

An Amazing Experience

Rating: 9 out of 10
Incentivized

Use Cases and Deployment Scope

HBase was used as a datastore for the retails product catalog and session maangement

Pros

  • Scalable and truly non-relational data
  • HBase operations run in real-time on its database rather than MapReduce jobs
  • Scales linearly to support billions of rows with millions of columns

Cons

  • Difficult for people who are building custom tools for SQL like purposes to understand HBase
  • Cannot be used for transactional datasets

Likelihood to Recommend

Suited for storing bulk data in a tabular manner, I would recommend Hadoop HBase, but for a small amount of data, I personally would not suggest the use of this tool. We are moving from a traditional file system to a Hadoop file system, and to store the data in a tabular manner, we are using HBase. As the data is increasing day by day, the need to manage the same is also required, which is incorporated by Hadoop.

HBASE!!!

Rating: 8 out of 10
Incentivized

Use Cases and Deployment Scope

HBase is used as part of the company's main revenue generating platform. We're using it store data with usages of mapreduce, generates locational information for advertising business and location analytics. Storage wise, it made sense to use HBASE over Cassandra, as well as for read performance with avro data with geospatial information in the data

Pros

  • Excellent for read performance
  • Great store of file format of avro
  • Easy integration into mapreduce
  • Replication ability

Cons

  • Write performance
  • Performance support for parquet file format. supports, but performance wise still not there
  • API / library availability for spark, rather than creating a new library for it

Likelihood to Recommend

It does depend on the use case scenario. It works really well if your schema doesn't really need relational features. It's really good for that. If you want to run as transactional, not a good idea. Relational analytics is not good for this, as well as edge network data. If you're using PB of data, then HBASE is best suited in this case as well.

No SQL Database to Support Near Real Time Analytics

Rating: 8 out of 10
Incentivized

Use Cases and Deployment Scope

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.

Pros

  • 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.

Cons

  • 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.

Likelihood to Recommend

Hbase is well suited for large organizations with millions of operations performing on tables, real-time lookup of records in a table, range queries, random reads and writes and online analytics operations.

Hbase cannot be replaced for traditional databases as it cannot support all the features, CPU and memory intensive. Observed increased latency when using with MapReduce job joins.

HBase, The Only Enterprise NoSQL Choice

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

HBase is being used by multiple organizations and internally it is used company-wide. it solves a large range of problems and provides unique solutions when we need a NoSQL store.

HBase provides the best of breed solutions for any NoSQL storage needs. One of the main important features is it is part of the HDP Hortonworks stack so it is installed by default so there's nothing else to install or configure. It is easy to administer with Ambari and scales to any size I need. It runs on top of HDFS so my data is safe, secure and scalable.

I use it as a store for data that is ingested via various streaming mechanisms including Apache NiFi, Apache Storm, Apache Spark Streaming, Apache Flink and Streaming Analytics Manager. It provides an easy key-value type store with fast scans for data access. I also run Apache Phoenix on top to provide a fast clean SQL interface to all of my data.

Pros

  • Scalability. HBase can scale to trillions of records.
  • Fast. HBase is extremely fast to scan values or retrieve individual records by key.
  • HBase can be accessed by standard SQL via Apache Phoenix.
  • Integrated. I can easily store and retrieve data from HBase using Apache Spark.
  • It is easy to set up DR and backups.
  • Ingest. It is easy to ingest data into HBase via shell, Java, Apache NiFi, Storm, Spark, Flink, Python and other means.

Cons

  • Not for small data
  • Requires a cluster

Likelihood to Recommend

HBase is well suited for streaming ingest, fast lookups, massive datasets, data warehouse lookup tables, RDBMS replacement, MongoDB replacement, key-value store, data scans, logs, JSON storage and some binary storage.

My preferred use case is for storing data points like time series or data produced by sensors.

I often use HBase when I need data available immediately and I am not looking for transactions. This is a great store for really wide tables with tons of columns. It is also great if you are not sure what type of data you are going to have. It really excels at sparse data.

HBase

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

HBase solves problems of scalability and management of multi-terabyte applications. It makes scaling to +1 nodes very easy, especially through Ambari. It is built with fault tolerance and availability in mind. You can use it on a single node but it shines on multi-node infrastructure. With high data access speed and resiliency, I wouldn't recommend any other NoSQL database for general use.

Pros

  • HBase data access and retrieval only gets better with larger scale.
  • Fault tolerance is built in, if you have unreliable hardware, HBase will make every effort to keep your data online.
  • Extremely fast key lookups and write throughput.

Cons

  • Multi-tenancy is still work in progress
  • Usability and beginner friendliness
  • It has a bad reputation of being complex

Likelihood to Recommend

HBase typically fits well in low latency, tight SLA scenarios. It is not recommended to be used in situations where a relational database would fit better. So in essence, if you're trying to do a lot of analytical workloads or joins, HBase wouldn't fit so well. If primary key access is sufficient, then HBase is a good fit.
Vetted Review
Apache HBase
3 years of experience

HBase - good for UI performance from a Hadoop cluster

Rating: 7 out of 10
Incentivized

Use Cases and Deployment Scope

HBase makes it possible to provide sub-second UI responsiveness when querying very large data sets. This is in contrast to something like hive, which could take many minutes.

Pros

  • Very fast query capability
  • Resilient: by leveraging hdfs, hbase can handle server failure pretty well

Cons

  • Very schema dependent - you have to carefully choose your schema and key strategy in order to get good distribution and performance.
  • Over aggressive rebalancing - if you have to bounce your system - for example - hbase will spend quite a while trying to rebalance all the data as each server comes online.

Likelihood to Recommend

When you need very fast query responsiveness from very large data sets

Support for HBase

Rating: 7 out of 10
Incentivized

Use Cases and Deployment Scope

It is used as a data store that consolidates the updates from the upstream key-value store where upstream store only stores the updates that meet the high qps and low latency. HBase is the secondary layer of the storage that consolidate all the updates for a given row key and serves as a upstream for hive table.

Pros

  • Good write throughput
  • Good horizontal scalability
  • Easy to operate on

Cons

  • Better tool for investigating the key-value content for data validation.
  • Better tool for row key monitoring since our key contains timestamps.
  • Better tool for system-level metric monitoring.

Likelihood to Recommend

Not good for extremely low latency online application, in particular read heavy app.

HBase - a scaleable, consistent data store

Rating: 7 out of 10
Incentivized

Use Cases and Deployment Scope

We use HBase as a secondary data store. We chose it mainly for its strongly consistent data model, and scalability. It has a pretty good documentation and a strong and active developer community that is still growing. The main downside is its many moving parts and operational overhead of deploying and managing clusters.

Pros

  • Scalability
  • Strong consistency
  • SQL layer

Cons

  • Too many processes
  • Difficult to manage many clusters

Likelihood to Recommend

HBase is a good choice if you're looking for a scaleable, strongly consistent data store that supports both OLTP and some OLAP as well.
Vetted Review
Apache HBase
1 year of experience

Apache HBase: Through the Looking Glass!

Rating: 7 out of 10
Incentivized

Use Cases and Deployment Scope

Apache HBase was used for mastering solutions, for creating master data sets and reconciling conflicting data coming to Apache Hadoop systems.

Pros

  • Apache HBase is a widely used java based distributed NoSQL environment on Apache Hadoop.
  • While there has been growing interest and efforts in in memory computing, there are investments on Apache Hadoop (or hadoop provider variants) across domains. So that is a large market.
  • I worked on HBase for applications which needed to provide strong consistency and interact with Apache Hadoop.

Cons

  • You could encounter issues like region is not online or NotServingException or region server going down, out of memory errors.
  • As HBase works with Zookeeper, care needs to be taken it is correctly set up. Most issues pertain usually to environment setup, configuration, shared load on system or maintenance.
  • The performance across workloads when evaluated against other NoSQL variants was not best in class, this is most times okay, but can be improved.
  • If you use Apache HBase, and want to upgrade it for some features then you might need to do a compatibility check against your Apache Hadoop and Apache HBase versions, there are dependency to think about.
  • The HBase master slave becomes the single point of failure, and may not be a preferred design.It is not highly available system.
  • Last I checked it did not have well tested easy integrations with Spark, and that can help.

Likelihood to Recommend

The key questions I ask when choosing NoSQL distributed database:

  • What is the application's inherent need? Does this component fit well in the design?
  • Does it provide high data security?
  • How does it assure there is no data loss?
  • How can I make sure it is a highly available system, and no downtime for customer?
  • Does it give me the best linear scalability?
  • What kind of tuning parameters does it allow the user to configure?
  • How does it stack up against other NoSQL variants on features, scalability, ease of use/contribute to and maturity of product?
  • What throughput can it attain under different kinds of workloads?