cta

Get Started

cloud

Ready to Get Started?

Download sandbox

How can we help you?

closeClose button
Apache Projects
Apache HBase

Apache HBase

MENU

OVERVIEW

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
Fast
  • Near real time lookups
  • In-memory caching via block cache and bloom filters
  • Server side processing via filters and co-processors
Usable
  • 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
Updates in in HDP 2.5
  • Incremental Backup and Restore. (Tech Preview)
  • Compressed Blockcache
  • HBase and Phoenix more reliable at scale for mission-critical systems.
  • ODBC connector, compatible with BI tools.
  • Experimental connectivity from .NET, Python and GoLang
  • New SQL functionality
  • Multi-Tenancy – SQL namespaces and RegionServer groups
Apache HBase trunk, used in HDP 2.2
  • Improved HBase High Availability
  • Compressed Blockcache
  • HBase on YARN using Apache Slider
  • Support for rolling upgrades
0.98.0
  • Introduction of HBase High Availability
  • Stripe compaction
  • Experimental support for on-disk encryption and cell-level security
0.96.0
  • Wire protocol based on Protobuf ensures forward compatibility
  • Data type support

Forums

HBase Tutorials

HBase in our Blog

Webinars & Presentations