Instance Types
Application Profiles

Field Promotion

Designing Row Keys
Designing Row Keys - cont.
Because the best way to query Bigtable efficiently is by row key, it’s often useful to include multiple identifiers in your row key.
Row key segments are usually separated by a delimiter, such as a colon, slash, or hash symbol. The first segment or set of contiguous segments is the row key prefix, and the last segment or set of contiguous segments is the row key suffix.
If your data includes integers that you want to store or sort numerically, pad the integers with leading zeroes. Bigtable stores data lexicographically.
It’s important to create a row key that makes it possible to retrieve a well-defined range of rows. Otherwise, your query requires a table scan, which is much slower than retrieving specific rows.
For example, if your application tracks mobile device data, you can have a row key that consists of device type, device ID, and the day the data is recorded. Row keys for this data might look like this:
This row key design lets you retrieve data with a single request for:
This row key design would not be optimal if you want to retrieve all data for a given day. Because the day is stored in the third segment, or the row key suffix, you cannot just request a range of rows based on the suffix or a middle segment of the row key. Instead, you have to send a read request with a filter that scans the entire table looking for the day value.
REF: https://cloud.google.com/bigtable/docs/schema-design#row-keys
Avoid Hotspots
https://cloud.google.com/bigtable/docs/keyvis-overview

Replication

Causes of slower performance
Monitoring
CPU utilization should not exceed the following:
REF: https://cloud.google.com/bigtable/docs/monitoring-instance