Cloud Bigtable is a single-indexed, sparsely populated table that can scale to billions of rows and thousands of columns, allowing you to store terabytes or even petabytes of data. Cloud Bigtable is ideal for storing very large amounts of single-keyed data with very low latency. It supports high read and write throughput at low latency, and it is an ideal data source for MapReduce operations.
Cloud Bigtable is exposed to applications through a supported extension to the Apache HBase 1.0 Java library. As a result, it integrates with the existing Apache ecosystem of open-source Big Data software.
Cloud Bigtable's powerful back-end servers offer two key advantages over a self-managed HBase installation:
-
Incredible scalability. Cloud Bigtable scales in direct proportion to the number of machines in your cluster. A self-managed HBase installation has a design bottleneck that limits the performance after a certain QPS is reached. Cloud Bigtable does not have this bottleneck, and so you can scale your instance up to handle more queries by increasing your machine count.
-
Simple administration. Cloud Bigtable handles replication, upgrades, and restarts transparently. No more managing masters, regions, clusters, or nodes; all this is done automatically. All you need to do is design your table schemas, and Cloud Bigtable will handle the rest for you.
What it's good for
Cloud Bigtable is ideal for applications that need very high throughput and scalability for non-structured key/value data, where each value is typically no larger than 10 MB. Cloud Bigtable also excels as a storage engine for batch MapReduce operations, stream processing/analytics, and machine-learning applications.
You can use Cloud Bigtable to store and query all of the following types of data:
- Marketing data such as purchase histories and customer preferences.
- Financial data such as transaction histories, stock prices, and currency exchange rates.
- Internet of Things data such as usage reports from energy meters and home appliances.
- Time-series data such as CPU and memory usage over time for multiple servers.
Cloud Bigtable and other storage options
Cloud Bigtable is not a relational database; it does not support SQL queries or joins, nor does it support multi-row transactions. Also, it is not a good solution for small amounts of data (< 1 TB).
- If you need full SQL support for an online transaction processing (OLTP) system, consider Google Cloud SQL.
- If you need interactive querying in an online analytical processing (OLAP) system, consider Google BigQuery.
- If you need to store immutable blobs larger than 10 MB, such as large images or movies, consider Google Cloud Storage.
- If you need to store highly structured objects, or if you require support for ACID transactions and SQL-like queries, consider Cloud Datastore.
Version requirements
Cloud Bigtable works with Hadoop 2.4 and higher and is interface compatible with Apache HBase 1.0.
More information
- Apache HBase home
- Read the original OSDI paper on Bigtable
- The Cloud Bigtable HBase client is an open source project on GitHub, at GoogleCloudPlatform/cloud-bigtable-client.