Apache HBase

Prerequisite – Introduction to Hadoop
HBase is a data model that is similar to Google’s big table. It is an open source, distributed database developed by Apache software foundation written in Java. HBase is an essential part of our Hadoop ecosystem. HBase runs on top of HDFS (Hadoop Distributed File System). It can store massive amounts of data from terabytes to petabytes. It is column oriented and horizontally scalable.


Figure – History of HBase

Features of HBase –



  1. It is linearly scalable across various nodes as well as modularly scalable, as it divided across various nodes.
  2. HBase provides consistent read and writes.
  3. It provides atomic read and write means during one read or write process, all other processes are prevented from performing any read or write operations.
  4. It provides easy to use Java API for client access.
  5. It supports Thrift and REST API for non-Java front ends which supports XML, Protobuf and binary data encoding options.
  6. It supports a Block Cache and Bloom Filters for real-time queries and for high volume query optimization.
  7. HBase provides automatic failure support between Region Servers.
  8. It support for exporting metrics with the Hadoop metrics subsystem to files.
  9. It doesn’t enforce relationship within your data.
  10. It is a platform for storing and retrieving data with random access.

Facebook Messenger Platform was using Apache Casandra but it shifted from Apache Cassandra to HBase in November 2010. Facebook was trying to build a scalable and robust infrastructure to handle set of services like messages, email, chat and SMS into a real time conversation so that’s why HBase is best suited for that.

RDBMS Vs HBase –

  1. RDBMS is mostly Row Oriented whereas HBase is Column Oriented.
  2. RDBMS has fixed schema but in HBase we can scale or add columns in run time also.
  3. RDBMS is good for structured data whereas HBase is good for semi-structured data.
  4. RDBMS is optimized for joins but HBase is not optimized for joins.


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.