App profiles overview
An application profile, orapp profile, stores settings that tell yourBigtable instance how to handle incoming requests from an application.When your application connects to a Bigtable instance, it useseither the default app profile or an app profile specified by you.Bigtable uses that app profile for requests that the applicationsends over that connection.
An app profile is either a standard app profile or a Data Boost app profile,depending on the type of compute it uses. Astandard app profile usesprovisioned cluster nodes for compute and is typically used forapplication-serving traffic. AData Boost app profile uses serverlesscompute, which is designed for high-throughput read jobs and queries. For moreinformation about Data Boost, read theData Boostoverview.
This page describes app profiles and provides guidance on using them.
For code samples showing how to use an app profile in your application, seeConnect with a custom appprofile.
Use a separate app profile for each workload
When you create a Bigtable instance, adefault appprofile is created automatically, and its settings dependon the number of clusters the instance has. To take full advantage of thebenefits of app profiles, you should create and use additional app profiles anduse a different app profile for each application or workload.
App profiles are especially important for instances that have two or moreclusters, but even if your instance has only one cluster, you should use aunique app profile for each application that you run, or for differentcomponents within a single application.
The following sections describe the benefits of creating and using multiple appprofiles.
Workload isolation
Using separate app profiles lets you use different Bigtablecompute and routing policies for different purposes. For example, consider asituation when you want to prevent a batch read job (workload A) from increasingCPU usage on clusters that handle an application's steady reads and writes(workload B). You can take one of the following approaches:
Create a standard app profile for workload B that routes to a cluster groupthat excludes one cluster. Then you create a separate standard app profilefor workload A that specifies single-cluster routing to the cluster thatworkload B doesn't send requests to.
Use a standard app profile, which uses cluster nodes for compute, configuredto route to any cluster for workload B, and create a Data Boost appprofile for use against a single cluster with workload A. Data Boostuses serverless compute, while the application traffic uses cluster nodesfor compute.
You can change the settings for one application or function without affectingother applications that connect to the same data.
Observability
Using separate app profiles for different workloads gives you better insightinto your applications' usage of Bigtable, because metrics areavailable per app profile. This increase in observability can be helpful in thefollowing ways:
You're able to look at latency at the app profile level to help youdetermine which application might be impacting overall performance.
Monitoring theCPU utilization per appprofile for a workload using a standardapp profile can help you troubleshoot CPU utilization issues or make decisions about the size orlocation of the cluster, so you can optimize usage and reduce costs.
Metrics at the app profile level are useful if you need toseek support, because you're betterable to share the exact workload that is causing an issue.
You can use the Bigtable Google Cloud console to view separate graphsof your Bigtable metrics for each app profile. To learn whichmetrics that are available at the profile level, see the tableatSystem insights charts for Bigtableresources.
Standard app profiles
A standard app profile routes traffic to an instance's clusters using theclusters' nodes.
Routing
A standard app profile defines theroutingpolicy thatBigtable uses and controls whethersingle-rowtransactions are allowed. A standard appprofile also lets you specify theprioritylevel for requests sent using the appprofile.
Request priority
You can specify the priority that Bigtable should give to a standardapp profile's data requests. To review the priority levels that are available, seeConfigure request priorities.
Data Boost app profiles
A Data Boost app profile lets you use Data Boost's serverless compute toisolate high-throughput jobs and queries from app serving traffic. AData Boost app profile doesn't let you configure request priority, and theonly routing policy available is single-cluster. For more information, see theData Boostoverview.
App profile changes
If you need to change the routing policy or request priority for a workload, youcan update the app profile that is used for the workload. You can also convertan app profile from standard to Data Boost isolation or from Data Boostto standard isolation. Converting a standard app profile to use Data Boostremoves the request priority settings from the app profile as well as anyrouting policies that aren't single-cluster.
Changes to an app profile are effective immediately.
However, in many cases, instead of modifying an app profile that is in use, youshould create a new app profile with a different configuration, like you wouldfor a new use case, and then change your application code to use the new appprofile. Creating a new app profile to make changes for a workloadensures that you don't inadvertently change the app profile for any otherworkloads that use the app profile.
If you change an app profile from standard to Data Boost, the type ofcompute that is used for the app profile's traffic is changed to serverless, along withpricing. For more information, see theData Boostoverview andBigtablepricing.
Similarly, if you change an app profile from Data Boost to standard, trafficthat is sent by the app profile starts using cluster nodes for compute. Thismeans that all clusters that the app profile routes to must have enough nodes tosatisfy CPU usage requirements. For moreinformation, seeNodes.
To see how to view, create, and update app profiles, seeCreate andconfigure app profiles.
Default app profile
When you create an instance, Bigtable automatically creates adefault app profile for the instance. The default app profile is a standard appprofile, but you can convert it to a Data Boost profile. If your applicationdoes not specify an app profile, or if you use the HBase shell to connect toyour instance, Bigtable uses the settings in the default appprofile.
The settings in an instance's default app profile depend on the number ofclusters the instance had when you first created it:
- If you created the instance with 1 cluster, the
defaultapp profile usessingle-cluster routing, and itenablessingle-rowtransactions. This ensuresthat adding additional clusters later doesn't change the behavior of yourexisting applications. - If you created the instance with 2 or more clusters, the
defaultappprofile usesmulti-cluster routingto any cluster. Single-row transactions are never allowed with multi-clusterrouting.
The default app profile does not change when you add or remove clusters.You must manuallyupdate the default app profile tochange its settings. However, as a best practice you shouldcreate and use anew app profile instead of changing the default app profile.
Custom app profiles
Acustom app profile is an app profile that you create and configure. Aninstance can have up to 2,000 app profiles.Every app profile that is not the default is considered a custom app profile.
What's next
- Monitor a standard app profile's CPU usage.
- Find the right replication settings for your use case.
- Create and manage app profiles for your instance.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.