9bNine Bits

What Is HBase and How Does It Work?

HBase is an open-source, column-oriented database that runs on top of HDFS, modeled after Google's Bigtable, built for fast random read and write access to tables with billions of rows. It organizes data into regions served by RegionServers, coordinated through ZooKeeper and an HMaster process, and persists writes through a write-ahead log and on-disk HFiles. It is not a relational database and has no SQL engine of its own.
What Is HBase and How Does It Work?

 

We’ll go forth explaining HBase for dividing several parts. First of all, let’s look at the description and some features of HBase such as the key terms, pros and cons, and architecture.

 

What is HBase?

HBase is the Distibuted Column Oriented Database developed by using Google’s BigTable to model. It is embodied on a basis of HDFS and support bulk Read/Write feature and Fast Scans. It also ensures high availability by using Zookeeper that provides various services to adjust the correlation between servers in a distributed environment. Additionally, it supports Membership Information Storage, Dead Server Detection, Master Election and Recovery, and so on.

 

Key Terms of HBase

Table

  • A set of Rows (There is Row Key and consists of multiple Column Families)
  • Define only Column Family in Schema Definition

 

Row Key

  • Order descending sort alphabetically to random Byte column
  • An empty Byte string means a beginning and an end
  • All of the strings, binaries, serialized data structures can be Row Key

 

Column Family

  • All members of Column Family as the group of Columns use same prefix
  • NoSQL:Cassandra and NoSQL:HBase are the members of Column Family
  • The prefix of Column Family consists of the denotable characters necessarily
  • Require specify a part of definition in the table schema at first
  • All members of Column Family physically store together in the file system
  • Enable dynamically add new member of Column Family

 

Cell

  • Tuple stated about ROW KEY & Column & Version
  • The value is the random Byte column and Timestamp
  • Table Cell is controlled by the version (only Cells)

 

Pros and Cons

HBase maintains its performance if Region server is just added continuously in case of issues arise, and Fail over and the management are easy. It is also easy to use for the input of MapReduce.

However, when using input file at the same time, Region server is often down because the CPU utilization is high. HBase has the materials of the conditions for the proper HBase setting, but it is difficult to apply the setting immediately because there is the difference in the scale of Cluster or its specification. The region of the specific table is easily concentrated in specific server, and it can reduce the performance. So it is necessary for appropriate design.

 

HBase Cluster Architecture

Common questions

Is HBase a relational database?

No. It has no SQL engine, no joins, and no fixed schema beyond its declared column families. It is a sparse, distributed map keyed by row and column, closer to Bigtable than to a relational system.

Does HBase require Hadoop to run?

Yes. HBase stores its data as HFiles on HDFS, or a compatible filesystem, and uses Apache ZooKeeper for coordination, so both need to be running and healthy for an HBase cluster to work.

How does HBase compare to Cassandra?

Both are wide-column stores built for random access at scale, but HBase relies on HDFS and ZooKeeper underneath it, while Cassandra is self-contained with a peer-to-peer architecture and no master node. The choice usually depends on whether the rest of the stack is already Hadoop-based.

Can I run SQL queries against HBase?

Not natively. SQL access comes from separate layers such as Apache Phoenix or Hive's HBase storage handler, which translate queries into calls against the HBase API.

Why do bulk loads write HFiles instead of using normal writes?

Writing through the standard path sends every row through the write-ahead log and MemStore, which is slow for millions of rows at once. Generating HFiles directly with a MapReduce job and loading them into place skips that path and is far faster for large or recurring imports.

Sources

  1. Apache HBase Reference Guide
  2. Apache Hadoop Documentation
  3. Apache Hive Documentation
  4. Apache Phoenix

About this page

Last reviewed October 30, 2026 by the Nine Bits editors. Read our editorial policy or report an error.