# Cloud Bigtable

In 
GCP
Published 2022-12-03

This tutorial explains what is a Cloud Bigtable in GCP.

Cloud Bigtable is a sparsely populated table that can scale to billions of rows and thousands of columns, enabling you to store terabytes or even petabytes of data. A single value in each row is indexed; this value is known as the row key. Bigtable is ideal for storing large amounts of single-keyed data with low latency.

Things to retain:

  • A Bigtable is managed by an instance. A Bigtable instance is a container for data.

  • The Instances have one or more clusters (we cannot have 2 clusters in the same zone).

  • Each cluster has at least 1 node.

  • A Table belongs to an instance and not to the cluster or node.

  • Storage Type dictates where the data is stored i.e. SSD or HDD. Choice of SSD or HDD storage for the instance is permanent.

  • Clusters handle the requests sent to a single Bigtable instance.

  • Each cluster belongs to a single Bigtable instance, and an instance can have up to 4 clusters.

  • Bigtable instances with only 1 cluster do not use replication.

  • If multiple clusters within an instance, Bigtable automatically starts replicating the data by keeping separate copies of the data in each of the clusters’ zones and synchronizing updates between the copies.

  • Each cluster in an instance has 1 or more nodes, which are the compute resources that Bigtable uses to manage the data.

  • Each node in the cluster handles a subset of the requests to the cluster.

  • Bigtable separates the Compute from the Storage. Data is never stored in nodes themselves.

  • Behind the scenes, Bigtable splits all the data in a table into separate tablets. Tablets are stored on disk, separate from the nodes but in the same zone as the nodes. A tablet is associated with a single node.

  • A Bigtable cluster can be scaled by adding nodes which would increase

    • the number of simultaneous requests that the cluster can handle
    • the maximum throughput of the cluster.