Modify an instance
After you create a Bigtable instance, you can update the following settings without any downtime:
-
You can upgrade to Enterprise Plus or downgrade to Enterprise.
-
You can enable or disable the in-memory tier for a cluster in an instance.
-
You can enable or disable autoscaling for an instance's clusters or configure the settings for clusters that already have autoscaling enabled.
The number of nodes in manually scaled clusters
After you add or remove nodes, it typically takes a few minutes under load for Bigtable to optimize the cluster's performance.
The number of clusters in the instance
After you add a cluster, it takes time for Bigtable to replicate your data to the new cluster. New clusters are replicated from the geographically nearest cluster in the instance. In general, the greater the distance, the longer replication will take.
The application profiles for the instance, which contain replication settings
The labels for the instance, which provide metadata about the instance
The display name for the instance
You can change a cluster ID only by deleting and recreating the cluster.
To change any of the following, you must create a new instance with your preferred settings, export your data from the old instance, import your data into the new instance, and then delete the old instance.
Instance ID
Storage type (SSD or HDD)
Customer-managed encryption key (CMEK) configuration
Before you begin
If you want to use the command-line interfaces for Bigtable,
install the Google Cloud CLI and the
cbt CLI
if you haven't already.
Change editions
You can change between editions by upgrading to Enterprise Plus or downgrading to Enterprise.
Upgrade to Enterprise Plus
Once you change the edition, Bigtable automatically updates billing and you have immediate access to Enterprise Plus features.
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the Enterprise instance that you want to upgrade, and then click Edit instance.
In the Edition section, select Enterprise Plus.
Click Save.
Optional: enable the in-memory tier.
gcloud
Use the bigtable instances update
command to change the edition:
gcloud bigtable instances update INSTANCE_ID \
--edition=ENTERPRISE_PLUS
Provide the following:
INSTANCE_ID: The permanent identifier for the instance.
Downgrade to Enterprise
To downgrade from Enterprise Plus to Enterprise, you must disable features that are exclusive to Enterprise Plus. Once you change the edition, Bigtable automatically updates billing and you lose access to Enterprise Plus features.
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the Enterprise instance that you want to downgrade, and then click Edit instance.
In the Edition section, select Enterprise.
Click Save.
gcloud
Use the bigtable instances update
command to change the edition:
gcloud bigtable instances update INSTANCE_ID \
--edition=ENTERPRISE
Provide the following:
INSTANCE_ID: The permanent identifier for the instance.
Configure the in-memory tier
You can enable, disable, or view information about the in-memory tier.
Required roles
To get the permissions that you need to configure the in-memory tier, ask your
administrator to grant you the Bigtable Admin (roles/bigtable.admin)
Identity and Access Management (IAM) role on the instance.
This predefined role contains the permissions that Bigtable requires to work with the in-memory tier. To see the exact permissions that are required, expand the Required permissions section:
Required permissions
bigtable.memoryLayer.getbigtable.memoryLayer.listbigtable.memoryLayer.update
You might also be able to get these permissions with custom roles or other predefined roles.
For more information about Bigtable roles and permissions, see Access control with IAM.
Enable the in-memory tier
In the Enterprise Plus edition, you can enable the in-memory tier on a cluster. To use the in-memory tier, you must use an app profile that you configured for in-memory. For more information, see In-memory tier overview.
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the Enterprise instance that you want to update, and then click Edit instance.
Click Edit cluster for the cluster where you want to enable the in-memory tier.
Select Enable in-memory.
Click Save.
gcloud
To enable the in-memory tier on a cluster, use the
gcloud beta bigtable memory-layers update
command.
gcloud beta bigtable memory-layers update CLUSTER_ID \
--instance=INSTANCE_ID \
--enable
Provide the following:
CLUSTER_ID: The permanent identifier for the cluster.INSTANCE_ID: The permanent identifier for the instance.
Disable the in-memory tier
Before you downgrade from Enterprise Plus to Enterprise, you must disable the in-memory tier.
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the Enterprise instance that you want to update, and then click Edit instance.
Click Edit cluster for the cluster where you want to disable the in-memory tier.
Clear Enable in-memory.
Click Save.
gcloud
To disable the in-memory tier on a cluster, use the
gcloud beta bigtable memory-layers update
command.
gcloud beta bigtable memory-layers update CLUSTER_ID \
--instance=INSTANCE_ID \
--disable
Provide the following:
CLUSTER_ID: The permanent identifier for the cluster.INSTANCE_ID: The permanent identifier for the instance.
Get a list of clusters with the in-memory tier
Console
To view clusters with in-memory tier enabled on the instance overview page, follow these steps:
In the Google Cloud console, open the list of Bigtable instances.
Click the ID of the instance that has the cluster that you want to view.
In the cluster table, view the In-memory tier column.
gcloud
To list the clusters with in-memory tier enabled on an instance, use the
gcloud beta bigtable memory-layers list
command.
gcloud beta bigtable memory-layers list \
--instance=INSTANCE_ID
Provide the following:
INSTANCE_ID: The permanent identifier for the instance.
View information about the in-memory tier
You can view the status and capacity of a cluster's in-memory tier.
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the ID of the instance that has the cluster that you want to view.
In the cluster table, view the In-memory column of your cluster.
gcloud
To view information about the in-memory tier on a cluster, such as the
in-memory tier state, use the gcloud beta bigtable memory-layers describe
command.
gcloud beta bigtable memory-layers describe CLUSTER_ID \
--instance=INSTANCE_ID
Provide the following:
CLUSTER_ID: The permanent identifier for the cluster.INSTANCE_ID: The permanent identifier for the instance.
Configure autoscaling
You can enable or disable autoscaling for any existing cluster. You can also
change the CPU utilization target, minimum number of nodes, and maximum number
of nodes for a cluster. For guidance on choosing your autoscaling settings, see
Autoscaling. You are not able to use the
cbt CLI
to
configure autoscaling.
Enable autoscaling
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the instance that you want to change, then click Edit instance.
Under Configure clusters, click Edit for the cluster that you want to update.
Select Autoscaling.
Enter values for the following:
- Minimum number of nodes
- Maximum number of nodes
- CPU utilization target
- Storage utilization target
Click Save.
gcloud
If you don't know the instance ID, use the
bigtable instances listcommand to view a list of your project's instances:gcloud bigtable instances listIf you don't know the instance's cluster IDs, use the
bigtable clusters listcommand to view a list of clusters in the instance:gcloud bigtable clusters list --instances=INSTANCE_IDReplace
INSTANCE_IDwith the permanent identifier for the instance.Use the
bigtable clusters updatecommand to enable autoscaling:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --autoscaling-max-nodes=AUTOSCALING_MAX_NODES \ --autoscaling-min-nodes=AUTOSCALING_MIN_NODES \ --autoscaling-cpu-target=AUTOSCALING_CPU_TARGET \ --autoscaling-storage-target=AUTOSCALING_STORAGE_TARGETProvide the following:
CLUSTER_ID: The permanent identifier for the cluster.INSTANCE_ID: The permanent identifier for the instance.AUTOSCALING_MAX_NODES: The minimum number of nodesAUTOSCALING_MIN_NODES: The maximum number of nodesAUTOSCALING_CPU_TARGET: The CPU utilization target percentage that Bigtable maintains by adding or removing nodes. This value must be from 10 to 80.AUTOSCALING_STORAGE_TARGET: The storage utilization target in GiB per node that Bigtable maintains by adding or removing nodesIn many cases, each cluster in an instance should have the same number of nodes, but there are exceptions. Learn about nodes and replication.
Disable autoscaling
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the instance that you want to change, then click Edit instance.
Under Configure clusters, click for the cluster that you want to update.
Select Manual node allocation.
Enter the number of nodes for the cluster in the Quantity field.
In many cases, each cluster in an instance should have the same number of nodes, but there are exceptions. Learn about nodes and replication.
Click Save.
gcloud
If you don't know the instance ID, use the
bigtable instances listcommand to view a list of your project's instances:gcloud bigtable instances listIf you don't know the instance's cluster IDs, use the
bigtable clusters listcommand to view a list of clusters in the instance:gcloud bigtable clusters list --instances=INSTANCE_IDReplace
INSTANCE_IDwith the permanent identifier for the instance.Use the
bigtable clusters updatecommand to disable autoscaling and configure a constant number of nodes:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --num-nodes=NUM_NODES --disable-autoscalingProvide the following:
CLUSTER_ID: The permanent identifier for the cluster.INSTANCE_ID: The permanent identifier for the instance.NUM_NODES: This field is optional. If no value is set, Bigtable automatically allocates nodes based on your data footprint and optimizes for 50% storage utilization. If you want to control the number of nodes in a cluster, update theNUM_NODESvalue. Ensure that number of nodes is set to a non-zero value.In many cases, each cluster in an instance should have the same number of nodes, but there are exceptions. Learn about nodes and replication.
Change autoscaling settings
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the instance that you want to change, then click Edit instance.
Under Configure clusters, click for the cluster that you want to update.
Enter new values for any of the floowing that you want to change:
- Minimum number of nodes
- Maximum number of nodes
- CPU utilization target
- Storage utilization target
Click Save.
gcloud
If you don't know the instance ID, use the
bigtable instances listcommand to view a list of your project's instances:gcloud bigtable instances listIf you don't know the instance's cluster IDs, use the
bigtable clusters listcommand to view a list of clusters in the instance:gcloud bigtable clusters list --instances=INSTANCE_IDReplace
INSTANCE_IDwith the permanent identifier for the instance.Use the
bigtable clusters updatecommand to update the settings for autoscaling:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --autoscaling-max-nodes=AUTOSCALING_MAX_NODES \ --autoscaling-min-nodes=AUTOSCALING_MIN_NODES \ --autoscaling-cpu-target=AUTOSCALING_CPU_TARGET \ --autoscaling-storage-target=AUTOSCALING_STORAGE_TARGETProvide the following:
CLUSTER_ID: The permanent identifier for the cluster.INSTANCE_ID: The permanent identifier for the instance.
The command accepts optional autoscaling flags. You can use all of the flags or just the flags for the values that you want to change.
AUTOSCALING_MAX_NODES: The minimum number of nodes.AUTOSCALING_MIN_NODES: The maximum number of nodes.AUTOSCALING_CPU_TARGET: The CPU utilization target percentage that Bigtable maintains by adding or removing nodes. This value must be from 10 to 80.AUTOSCALING_STORAGE_TARGET: The storage utilization target in GiB per node that Bigtable maintains by adding or removing nodes.In many cases, each cluster in an instance should have the same number of nodes, but there are exceptions. Learn about nodes and replication.
Add or remove nodes manually
In most cases, we recommend that you enable autoscaling. If you choose not to, and your cluster's node scaling mode is manual, you can add or remove nodes, and the number of nodes remains constant until you change it again. To review the default node quotas per zone per Google Cloud project, see Node quotas. If you need to provision more nodes than the default, you can request more.
To change the number of nodes in a cluster that uses manual scaling:
Console
In the Google Cloud console, open the list of Bigtable instances.
Click the instance that you want to change, then click Edit instance.
Under Configure clusters, click Edit for the cluster that you want to update.
In the Manual node allocation section, enter the number of nodes for the cluster in the Quantity field.
In many cases, each cluster in an instance should have the same number of nodes, but there are exceptions. Learn about nodes and replication.
Click Save.
gcloud
If you don't know the instance ID, use the
bigtable instances listcommand to view a list of your project's instances:gcloud bigtable instances listIf you don't know the instance's cluster IDs, use the
bigtable clusters listcommand to view a list of clusters in the instance:gcloud bigtable clusters list --instances=INSTANCE_IDReplace
INSTANCE_IDwith the permanent identifier for the instance.Use the
bigtable clusters updatecommand to change the number of nodes:gcloud bigtable clusters update CLUSTER_ID \ --instance=INSTANCE_ID \ --num-nodes=NUM_NODESProvide the following:
CLUSTER_ID: The permanent identifier for the cluster.INSTANCE_ID: The permanent identifier for the instance.NUM_NODES: This field is optional. If no value is set, Bigtable automatically allocates nodes based on your data footprint and optimizes for 50% storage utilization. If you want to control the number of nodes in a cluster, update theNUM_NODESvalue. Ensure that number of nodes is set to a non-zero value.In many cases, each cluster in an instance should have the same number of nodes, but there are exceptions. Learn about nodes and replication.
cbt
If you don't know the instance ID, use the
listinstancescommand to view a list of your project's instances:cbt listinstancesIf you don't know the instance's cluster IDs, use the
listclusterscommand to view a list of clusters in the instance:cbt -instance=INSTANCE_ID listclustersReplace