![]() | |
Original author(s) | Powerset |
---|---|
Developer(s) | Apache Software Foundation |
Initial release | 28 March 2008; 16 years ago (2008-03-28) |
Stable release | |
Preview release | |
Repository | GitHub Repository,Gitbox Repository |
Written in | Java |
Operating system | Cross-platform |
Type | Distributed database |
License | Apache License 2.0 |
Website | hbase |
HBase is anopen-sourcenon-relationaldistributed database modeled afterGoogle'sBigtable and written inJava. It is developed as part ofApache Software Foundation'sApache Hadoop project and runs on top ofHDFS (Hadoop Distributed File System) orAlluxio, providing Bigtable-like capabilities for Hadoop. That is, it provides afault-tolerant way of storing large quantities ofsparse data (small amounts of information caught within a large collection of empty or unimportant data, such as finding the 50 largest items in a group of 2 billion records, or finding the non-zero items representing less than 0.1% of a huge collection).
HBase features compression, in-memory operation, andBloom filters on a per-column basis as outlined in the original Bigtable paper.[2] Tables in HBase can serve as the input and output forMapReduce jobs run in Hadoop, and may be accessed through the Java API but also throughREST,Avro orThrift gateway APIs. HBase is awide-column store and has been widely adopted because of its lineage with Hadoop and HDFS. HBase runs on top of HDFS and is well-suited for fast read and write operations on large datasets with high throughput and low input/output latency.
HBase is not a direct replacement for a classicSQLdatabase, howeverApache Phoenix project provides a SQL layer for HBase as well asJDBC driver that can be integrated with variousanalytics andbusiness intelligence applications. TheApache Trafodion project provides a SQL query engine withODBC andJDBC drivers anddistributed ACID transaction protection across multiple statements, tables and rows that use HBase as a storage engine.
HBase is now serving several data-driven websites[3] butFacebook's Messaging Platform migrated from HBase toMyRocks in 2018.[4][5] Unlike relational and traditional databases, HBase does not support SQL scripting; instead the equivalent is written in Java, employing similarity with a MapReduce application.
In the parlance of Eric Brewer'sCAP Theorem, HBase is a CP type system.[6]
Apache HBase began as a project by the companyPowerset out of a need to process massive amounts of data for the purposes ofnatural-language search. Since 2010 it is a top-level Apache project.
Facebook elected to implement its new messaging platform using HBase in November 2010, but migrated away from HBase in 2018.[4]
The 2.4.x series is the current stable release line, it supersedes earlier release lines.
The following is a list of notable enterprises that have used or are using HBase:
{{cite web}}
:|first=
has generic name (help)