Apache HBase
{{Short description|Open-source distributed database}}
{{Use dmy dates|date=December 2020}}
{{Infobox software
| name = Apache HBase
| logo = Apache_HBase_Logo.svg
| logo size = 300px
| screenshot =
| caption =
| author = Powerset
| developer = Apache Software Foundation
| released = {{Start date and age|df=yes|2008|03|28}}
| latest release version = {{Multiple releases
|branch1 = 2.4.x
|version1 = 2.4.14
|date1 = {{Start date and age|df=yes|2022|08|29}}{{cite web|url=https://hbase.apache.org/downloads.html|title=Apache HBase – Apache HBase Downloads|access-date=27 September 2022}}
|branch2 = 2.5.x
|version2 = 2.5.3
|date2 = {{Start date and age|df=yes|2023|02|05}}
}}
| latest preview version = 3.0.0-alpha-3
| latest preview date = {{Start date and age|df=yes|2022|06|27}}
| operating system = Cross-platform
| genre = Distributed database
| repo = {{URL|https://github.com/apache/hbase|GitHub Repository}}, {{URL|https://gitbox.apache.org/repos/asf?p{{=}}hbase.git|Gitbox Repository}}
| programming language = Java
| license = Apache License 2.0
| website = {{URL|//hbase.apache.org/}}
}}
HBase is an open-source non-relational distributed database modeled after Google's Bigtable and written in Java. It is developed as part of Apache Software Foundation's Apache Hadoop project and runs on top of HDFS (Hadoop Distributed File System) or Alluxio, providing Bigtable-like capabilities for Hadoop. That is, it provides a fault-tolerant way of storing large quantities of sparse 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, and Bloom filters on a per-column basis as outlined in the original Bigtable paper.[http://db.usenix.org//events/osdi06/tech/chang/chang_html/ Chang, et al. (2006). Bigtable: A Distributed Storage System for Structured Data] Tables in HBase can serve as the input and output for MapReduce jobs run in Hadoop, and may be accessed through the Java API but also through REST, Avro or Thrift gateway APIs. HBase is a wide-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 classic SQL database, however Apache Phoenix project provides a SQL layer for HBase as well as JDBC driver that can be integrated with various analytics and business intelligence applications. The Apache Trafodion project provides a SQL query engine with ODBC and JDBC drivers and distributed ACID transaction protection across multiple statements, tables and rows that use HBase as a storage engine.
HBase is now serving several data-driven websites{{cite web|url=http://hbase.apache.org/poweredbyhbase.html|title=Apache HBase – Powered By Apache HBase|website=hbase.apache.org|access-date=8 April 2018}} but Facebook's Messaging Platform migrated from HBase to MyRocks in 2018.{{cite web|url=https://code.fb.com/data-infrastructure/migrating-messenger-storage-to-optimize-performance/|title=Migrating Messenger storage to optimize performance|website=www.facebook.com|date=26 June 2018 |access-date=5 July 2018}}[https://www.theregister.co.uk/2010/12/17/facebook_messages_tech/ Facebook: Why our 'next-gen' comms ditched MySQL] Retrieved: 17 December 2010 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's CAP Theorem, HBase is a CP type system.{{cite web|url=https://www.cs.umd.edu/~abadi/papers/abadi-pacelc.pdf|title=Consistency Tradeoffs in Modern Distributed Database System Design|date=February 2012|access-date=23 October 2024}}
History
Apache HBase began as a project by the company Powerset out of a need to process massive amounts of data for the purposes of natural-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.
The 2.4.x series is the current stable release line, it supersedes earlier release lines.
Use cases & production deployments
= Enterprises that use HBase =
The following is a list of notable enterprises that have used or are using HBase:
{{div col|colwidth=25em}}
- 23andMe
- Adobe
- Airbnb uses HBase as part of its AirStream realtime stream computation framework{{cite web|url=http://www.slideshare.net/HBaseCon/apache-hbase-at-airbnb|title=Apache HBase at Airbnb|last=HBaseCon|date=2 August 2016|website=slideshare.net|access-date=8 April 2018}}
- Alibaba Group
- Amadeus IT Group, as its main long-term storage DB.
- Bloomberg, for time series data storage
- Facebook used HBase for its messaging platform between 2010 and 2018
- Flipkart uses HBase for its search index{{cite web|url= https://link.medium.com/eVl4l3XRTvb|title=Near Real Time Search Indexing|date=4 January 2018 }} and user insights.{{cite web|url= https://link.medium.com/72m6gLvSTvb|title=Is data locality always out of the box in Hadoop?|date=10 March 2018 }}
- Flurry
- HubSpot
- Imgur uses HBase to power its notifications system{{cite web|url=https://dzone.com/articles/why-imgur-dropped-mysql-in-favor-of-hbase|title=Why Imgur Dropped MySQL in Favor of HBase - DZone Database|website=dzone.com|access-date=8 April 2018}}{{cite web|url=http://blog.imgur.com/2015/09/15/tech-tuesday-imgur-notifications-from-mysql-to-hbase/|title=Tech Tuesday: Imgur Notifications: From MySQL to HBase - The Imgur Blog|website=blog.imgur.com|access-date=8 April 2018}}
- Kakao{{cite web|url=http://apachebigdata2015.sched.org/event/de6abfbd8f0b9e66b1c03feb2b9e2078?iframe=yes&w=i:100;&sidebar=yes&bg=no |title=S2Graph : A Large-Scale Graph Database with HBase |author=Doyung Yoon}}
- Netflix{{cite web|url=http://apachebigdata2015.sched.org/event/2a65daf0baa4cfbc227a8cb74a9103a2?iframe=no&w=i:100;&sidebar=yes&bg=no |title=Netflix: Integrating Spark at Petabyte Scale |author=Cheolsoo Park and Ashwin Shankar}}
- Pinterest{{Cite web|url=https://medium.com/pinterest-engineering/improving-hbase-backup-efficiency-at-pinterest-86159da4b954|title=Improving HBase backup efficiency at Pinterest|last=Engineering|first=Pinterest|date=2018-03-30|website=Medium|language=en|access-date=2020-04-14}}
- Quicken Loans
- Rocket Fuel
- Salesforce.com{{cite web|url=https://www.slideshare.net/salesforceeng/hbase-at-salesforcecom|title=Hbase at Salesforce.com}}
- Sears
- Sophos, for some of their back-end systems.
- Spotify uses HBase as base for Hadoop and machine learning jobs.{{cite web|url=http://apachebigdata2015.sched.org/event/2a65daf0baa4cfbc227a8cb74a9103a2?iframe=no&w=i:100;&sidebar=yes&bg=no |title=How Apache Drives Spotify's Music Recommendations |author=Josh Baer}}
- Tuenti uses HBase for its messaging platform.{{cite web |url=http://corporate.tuenti.com/en/dev/blog/tuenti-group-chat-simple-yet-complex |title=Tuenti Group Chat: Simple, yet complex |access-date=29 September 2015 |archive-date=24 November 2012 |archive-url=https://web.archive.org/web/20121124132459/http://corporate.tuenti.com/en/dev/blog/tuenti-group-chat-simple-yet-complex |url-status=dead }}{{cite web|url=https://github.com/tuenti/asyncthrift |title=Tuenti Asyncthrift|website=GitHub |date=6 November 2013 }}
- Xiaomi
- Yahoo!
{{div col end}}
See also
{{Portal|Free and open-source software|Computer programming}}
References
{{Reflist}}
Bibliography
{{Refbegin}}
- {{cite book
| first1 = Nick
| last1 = Dimiduk
| first2 = Amandeep
| last2 = Khurana
| date = 28 November 2012
| title = HBase in Action
| publisher = Manning Publications
| edition = 1st
| page = 350
| isbn = 978-1617290527
| url =
}}
- {{cite book
| first1 = Lars
| last1 = George
| date = 20 September 2011
| title = HBase: The Definitive Guide
| publisher = O'Reilly Media
| edition = 1st
| page = 556
| isbn = 978-1449396107
| url = http://shop.oreilly.com/product/0636920014348.do
}}
- {{cite book
| first = Yifeng
| last = Jiang
| date = 16 August 2012
| title = HBase Administration Cookbook
| publisher = Packt Publishing
| edition = 1st
| page = 332
| isbn = 978-1849517140
| url = http://www.packtpub.com/hbase-administration-for-optimum-database-performance-cookbook/book
}}
{{Refend}}
External links
- [//hbase.apache.org/ Official Apache HBase homepage]
{{Apache Software Foundation}}
{{Authority control}}
Category:Distributed data stores
Category:Bigtable implementations