Apache HBase

A non-relational (NoSQL) database that runs on top of HDFS

Apache HBase is an open source NoSQL database that provides real-time read/write access to those large datasets.

HBase scales linearly to handle huge data sets with billions of rows and millions of columns, and it easily combines data sources that use a wide variety of different structures and schemas. HBase is natively integrated with Hadoop and works seamlessly alongside other data access engines through YARN.

What HBase Does

Apache HBase provides random, real time access to your data in Hadoop. It was created for hosting very large tables, making it a great choice to store multi-structured or sparse data. Users can query HBase for a particular point in time, making “flashback” queries possible. These following characterisitcs make HBase a great choice for storing semi-structured data like log data and then providing that data very quickly to users or applications integrated with HBase.

Characteristic Benefit
Fault tolerant
  • Replication across the data center
  • Atomic and strongly consistent row-level operations
  • High availability through automatic failover
  • Automatic sharding and load balancings of tables
  • Near real time lookups
  • In-memory caching via block cache and bloom filters
  • Server side processing via filters and co-processors
  • Data model accommodates wide range of use cases
  • Metrics exports via File and Ganglia plugins
  • Easy Java API as well as Thrift and REST gateway APIs

Enterprises use Apache HBase’s low latency storage for scenarios that require real-time analysis and tabular data for end user applications. One company that provides web security services maintains a system accepting billions of event traces and activity logs from its customer’ desktops every day. The company’s programmers can tightly integrate their security solutions with HBase (to assure that the protection they provide keeps pace with real-time changes in the threat landscape.)

Another company provides stock market ticker plant data that its users query more than thirty thousand times per second, with an SLA of only a few milliseconds. Apache HBase provides that super low-latency access over an enormous, rapidly changing data store.

How HBase Works

HBase scales linearly by requiring all tables to have a primary key. The key space is divided into sequential blocks that are then allotted to a region. RegionServers own one or more regions, so the load is spread uniformly across the cluster. If the keys within a region are frequently accessed, HBase can further subdivide the region by splitting it automatically, so that manual data sharding is not necessary.

ZooKeeper and HMaster servers make information about the cluster topology available to clients. Clients connect to these and download a list of RegionServers, the regions contained within those RegionServers and the key ranges hosted by the regions. Clients know exactly where any piece of data is in HBase and can contact the RegionServer directly without any need for a central coordinator.

RegionServers include a memstore to cache frequently accessed rows in memory. Optionally, users can store rows off-heap, caching gigabytes of data while minimizing pauses for garbage collection.

Apache HBase provides high availability in several ways:

  • Highly available cluster topology information through production deployments with multiple HMaster and ZooKeeper instances
  • Data distribution across many nodes means that loss of a single node only affects data stored on that node
  • HBase HA allows data storage, ensuring that loss of a single node does not result in loss of data availability
  • HFile format stores data directly in HDFS. HFile can be read or written to by Apache Hive, Apache Pig, MapReduce, and Apache Tez, permitting deep analytics on HBase without data movement

Hortonworks Focus for HBase

As HBase evolves, the community is working on continued improvements to its performance, integration options and developer accessibility.

Focus Planned Enhancements
Performance By taking advantage of emerging technologies like HDFS heterogeneous storage and more effective use of RAM
Integration Support for streaming technologies including Apache Storm and Spark Streaming
Developer access From a variety of development environments, including Java, .NET, and Python

Recent Progress in HBase

This table summarizes recent innovation in Apache HBase.

Version Progress
Apache HBase trunk, used in HDP 2.2
  • Improved HBase High Availability
  • Compressed Blockcache
  • HBase on YARN using Apache Slider
  • Support for rolling upgrades
  • Introduction of HBase High Availability
  • Stripe compaction
  • Experimental support for on-disk encryption and cell-level security
  • Wire protocol based on Protobuf ensures forward compatibility
  • Data type support

HBase Tutorials

HBase in our Blog

Webinars & Presentations


to create new topics or reply. | New User Registration

This forum contains 202 topics and 389 replies, and was last updated by  Gideon Caller 14 hours, 56 minutes ago.

Viewing 21 topics - 1 through 20 (of 203 total)
Viewing 21 topics - 1 through 20 (of 203 total)

You must be to create new topics. | Create Account

Hortonworks Data Platform
The Hortonworks Data Platform is a 100% open source distribution of Apache Hadoop that is truly enterprise grade having been built, tested and hardened with enterprise rigor.
Get started with Sandbox
Hortonworks Sandbox is a self-contained virtual machine with Apache Hadoop pre-configured alongside a set of hands-on, step-by-step Hadoop tutorials.
Modern Data Architecture
Tackle the challenges of big data. Hadoop integrates with existing EDW, RDBMS and MPP systems to deliver lower cost, higher capacity infrastructure.
Stay up to date!
Developer updates!