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:
- Both are NoSQL. That means both don't support joins, transactions, typed columns, etc.
- Both can handle significant amounts of data - petabyte-scale! This achieved because of support of linear horizontal scaling.
- Both make emphasis on high-availability - through replication, versioning.
- Both are schema-free: you can create table and add column families or columns later.
- Both have APIs for most popular languages - Java, Python, C#, C++. Complete lists of supporting languages differ a bit.
- 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:
- Apache HBase is an open source project, while Bigtable is not.
- 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.
- Apache HBase is free, while Bigtable is not.
- While some APIs are common, others are not - Bigtable supports gRPC (protobuf based) API, while Apache HBase have Thrift and REST APIs.
- Apache HBase supports server side scripting (e.q. triggers) and in general is more open to extensions due to its open source nature.
- Bigtable supports multi-cluster replication.
- Apache HBase has immediate consistency always, while Bigtable has eventual consistency in worst case scenarios.
- 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 .