Cloud Bigtable Workload Isolation with App Profiles
Short answer
C Add a second cluster and use single-cluster routing app profiles to isolate the batch analytics workload from the real-time application traffic.
Question
need to perform hourly an analytical job to calculate certain statistics across the whole database. You need to ensure both the reliability of your production
application as well as the analytical workload.
What should you do?
Key Takeaways
Single-cluster routing allows deterministic assignment of workloads to specific clusters, whereas multi-cluster routing distributes traffic automatically, making it unsuitable for strict workload isolation.
Learn how to isolate heavy analytical jobs from real-time Bigtable traffic using single-cluster routing app profiles and a secondary cluster.
Common mistake: Candidates often choose Option B (Multi-cluster routing) assuming it provides better performance or separation. However, multi-cluster routing is for high availability and geo-distribution, not for separating distinct workload types like batch vs. transactional.
Expert Analysis
The core challenge is workload isolation within Cloud Bigtable. The scenario involves a real-time application with mixed read/write traffic and a heavy, hourly analytical job that scans the entire database. Running these concurrently on the same cluster causes resource contention, degrading the latency of the real-time app.
To solve this, we must isolate the analytical load from the production traffic. Google Cloud Bigtable supports App Profiles, which allow different applications to use different routing policies for the same instance. By adding a second cluster to the existing instance, we enable data replication between clusters without needing multi-cluster routing features (which are for cross-region high availability).
Option C is correct because it uses single-cluster routing. Single-cluster routing directs all requests defined by an App Profile to one specific cluster. This allows us to create two profiles: one for the 'live-traffic' app routing exclusively to Cluster 1, and another for the 'batch-analytics' job routing exclusively to Cluster 2. This ensures the heavy analytical reads do not compete for CPU or I/O resources with the real-time application.
Option B is incorrect because multi-cluster routing automatically distributes requests across all available clusters in the instance based on proximity. It does not allow deterministic assignment of specific workloads to specific clusters; therefore, the analytical job would still contend with the live traffic on the same nodes. As noted in community comments, multi-cluster routing is designed for failover and global distribution, not workload segregation.
Option A involves exporting data, which introduces significant latency and complexity, failing the requirement for an integrated solution within the Bigtable instance. Option D scales the single cluster, but does not isolate the workloads, meaning the analytics job will still impact the real-time app's performance.
Exam Strategy
When asked about isolating different types of traffic (e.g., batch vs. online) within a single Bigtable instance, look for solutions involving App Profiles. Remember that 'Single-Cluster Routing' gives you control over which cluster handles which profile, while 'Multi-Cluster Routing' is for automatic failover and global access, not segregation.
Frequently Asked Questions
Why can't we use Multi-Cluster Routing for workload isolation?
Does adding a second cluster replicate data automatically?
Community Votes
62% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 28 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 28
-
aewis 👍 5 Answered CIt was actually illustrated here https://cloud.google.com/bigtable/docs/replication-settings#batch-vs-serve
-
MisuLava 👍 4 Answered Chow can you use multi-cluster routing when you want to go to old instance with the regular load and to the new one with the analytical node ? MULTI will go to the nearest one... Multi-cluster routing automatically routes requests to the nearest cluster in an instance. If the cluster becomes unavailable, traffic automatically fails over to the nearest cluster that is available. Bigtable considers clusters in a single region to be equidistant, even though they are in different zones. You can configure an app profile to route to any cluster in an instance, or you can specify a cluster group that tells the app profile to route to only some of the clusters in the instance.
-
dish11dish 👍 3 Answered BOption B is correct An app profile specifies the routing policy that Bigtable should use for each request. Single-cluster routing routes all requests to 1 cluster in your instance. If that cluster becomes unavailable, you must manually fail over to another cluster. Multi-cluster routing automatically routes requests to the nearest cluster in an instance. If the cluster becomes unavailable, traffic automatically fails over to the nearest cluster that is available. Bigtable considers clusters in a single region to be equidistant, even though they are in different zones. You can configure an app profile to route to any cluster in an instance, or you can specify a cluster group that tells the app profile to route to only some of the clusters in the instance. Cluster group routing sends requests to the nearest available cluster within a cluster group that you specify in the app profile settings. Reference:-https://cloud.google.com/bigtable/docs/app-profiles#routing
-
carbino 👍 3 Answered CIIt is C: "Workload isolation: Using separate app profiles lets you use different routing policies for different purposes. For example, consider a situation when you want to prevent a batch read job (workload A) from increasing CPU usage on clusters that handle an application's steady reads and writes (workload B). You can create an app profile for workload B that routes to a cluster group that excludes one cluster. Then you create an app profile for workload A that specifies single-cluster routing to the cluster that workload B doesn't send requests to. You can change the settings for one application or function without affecting other applications that connect to the same data." https://cloud.google.com/bigtable/docs/app-profiles
-
juliobs 👍 3 Answered CC. This is exactly the example in the documentation. https://cloud.google.com/bigtable/docs/replication-settings#batch-vs-serve
Show 23 more comments
-
hauhau 👍 3 Answered BIt is B . Add one cluster means you have multi clusters so you use Multi-cluster routing
-
DevShah 👍 3 Answered Chttps://cloud.google.com/bigtable/docs/replication-settings#batch-vs-serve
-
MisuLava 👍 3 Answered BI meant to vote B not C
-
slade_wilson 👍 2 Answered CWhen you use a single cluster to run a batch analytics job that performs numerous large reads alongside an application that performs a mix of reads and writes, the large batch job can slow things down for the application's users. With replication, you can use app profiles with single-cluster routing to route batch analytics jobs and application traffic to different clusters, so that batch jobs don't affect your applications' users. Single cluster routing - You can use single-cluster routing for this use case if you don't want your Bigtable cluster to automatically fail over if a zone or region becomes unavailable. Multi-cluster routing - If you want Bigtable to automatically fail over to one region if your application cannot reach the other region, use multi-cluster routing.
-
Siant_137 👍 2Answer is C "When you use a single cluster to run a batch analytics job that performs numerous large reads alongside an application that performs a mix of reads and writes, the large batch job can slow things down for the application's users. With replication, you can use app profiles with single-cluster routing to route batch analytics jobs and application traffic to different clusters, so that batch jobs don't affect your applications' users." https://cloud.google.com/bigtable/docs/replication-overview#batch-vs-serve
-
piotrpiskorski 👍 2 Answered Chttps://cloud.google.com/bigtable/docs/replication-settings#batch-vs-serve "When you use a single cluster to run a batch analytics job that performs numerous large reads alongside an application that performs a mix of reads and writes, the large batch job can slow things down for the application's users. With replication, you can use app profiles with single-cluster routing to route batch analytics jobs and application traffic to different clusters, so that batch jobs don't affect your applications' users." It is C.
-
opt_sub 👍 2 Answered BB is correct. Two different job profiles to redirect trafiic to two different cluster. C is incorrect because there is no tpoint in creating app profile for two different workloads in the same cluster. One cluster handles writes and another handle reads.
-
AWSandeep 👍 2 Answered CC. Add a second cluster to an existing instance with a single-cluster routing, use live-traffic app profile for your regular workload and batch-analytics profile for the analytics workload.
-
cloudmon 👍 2 Answered BIt's B https://cloud.google.com/bigtable/docs/replication-overview#app-profiles https://cloud.google.com/bigtable/docs/replication-overview#routing-policies
-
carbonscave 👍 1 Answered CC is correct: This is the standard Google Cloud architectural pattern for workload isolation in Cloud Bigtable. By adding a second cluster to your instance (which automatically enables replication between the two), you can create specific App Profiles that use single-cluster routing. You configure your real-time application's App Profile to route traffic exclusively to Cluster 1, and your analytical job's App Profile to route exclusively to Cluster 2. This ensures the massive, resource-heavy table scans of the analytics job do not steal CPU or disk I/O from your latency-sensitive production application.
-
baimus 👍 1 Answered CTo answer some confusion - "single cluster routing" is routing to one cluster per profile, rather than having failover options per profile. So we have two clusters, but it's not multicluster, because we have two profiles, so it's one cluster per profile, so "single cluster routing". We COULD use multicluster, but none of the answers give the steps required to do so, so the assumption as to be that we're using single.
-
A4M 👍 1I see what you say on C but the question states high availability how do you handle that with option C when you have a single region cluster hence answer needs to be with multi-region cluster - To configure your instance for a high availability (HA) use case, create a new app profile that uses multi-cluster routing, or update the default app profile to use multi-cluster routing.
-
oussama7 👍 1 Answered BOption C offers single-cluster routing, meaning that each query is directed to a single specific cluster. This does not protect the transactional workload from heavy analytical loads, which can lead to performance degradation. With multi-cluster routing (option B), Bigtable can automatically distribute the load and avoid congestion on a single cluster.
-
gudiking 👍 1 Answered CC - "With replication, you can use app profiles with single-cluster routing to route batch analytics jobs and application traffic to different clusters, so that batch jobs don't affect your applications' users." - https://cloud.google.com/bigtable/docs/replication-overview#batch-vs-serve
-
zevexWM 👍 1It actually addresses the issue of High availability in that same link if you scroll down a bit more. https://cloud.google.com/bigtable/docs/replication-settings#high-availability
-
musumusu 👍 1Answer B: reason 1: If you don' t have any cost constraint use multi-cluster routing, reason 2: Single cluster is less scalable as we need high scalability i would go with B
-
DevShah 👍 1Correct 2 jobs >> 2 cluster 3 jobs >> 3 cluster app profiles with single-cluster routing used to route to specific cluster Job1 >> Cluster 1 Job2 >> Cluster 2 .....
-
47767f9 👍 1 Answered BB better than C. Multi-cluster routing to handle failovers automatically. Reference: https://cloud.google.com/bigtable/docs/replication-settings#regional-failover
-
baimus 👍 1(an example of multicluster in this case would be 4 clusters, 2 for the transactional load and 2 for the analytical load)
-
desertlotus1211 👍 1 Answered BMulti-cluster satisfy reliability aspect of the question. single cluster may and will cause contention for resources...
-
A4M 👍 1i meant single-cluster routing
-
samdhimal 👍 1 Answered CI am going for C?
-
sfsdeniso 👍 1Answer is C
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.