What it the difference between Hbase and BigTable?

salar picture salar · Jul 21, 2014 · Viewed 8k times · Source

Can anyone tell me what is the difference between Apache HBase database and Bigtable? Or are they same? Which one supports relations, if any? If they are Big Searcher what is the difference?

Answer

arghtype picture arghtype · Jul 21, 2014

They are similar, but not the same!

Bigtable was initially released in 2005, but wasn't available to general public until 2015. Apache HBase was created based on Google's publication Bigtable: A Distributed Storage System for Structured Data with initial release in 2008.

Some similarities:

  1. Both are NoSQL. That means both don't support joins, transactions, typed columns, etc.
  2. Both can handle significant amounts of data - petabyte-scale! This achieved because of support of linear horizontal scaling.
  3. Both make emphasis on high-availability - through replication, versioning.
  4. Both are schema-free: you can create table and add column families or columns later.
  5. Both have APIs for most popular languages - Java, Python, C#, C++. Complete lists of supporting languages differ a bit.
  6. Both support Apache HBase Java's API: after Apache HBase's success Google added support for HBase-like API for Bigtable but with some limitations - see API differences.

Some differences:

  1. Apache HBase is an open source project, while Bigtable is not.
  2. Apache HBase can be installed on any environment, it uses Apache Hadoop's HDFS as underlying storage. Bigtable is available only as a cloud service from Google.
  3. Apache HBase is free, while Bigtable is not.
  4. While some APIs are common, others are not - Bigtable supports gRPC (protobuf based) API, while Apache HBase have Thrift and REST APIs.
  5. Apache HBase supports server side scripting (e.q. triggers) and in general is more open to extensions due to its open source nature.
  6. Bigtable supports multi-cluster replication.
  7. Apache HBase has immediate consistency always, while Bigtable has eventual consistency in worst case scenarios.
  8. Different security models - Apache HBase uses Access Control Lists, while Bigtable relies on Google's Cloud Identity and Access Management.

See more at their websites - Bigtable and Apache HBase .