Courseiva

Google Professional Cloud Database Engineer (PCDE) — Questions 901975

1446 questions total · 20pages · All types, answers revealed

Page 12

Page 13 of 20

Page 14
901
MCQmedium

Which notification channel is supported by Cloud Monitoring for alerting without additional third-party integrations?

A.PagerDuty
B.Slack
C.SMS
D.Email
AnswerD

Email is a built-in notification channel in Cloud Monitoring.

902
Multi-Selecthard

An organization uses Terraform with a GCS backend for state. They want to implement a GitOps workflow where changes merged to the main branch are automatically applied. The CI/CD pipeline uses a service account with Workload Identity Federation. Which THREE components are required? (Choose three.)

Select 3 answers
A.A Cloud Storage bucket with object versioning enabled for Terraform state.
B.A Terraform Cloud workspace configured with the same GCS backend.
C.A service account with permissions to modify resources in the target projects.
D.A Git repository containing Terraform configurations.
E.A CI/CD system (e.g., Cloud Build) that runs Terraform plan and apply on merge to main.
AnswersC, D, E

The pipeline needs a service account with IAM roles to create/update resources.

Why this answer

GitOps requires a Git repository as the source of truth, a CI/CD pipeline that triggers on changes to main, and a service account with appropriate permissions to apply changes. Terraform Cloud is not required; the pipeline can run Terraform directly.

903
MCQhard

A Looker developer configured a new connection to BigQuery as shown. The connection test fails with the error above. What is the most likely cause?

A.The dataset mydataset does not exist in the project
B.The BigQuery query quota has been exceeded for the project
C.The Looker instance is located in a different region than the BigQuery dataset
D.The Looker service account lacks the required BigQuery roles on the dataset
AnswerD

The error 'Access Denied' indicates missing IAM permissions for the service account.

Why this answer

The error indicates a permissions issue during the connection test. Looker uses a service account to authenticate to BigQuery, and if that service account lacks the required BigQuery roles (e.g., BigQuery Data Viewer, BigQuery Job User) on the dataset, the connection test will fail with an access denied error. The error message shown in the question (not provided here but implied) typically states 'Access Denied' or 'Permission denied' when the service account does not have the necessary IAM permissions on the dataset or project.

Exam trap

Google Cloud often tests the misconception that region mismatch causes connection failures, but BigQuery datasets are global and region does not affect authentication; the real issue is almost always IAM permissions on the service account.

How to eliminate wrong answers

Option A is wrong because if the dataset did not exist, the error would be 'Not found: Dataset myproject:mydataset' rather than a permissions error. Option B is wrong because exceeding the BigQuery query quota results in a 'Quota exceeded' error, not a permissions-related failure. Option C is wrong because BigQuery datasets are global resources and region mismatch does not cause connection test failures; Looker can connect to BigQuery datasets in any region as long as network connectivity exists.

904
MCQeasy

Which GCP database service automatically replicates data across multiple zones within a region and provides an SLA of 99.999% for multi-region configurations?

A.Firestore
B.Cloud SQL
C.Cloud Bigtable
D.Cloud Spanner
AnswerD

Spanner automatically replicates data across zones and regions (multi-region) and provides 99.999% SLA for multi-region configurations.

Why this answer

Cloud Spanner is a globally distributed, strongly consistent relational database that automatically replicates data across zones. It offers 99.999% SLA for multi-region instances. Cloud SQL HA replicates across zones but has a lower SLA.

Bigtable replicates asynchronously across regions but does not guarantee strong consistency. Firestore offers multi-region replication but not 99.999% SLA.

905
MCQhard

An organization uses Cloud Spanner and needs to add a new column to an existing table without downtime. The table has billions of rows and is heavily used. What is the recommended approach to add the column?

A.Use ALTER TABLE ADD COLUMN statement
B.Create a new table with the column, then copy data and rename
C.Add the column using gcloud command and set a downtime window
D.Backup the database, add column, then restore
AnswerA

Spanner allows non-blocking schema updates; ALTER TABLE is safe and does not require downtime.

Why this answer

Cloud Spanner schema changes are online and non-blocking, so you can simply use ALTER TABLE to add the column; it will not cause downtime.

906
MCQmedium

A company is designing a BigQuery data warehouse for BI dashboards. They have a fact table with billions of rows and need to optimize query performance for common filters on date and customer_id. Which table design strategy is most effective?

A.Use a clustered table on date only.
B.Use a non-partitioned table with indexing on customer_id.
C.Use a materialized view that aggregates by date.
D.Use a partitioned table on date with clustering on customer_id.
AnswerD

Partitioning prunes date ranges, clustering narrows scans within partitions.

Why this answer

Partitioning the table on `date` allows BigQuery to prune entire partitions when filtering by date, drastically reducing the data scanned. Clustering on `customer_id` then sorts data within each partition, enabling block-level pruning for queries that filter on `customer_id`. This combination minimizes both I/O and cost for the described BI workload.

Exam trap

The trap here is that candidates often assume clustering alone is sufficient for date-range filtering, overlooking that partitioning is required to physically separate data by date and enable partition pruning, which is a fundamental BigQuery optimization for time-series data.

How to eliminate wrong answers

Option A is wrong because clustering on `date` alone does not provide partition pruning; without partitioning, BigQuery must scan the entire table even if only a date range is needed, leading to higher costs and slower performance. Option B is wrong because BigQuery does not support traditional indexing; it uses columnar storage and pruning via partitioning/clustering, so a non-partitioned table with 'indexing' is not a valid strategy. Option C is wrong because a materialized view aggregating by date would pre-summarize data but cannot efficiently support ad-hoc filters on `customer_id` without scanning all underlying rows; it also adds storage and maintenance overhead without addressing the need for row-level filtering on `customer_id`.

907
MCQeasy

You are monitoring a Memorystore for Redis instance serving as a cache for an e-commerce application. The cache hit ratio has dropped from 95% to 70%. Which action is most likely to restore the hit ratio?

A.Reduce the network latency between the application and Redis by moving them to the same zone.
B.Change the eviction policy to 'noeviction' to prevent key removal.
C.Increase the maxmemory setting to accommodate more cache entries.
D.Enable AOF persistence to ensure data survives restarts.
AnswerC

Larger memory reduces evictions, improving hit ratio.

Why this answer

A drop in cache hit ratio from 95% to 70% indicates that the cache is evicting frequently accessed keys to make room for new ones. Increasing the maxmemory setting allows Redis to store more entries, reducing evictions and restoring the hit ratio. This is the most direct way to address the capacity issue without changing application behavior.

Exam trap

The trap here is that candidates confuse eviction policy changes (like 'noeviction') with capacity increases, or assume that persistence or network optimization can fix a hit ratio problem caused by insufficient memory.

How to eliminate wrong answers

Option A is wrong because network latency affects response times, not the cache hit ratio; moving to the same zone reduces latency but does not prevent evictions or increase the number of cached keys. Option B is wrong because setting 'noeviction' causes Redis to return errors on write operations when memory is full, which can break the application and does not restore existing evicted keys. Option D is wrong because AOF persistence ensures data durability across restarts but does not affect the eviction behavior or the number of keys in memory; it may even reduce available memory for caching due to overhead.

908
MCQeasy

Which Spanner feature allows you to add a new column to an existing table without blocking writes or requiring a rebuild?

A.Optimistic locking
B.Online DDL
C.Interleaved tables
D.Schema versioning
AnswerB

Spanner's schema updates are online and non-blocking.

Why this answer

Online DDL (Data Definition Language) in Spanner allows schema changes such as adding a new column to an existing table without blocking writes or requiring a full table rebuild. This is achieved through a non-blocking, multi-phase schema update process that applies changes in the background while the table remains fully available for reads and writes.

Exam trap

Google Cloud often tests the distinction between concurrency control mechanisms (like optimistic locking) and schema management features, leading candidates to confuse a transaction isolation technique with a DDL operation that supports zero-downtime schema changes.

How to eliminate wrong answers

Option A is wrong because optimistic locking is a concurrency control mechanism used to handle conflicts during transactions, not a feature for schema changes. Option C is wrong because interleaved tables are a schema design pattern that physically co-locates parent and child rows for efficient joins, but they do not provide non-blocking schema alteration capabilities. Option D is wrong because schema versioning refers to the ability to maintain multiple versions of a schema for compatibility, but it is not the mechanism that allows adding a column without blocking writes or rebuilding the table.

909
MCQeasy

A service has an SLO of 99.9% availability over a 30-day month. What is the error budget in minutes for that month?

A.43.2 minutes
B.144 minutes
C.4.32 minutes
D.432 minutes
AnswerA

Correct: 0.1% of 43,200 minutes = 43.2 minutes.

Why this answer

Error budget = (100% - SLO) * total time. 0.1% of 43,200 minutes (30 days) is 43.2 minutes. Rounded to 43 minutes.

910
MCQmedium

A company uses Cloud Spanner and needs to back up a large database (several TB) for compliance reasons. They want to retain the backup for 400 days. What is the optimal approach to meet this requirement?

A.Create a backup with 365-day retention, and before it expires, create another backup to extend coverage
B.Create a backup and set the expiration time to 400 days using the gcloud command
C.Use continuous PITR to retain transaction logs for 400 days
D.Export the database to Cloud Storage using Dataflow or an export job, which can be retained indefinitely
AnswerD

Exporting to Cloud Storage bypasses the 365-day limit; you can retain exports as long as needed.

Why this answer

Cloud Spanner allows creating backups that can be retained for up to 365 days. For a retention of 400 days, you cannot use a single backup. Instead, you can create a backup and then take another backup before the first expires, or export data to Cloud Storage (e.g., using Dataflow) which has no expiration limit.

Using the console, you are limited to 365 days; to exceed that, you must use long-term retention outside of Spanner backups.

911
MCQeasy

An engineer needs to create a build trigger in Cloud Build that runs every day at midnight. Which type of trigger should they use?

A.Push to branch trigger
B.Pull request trigger
C.Scheduled trigger
D.Manual trigger
AnswerC

Scheduled triggers run on a cron schedule.

Why this answer

Cloud Build supports scheduled triggers using a cron syntax. This allows running builds at specific times or intervals.

912
MCQhard

A company wants to implement a service mesh with fault injection for HTTP services running on Google Kubernetes Engine. They need to inject artificial delays and errors into requests to test resilience. Which GCP service should they use?

A.Traffic Director
B.Cloud Armor
C.Cloud Load Balancing
D.Cloud Endpoints
AnswerA

Traffic Director's HTTP fault filter can inject delays and errors.

Why this answer

Traffic Director is a managed traffic control plane that supports HTTP fault injection via the HTTP fault filter. It integrates with GKE ingress.

913
MCQmedium

A company is using mysqldump to migrate a MySQL database to Cloud SQL. The source database uses InnoDB tables and is running a production workload. They want to ensure a consistent snapshot without locking tables. Which mysqldump flags should they use?

A.--single-transaction --master-data
B.--lock-all-tables --flush-logs
C.--single-transaction --skip-lock-tables
D.--skip-lock-tables --all-databases
AnswerC

These flags provide a consistent snapshot without locking tables for InnoDB.

Why this answer

--single-transaction uses a transaction to get a consistent snapshot without locking tables (works with InnoDB). --skip-lock-tables prevents explicit table locks. --lock-all-tables would lock tables. --master-data is for binary log coordinates but not required for consistency.

914
MCQmedium

A company needs to store and analyze semi-structured JSON logs from multiple microservices. The data is write-heavy with bursts of 100,000 writes/sec, and queries filter by service name and timestamp range. They require low operational overhead and the ability to query with SQL. Which Google Cloud database should they choose?

A.Cloud Bigtable
B.BigQuery
C.Cloud SQL
D.Firestore
AnswerB

BigQuery supports SQL on JSON logs and can handle burst writes up to 100,000 rows per second via streaming, making it the best fit.

Why this answer

BigQuery supports SQL queries on semi-structured JSON data and can handle high write rates via streaming inserts (up to 100,000 rows per second per project). Cloud Bigtable does not support SQL natively, Cloud SQL cannot handle the write throughput, and Firestore is limited in write capacity for this volume.

915
MCQeasy

A DevOps engineer wants to implement a GitOps workflow for a GKE cluster using a tool that automatically syncs the cluster state with a Git repository. Which Google Cloud service is designed for this purpose?

A.Cloud Run
B.Config Connector
C.Cloud Deploy
D.Config Sync
AnswerD

Config Sync is the GitOps tool for automatic sync.

Why this answer

Config Sync is the Google Cloud service specifically designed to implement a GitOps workflow for GKE clusters. It automatically synchronizes the cluster's desired state (as defined in a Git repository) with the actual cluster state, ensuring continuous reconciliation without manual intervention.

Exam trap

The trap here is confusing a deployment or CI/CD tool (like Cloud Deploy) with a GitOps sync tool, when the key differentiator is automatic, continuous reconciliation from a Git repository rather than one-time or event-driven deployments.

How to eliminate wrong answers

Option A is wrong because Cloud Run is a serverless compute platform for running containers, not a GitOps synchronization tool. Option B is wrong because Config Connector allows managing Google Cloud resources via Kubernetes custom resources but does not automatically sync cluster state from a Git repository. Option C is wrong because Cloud Deploy is a continuous delivery service for deploying to GKE and other targets, but it does not provide the continuous sync and drift detection that defines a GitOps workflow.

916
MCQmedium

A company runs a Cloud SQL for PostgreSQL instance with a cross-region read replica in a different region for disaster recovery. The primary region experiences a complete outage. What is the expected RPO and RTO for promoting the read replica to become the new primary?

A.RPO: up to 1 hour; RTO: up to 24 hours
B.RPO: near zero (loss of last few transactions); RTO: under 60 seconds
C.RPO: zero; RTO: less than 1 minute
D.RPO: equals the replication lag (seconds to minutes); RTO: minutes (manual promotion)
AnswerD

Cross-region read replicas replicate asynchronously, so RPO is the replication lag. Manual promotion takes minutes to complete and reconfigure.

Why this answer

Promoting a cross-region read replica involves manual intervention. The RPO equals the replication lag (which can be seconds to minutes depending on network and workload), not zero. The RTO is measured in minutes because you must verify the replica, promote it, and reconfigure applications.

Cloud SQL HA failover (same region) achieves RPO near zero and RTO under 60 seconds, but cross-region replication is asynchronous.

917
MCQhard

A financial services company uses Cloud Spanner with a database that has multiple tables with interleaved relationships. They need to enforce a strict consistency requirement across two related tables that are not interleaved. Which method ensures global strong consistency?

A.Use Spanner's built-in atomicity by executing the updates in a single read-write transaction.
B.Use Cloud Pub/Sub to eventually synchronize the tables.
C.Use a commit timestamp-based approach to synchronize writes.
D.Use a client-side distributed transaction across the two tables.
AnswerA

Spanner supports multi-table transactions with global strong consistency.

Why this answer

Cloud Spanner provides external consistency (global strong consistency) across all tables, interleaved or not, through the use of distributed read-write transactions that leverage the TrueTime API. By executing updates to both non-interleaved tables within a single read-write transaction, Spanner ensures that all mutations are applied atomically and are visible globally at a single timestamp, meeting the strict consistency requirement.

Exam trap

Google Cloud often tests the misconception that interleaved tables are required for strong consistency in Spanner, but the trap here is that Spanner's distributed transaction support works across any tables, interleaved or not, as long as they are within the same database.

How to eliminate wrong answers

Option B is wrong because Cloud Pub/Sub is an asynchronous messaging service that provides at-least-once delivery and eventual consistency, not strong consistency; it cannot guarantee that both tables are updated atomically. Option C is wrong because a commit timestamp-based approach, while useful for ordering, does not by itself provide atomicity across multiple tables; without a transaction, writes to separate tables can be interleaved or partially applied. Option D is wrong because client-side distributed transactions are not supported by Cloud Spanner; Spanner manages all transaction coordination internally using TrueTime and Paxos, and attempting to implement distributed transactions at the client level would violate Spanner's consistency guarantees and could lead to anomalies.

918
MCQhard

Refer to the exhibit. You notice replication latency is 15ms. What is the most likely cause of this latency?

A.The table load is not uniform
B.Storage utilization is at 70%
C.High CPU utilization (85%) on the cluster
D.The number of nodes is above the recommended count
AnswerC

High CPU can slow down replication operations.

Why this answer

High CPU utilization (85%) on the cluster is the most likely cause of replication latency because the replication process (often using protocols like Raft or Paxos in distributed databases) is CPU-intensive. When CPU resources are saturated, the cluster cannot process replication requests in a timely manner, leading to increased latency. In many distributed database systems, replication involves serialization, checksumming, and network I/O, all of which compete for CPU cycles.

Exam trap

Google Cloud often tests the misconception that storage utilization or node count are the primary causes of replication latency, when in fact CPU saturation is the most direct bottleneck for the replication protocol's processing pipeline.

How to eliminate wrong answers

Option A is wrong because non-uniform table load typically causes hot spots or uneven data distribution, which can lead to performance degradation but does not directly cause replication latency; replication latency is a cluster-wide issue related to the replication protocol's processing speed. Option B is wrong because storage utilization at 70% is within normal operational limits and does not directly impact replication latency; replication latency is more sensitive to CPU and network bandwidth than to storage capacity. Option D is wrong because the number of nodes being above the recommended count can increase network overhead and coordination delays, but the most direct and common cause of replication latency in a cluster with high CPU is CPU saturation, not node count alone.

919
MCQeasy

A team wants to reduce toil from manual database backups. They estimate the toil takes 10 hours per week. What is the maximum amount of toil they should allow to keep toil under 50% of their time according to SRE best practices?

A.5 hours per week
B.20 hours per week
C.40 hours per week
D.10 hours per week
AnswerB

50% of a 40-hour workweek is 20 hours. This is the maximum toil allowed by SRE best practices.

Why this answer

SRE best practices recommend that toil should not exceed 50% of an SRE team's time. If the team works 40 hours per week, 50% is 20 hours. Currently they spend 10 hours, which is under the cap.

920
MCQeasy

A startup is using Cloud Spanner for a global user base. They need to design a schema that minimizes interleaved table joins for common access patterns. Which schema design principle should they prioritize?

A.Normalize all tables to reduce data redundancy.
B.Store data in separate databases per region.
C.Use secondary indexes on all foreign key columns.
D.Use composite primary keys to colocate related data.
AnswerD

Correct. Composite primary keys enable interleaving, colocating rows and minimizing joins.

Why this answer

Cloud Spanner uses interleaved tables to colocate parent and child rows physically on the same split, based on a shared prefix of the primary key. By designing composite primary keys that include the parent key as the leading column, related data is stored together, eliminating the need for distributed joins across nodes. This minimizes latency for common access patterns in a globally distributed database.

Exam trap

Candidates often assume that normalization or secondary indexes are always optimal for performance, but in Cloud Spanner's distributed architecture, physical colocation via interleaved composite keys is the critical design principle to avoid expensive cross-node joins.

How to eliminate wrong answers

Option A is wrong because normalizing tables increases the number of joins, which in Spanner can require cross-node communication and degrade performance; Spanner is optimized for denormalized, interleaved schemas. Option B is wrong because storing data in separate databases per region defeats Spanner's purpose of providing a single, globally consistent database with automatic replication and strong consistency. Option C is wrong because secondary indexes on foreign keys do not colocate data; they only speed up lookups but still require separate index scans and potential cross-split reads, whereas interleaving physically co-locates rows.

921
MCQeasy

A financial application requires zero data loss (RPO=0) and automatic failover within 60 seconds in the event of a zone failure. The database must support ACID transactions. Which Google Cloud service meets these requirements?

A.Cloud SQL with HA configuration
B.Cloud SQL cross-region read replica
C.Cloud SQL single-zone instance with automatic backups
D.Cloud Bigtable multi-cluster replication
AnswerA

Cloud SQL HA provides automatic zone failover with synchronous replication, offering RPO ~0 and RTO < 60 seconds.

Why this answer

Cloud SQL with HA configuration uses synchronous replication to a standby instance in a different zone. If the primary zone fails, Cloud SQL automatically fails over to the standby. Because replication is synchronous, RPO is effectively zero.

Automatic failover typically completes within 60 seconds.

922
MCQmedium

A company runs a retail BI dashboard on BigQuery. The fact_sales table is partitioned by DAY and clustered by product_id. The table is 10 TB. Recently, analysts complain that queries filtering on a specific product_id and a month of data take over 10 minutes. The query uses a subquery to find top products. What should the engineer do?

A.Create a materialized view for the subquery.
B.Add an ORDER BY product_id to the subquery.
C.Change partition type to HOUR.
D.Re-cluster the table with product_id as the first clustering column and date as the second.
AnswerA

Materialized view stores precomputed results, reducing query time and cost.

Why this answer

Creating a materialized view for the subquery that identifies top products pre-computes and stores the results, which are incrementally refreshed by BigQuery. This avoids re-scanning the entire 10 TB fact_sales table each time the query runs, drastically reducing query time for the analysts' frequent filtering on product_id and a month of data.

Exam trap

Google Cloud often tests the misconception that clustering or partitioning changes alone can solve performance issues for subqueries, but the real bottleneck is the repeated full-table scan, which only a materialized view or similar pre-computation can eliminate.

How to eliminate wrong answers

Option B is wrong because adding ORDER BY product_id to the subquery does not improve performance; it only sorts the output, which adds overhead without reducing the data scanned or leveraging clustering. Option C is wrong because changing partition type to HOUR would create many small partitions, increasing partition management overhead and potentially degrading query performance due to metadata operations, while the analysts query a month of data, not hourly slices. Option D is wrong because re-clustering with product_id as the first clustering column and date as the second is already the current clustering order (product_id first, DAY partition second), so this change would not provide any benefit and clustering is automatically maintained by BigQuery.

923
MCQhard

A global e-commerce platform uses Cloud Spanner in multi-region configuration. The application writes a significant portion of traffic from Europe and requires the lowest read latency in that region. Which configuration step should be taken to minimise read latency in Europe while maintaining write availability?

A.Configure a separate Spanner instance for European traffic and split the database.
B.Add more read-write replicas in the European region.
C.Use a regional Spanner instance in Europe coupled with a copy of the data in Bigtable.
D.Set the leader region to Europe (e.g., eur3).
AnswerD

Setting the leader region to Europe ensures that writes are committed in Europe, which reduces write latency for European traffic. Read-only replicas in other regions can serve reads with low latency without affecting write availability.

Why this answer

In Spanner multi-region, the leader region determines where writes are committed. Setting the leader region to Europe ensures that writes are committed there, which reduces write latency for European traffic. Read-only replicas in other regions can serve reads with low latency without affecting write availability.

Adding more read replicas in Europe would not reduce latency if the leader region is elsewhere. The number of read-write replicas does not directly reduce read latency. Splitting the database would not help for a single database.

924
MCQeasy

You are designing a database schema for Cloud SQL (MySQL) for an OLTP application. Which normal form is typically recommended to avoid update anomalies?

A.Denormalized form
B.Second Normal Form (2NF)
C.Third Normal Form (3NF)
D.First Normal Form (1NF)
AnswerC

3NF eliminates transitive dependencies and is the standard for OLTP.

Why this answer

Third Normal Form (3NF) is the standard for OLTP databases to reduce redundancy and avoid update, insert, and delete anomalies.

925
MCQeasy

An e-commerce platform requires strong consistency across global regions. Which database service should they choose?

A.Cloud Bigtable
B.Firestore
C.Cloud Spanner
D.Cloud SQL
AnswerC

Cloud Spanner provides globally distributed strong consistency.

Why this answer

Cloud Spanner is the correct choice because it provides strong consistency across global regions via synchronous replication and TrueTime, ensuring ACID transactions with external consistency. This meets the e-commerce platform's requirement for globally consistent reads and writes without eventual consistency trade-offs.

Exam trap

The trap here is that candidates often confuse 'strong consistency' with 'eventual consistency' and pick Firestore for its real-time capabilities, overlooking that Firestore's multi-region mode sacrifices strong consistency for availability.

How to eliminate wrong answers

Option A is wrong because Cloud Bigtable is a NoSQL wide-column database designed for high-throughput analytical workloads, not strong consistency across regions—it offers only eventual consistency for replicated data. Option B is wrong because Firestore provides strong consistency within a single region but uses eventual consistency for multi-region deployments, failing the global strong consistency requirement. Option D is wrong because Cloud SQL is a regional relational database service that does not support multi-region replication with strong consistency; it relies on asynchronous replication for cross-region failover, which can lead to data loss or stale reads.

926
MCQhard

A team uses Terraform with a GCS backend for state. They want to use remote state from another project to read output values. What Terraform configuration element is used to retrieve outputs from a different state file?

A.`module.terraform_remote_state`
B.`output.terraform_remote_state`
C.`resource.terraform_remote_state`
D.`data.terraform_remote_state`
AnswerD

Correct. `data.terraform_remote_state` is a data source that retrieves state from a remote backend, allowing access to output values from another configuration.

Why this answer

The `data.terraform_remote_state` data source is the correct Terraform configuration element used to retrieve output values from a different state file stored in a remote backend, such as GCS. It reads the state data from the specified backend configuration and exposes the outputs via the `outputs` attribute, allowing cross-project or cross-workspace state access without requiring direct module dependencies.

Exam trap

A common trap in Terraform is confusing the `terraform_remote_state` data source with a resource or module. For Google Cloud DevOps, users may incorrectly use `resource.terraform_remote_state` or `module.terraform_remote_state`, but only `data.terraform_remote_state` is valid for reading outputs from a remote state file stored in GCS.

How to eliminate wrong answers

Option A is wrong because `module.terraform_remote_state` is not a valid Terraform construct; modules are defined with `module` blocks referencing module sources, not a built-in `terraform_remote_state` module. Option B is wrong because `output.terraform_remote_state` is not a valid resource or data source; outputs are declared with `output` blocks to expose values, not to retrieve remote state. Option C is wrong because `resource.terraform_remote_state` does not exist; Terraform uses `data` sources for read-only access to external state, not `resource` blocks which manage infrastructure lifecycle.

927
MCQmedium

A team is designing a disaster recovery strategy for Cloud SQL. They need to be able to recover the database in a different region with a Recovery Point Objective (RPO) of less than 30 minutes. What should they configure?

A.Use on-demand backups every 30 minutes and store them in a multi-regional bucket.
B.Enable binary logging and configure a cross-region replica for PITR.
C.Create a cross-region read replica and promote it to standalone during a disaster.
D.Create automated backups with a retention of 7 days and restore to a new instance in the desired region.
AnswerC

Cross-region read replicas provide asynchronous replication with RPO typically in seconds to minutes. Promoting gives a new primary in the other region.

928
MCQhard

Your team is using Cloud Monitoring dashboards to monitor a multi-service architecture. You want to manage dashboards as code using Terraform. Which approach should you use to create a dashboard?

A.Use the Monitoring API directly from Terraform with a custom provider
B.Use the google_monitoring_dashboard Terraform resource with a dashboard JSON configuration
C.Create the dashboard manually and export it as a JSON file, then import into Terraform
D.Use gcloud alpha monitoring dashboards create command with a YAML file
AnswerB

This is the correct way to manage dashboards as code with Terraform.

Why this answer

Cloud Monitoring dashboards can be managed via the Dashboard API using a JSON configuration. Terraform has a google_monitoring_dashboard resource that accepts a JSON or YAML representation of the dashboard. The gcloud command only supports exporting/importing, not declarative management.

929
MCQmedium

During an incident, an SRE team uses an incident command system. Which role is responsible for coordinating communication and resources, but not for technical debugging?

A.Incident Commander
B.Subject Matter Expert
C.Operations Lead
D.Scribe
AnswerA

The IC coordinates the response, not technical debugging.

Why this answer

In incident command, the Incident Commander (IC) focuses on coordination, communication, and resource management, leaving technical debugging to the Operations Lead or other technical roles.

930
MCQeasy

A company is migrating their on-premises PostgreSQL database to Cloud SQL. They want to minimize downtime during the migration. Which approach should they use?

A.Use Database Migration Service with continuous replication
B.Use pg_dump and pg_restore
C.Export data to CSV and import into Cloud SQL
D.Use a third-party ETL tool
AnswerA

Database Migration Service supports continuous replication (CDC) to minimize downtime.

Why this answer

Database Migration Service (DMS) with continuous replication is the correct approach because it uses change data capture (CDC) to replicate ongoing transactions from the source PostgreSQL database to Cloud SQL, enabling a near-zero downtime migration. DMS handles schema conversion, data validation, and automated failover, which minimizes the cutover window to seconds or minutes.

Exam trap

The trap here is that candidates often assume any backup-and-restore method (like pg_dump) is sufficient for migration, but the PCDE exam specifically tests the requirement for minimal downtime, which only continuous replication can achieve.

How to eliminate wrong answers

Option B is wrong because pg_dump and pg_restore perform a logical backup and restore, which requires taking the source database offline or in read-only mode during the dump, causing significant downtime. Option C is wrong because exporting data to CSV and importing into Cloud SQL is a manual, batch-oriented process that does not support continuous replication, leading to extended downtime and potential data inconsistency. Option D is wrong because a third-party ETL tool typically extracts data in batches and cannot provide the continuous, low-latency replication needed for minimal downtime, and it introduces additional complexity and cost without native integration with Cloud SQL.

931
MCQeasy

A company plans to migrate an on-premises PostgreSQL database to Cloud SQL. The database is 2 TB in size and requires minimal downtime. Which migration approach should they use?

A.Export the database using pg_dump and import into Cloud SQL using psql.
B.Use Datastream to stream data into Cloud SQL.
C.Use Database Migration Service with a continuous migration job.
D.Copy the data files to Cloud Storage and use gcloud to load into Bigtable.
AnswerC

Database Migration Service supports virtually zero-downtime migrations through continuous replication.

Why this answer

Database Migration Service (DMS) with a continuous migration job is the correct approach because it supports minimal-downtime migrations from on-premises PostgreSQL to Cloud SQL. DMS uses logical replication (via PostgreSQL's pgoutput plugin) to continuously sync changes from the source to the target, allowing a short cutover window. For a 2 TB database, this avoids the lengthy downtime required by a full dump-and-load method.

Exam trap

The trap here is that candidates may choose pg_dump (Option A) because it is familiar and works for smaller databases, but they overlook the minimal-downtime requirement and the impracticality of exporting 2 TB without significant service interruption.

How to eliminate wrong answers

Option A is wrong because pg_dump and psql require a full export and import, which would take hours or days for a 2 TB database, causing significant downtime. Option B is wrong because Datastream is designed for streaming change data capture (CDC) to BigQuery or Cloud Storage, not for direct ingestion into Cloud SQL. Option D is wrong because copying data files to Cloud Storage and loading into Bigtable is for NoSQL workloads, not for migrating a relational PostgreSQL database to Cloud SQL.

932
MCQmedium

Refer to the exhibit. The company wants to achieve a 99.99% SLA for this Cloud SQL instance. What should they do?

A.Change to a different tier.
B.Change the availability type to REGIONAL.
C.Enable automatic backups.
D.Increase the number of CPUs.
AnswerB

REGIONAL availability uses zonal replications and offers a 99.99% SLA.

Why this answer

A 99.99% SLA for Cloud SQL requires a regional (multi-zone) configuration to protect against a zonal failure. By changing the availability type to REGIONAL, the instance is provisioned with a synchronous standby in a different zone, enabling automatic failover and meeting the 99.99% uptime target. The default zonal availability only provides a 99.95% SLA.

Exam trap

In Google Cloud, the distinction is between high availability (uptime) and data durability (backups). Candidates often mistake automatic backups (which protect data from loss) for high availability (which protects against downtime). For a 99.99% SLA, a REGIONAL (multi-zone) Cloud SQL instance is required, not just backups or more resources.

How to eliminate wrong answers

Option A is wrong because changing the tier (e.g., from db-n1-standard to db-n1-highmem) affects performance and pricing but does not change the availability SLA; the SLA is tied to the availability type, not the machine tier. Option C is wrong because automatic backups protect against data loss (durability) but do not increase uptime; the SLA is about availability, not backup frequency. Option D is wrong because increasing the number of CPUs improves query performance but has no impact on the instance's availability SLA; the SLA is determined by the deployment configuration (zonal vs. regional), not by compute capacity.

933
MCQhard

A gaming company uses Firestore in Native mode to store player profiles and game state. They need to query the data by both 'playerId' and 'lastLoginTimestamp' sorted descending. The current index configuration is automatic. How should they configure indexing to support this query efficiently?

A.Create two separate single-field indexes: one on 'playerId' and one on 'lastLoginTimestamp'
B.Use an exemption to remove automatic indexing on 'playerId' and rely on single-field indexes
C.Use the automatic index configuration; Firestore will create the necessary composite index automatically
D.Create a composite index on 'playerId' ascending and 'lastLoginTimestamp' descending
AnswerD

Correct. A composite index with the exact order (asc/desc) is needed for efficient queries with ordering.

Why this answer

Firestore automatically creates single-field indexes for all fields. For queries with ordering on two fields, a composite index is required. The composite index must include both fields in the correct order (ascending or descending).

934
MCQeasy

A startup is building a ride-sharing application that requires globally distributed, strongly consistent transactions for ride matching and payments. The database must scale horizontally and provide low-latency reads and writes. Which Google Cloud database should they use?

A.Cloud Bigtable
B.Cloud SQL
C.Cloud Spanner
D.Firestore
AnswerC

Cloud Spanner is a globally distributed, strongly consistent relational database service with horizontal scaling.

Why this answer

Cloud Spanner is the only Google Cloud database that provides global strong consistency, horizontal scaling, and supports ACID transactions across regions.

935
MCQeasy

A healthcare company needs to run BI queries on patient data. The table is in BigQuery and contains 5 billion rows. Queries often filter on patient_id and date. But the table is not partitioned or clustered. Analysts run queries that scan the entire table. The data is updated daily. What is the most cost-effective way to improve performance?

A.Partition the table by patient_id.
B.Use a view that only selects recent data.
C.Cluster the table by date.
D.Partition by date and cluster by patient_id.
AnswerD

Partitioning prunes by date, clustering narrows by patient_id, reducing scanned bytes significantly.

Why this answer

Partitioning by date (e.g., ingestion or event date) allows BigQuery to prune entire partitions when queries filter on date, drastically reducing the data scanned. Clustering by patient_id within each partition further organizes the data so that queries filtering on patient_id can skip irrelevant blocks via block-level metadata. Together, this minimizes bytes billed and improves query performance without requiring table redesign or additional storage costs.

Exam trap

Google Cloud often tests the misconception that clustering alone is sufficient for performance gains, but without partitioning, clustering cannot prune storage at the partition level, so full-table scans still occur and costs remain high.

How to eliminate wrong answers

Option A is wrong because partitioning by patient_id is not supported in BigQuery (partitioning columns must be of type DATE, TIMESTAMP, or INTEGER range) and would not align with the common date-based filter pattern. Option B is wrong because a view that only selects recent data does not reduce the underlying table scan; BigQuery still processes all data in the table unless the view is materialized, and even then it would not address the full-table scan issue for historical queries. Option C is wrong because clustering alone without partitioning still requires scanning all partitions (the entire table) if no partition filter is applied; clustering only helps within a partition, so without a partition filter the query still incurs full-table costs.

936
MCQmedium

A Cloud Run service needs to handle background tasks after responding to a client. Which CPU configuration is required to ensure background tasks complete?

A.Set concurrency to 1
B.CPU always-on: false (default)
C.CPU always-on: true
D.Set execution environment to gen1
AnswerC

Background tasks require CPU to remain active after the response.

Why this answer

CPU always-on must be enabled for Cloud Run to run background tasks; otherwise, CPU is throttled after the request is handled.

937
Multi-Selectmedium

Which TWO best practices should be followed when modeling data for a Looker BI dashboard to optimize query performance?

Select 2 answers
A.Use derived tables for all complex logic
B.Use persistent derived tables (PDTs) to materialize intermediate results
C.Use native derived tables to leverage BigQuery's UDFs
D.Use materialized views in the underlying database
E.Use symmetric aggregates to correctly aggregate measures across joins
AnswersB, E

PDTs are stored and refreshed periodically, improving query speed.

Why this answer

Persistent Derived Tables (PDTs) materialize intermediate query results into physical tables in the underlying database (e.g., BigQuery). This avoids re-executing complex logic on every user interaction, drastically reducing query latency and cost. PDTs are a core Looker optimization for repeated, heavy transformations.

Exam trap

Google Cloud often tests the distinction between persistent and native derived tables, trapping candidates who think all derived tables improve performance, when only persistent ones (PDTs) materialize results for repeated use.

938
MCQmedium

A company is migrating a PostgreSQL database to AlloyDB using DMS. They need to test the converted stored procedures. Which tool should they use to write and run unit tests for PL/pgSQL functions?

A.Cloud SQL Insights
B.pgAdmin
C.pg_stat_statements
D.pgTAP
AnswerD

pgTAP is the standard unit testing framework for PostgreSQL.

Why this answer

pgTAP is a unit testing framework for PostgreSQL that allows writing tests in SQL/PL/pgSQL. It is suitable for testing stored procedures.

939
MCQeasy

A Cloud SQL for PostgreSQL instance is experiencing a surge in read traffic. The team wants to offload read queries without affecting write latency. What should they do?

A.Enable automated backups
B.Create a same-region read replica
C.Create a cross-region read replica
D.Increase the CPU of the primary instance
AnswerB

Same-region read replicas offload read traffic with minimal latency, preserving write performance on the primary.

Why this answer

Creating read replicas allows distributing read traffic, reducing load on the primary instance for writes. Read replicas are the standard solution for scaling read workloads.

940
Multi-Selectmedium

An SRE team wants to automate a manual process that involves multiple steps and conditional logic (e.g., if a backup fails, retry with a different method). Which TWO Google Cloud services can they use to orchestrate this workflow? (Choose 2 answers)

Select 2 answers
A.Pub/Sub
B.Cloud Composer
C.Cloud Functions
D.Cloud Workflows
E.Cloud Build
AnswersB, D

Cloud Composer (Airflow) can orchestrate complex DAGs with branching and retries.

Why this answer

Cloud Workflows and Cloud Composer (based on Apache Airflow) are both orchestration services that can handle complex workflows with branching, retries, and conditionals. Cloud Functions is for individual functions, Cloud Build is for CI/CD, and Pub/Sub is for messaging.

941
Multi-Selectmedium

A company is planning a migration from an on-premises SQL Server database to Cloud SQL for PostgreSQL. They need to convert both schema and data. Which two Google Cloud services should they consider? (Choose 2)

Select 2 answers
A.Schema Conversion Tool (SCT)
B.Cloud SQL
C.BigQuery
D.Cloud Spanner
E.Database Migration Service (DMS)
AnswersA, E

SCT converts SQL Server schema to PostgreSQL.

Why this answer

Database Migration Service (DMS) handles data migration and can assist with schema conversion for homogeneous migrations. However, for heterogeneous migrations like SQL Server to PostgreSQL, Schema Conversion Tool (SCT) is needed for schema conversion. Cloud SQL is the target.

BigQuery and Cloud Spanner are not applicable here.

942
MCQeasy

A team needs to migrate a large Teradata data warehouse to BigQuery. They want to automatically convert Teradata DDL and BTEQ scripts to BigQuery-compatible SQL. Which Google Cloud service should they use?

A.BigQuery Data Transfer Service
B.Database Migration Service (DMS)
C.Schema Conversion Tool (SCTS)
D.Cloud Dataflow
AnswerC

SCTS is purpose-built for converting schemas and scripts from Teradata and other sources to BigQuery.

Why this answer

Schema Conversion Tool (SCTS) is designed for heterogeneous migrations, converting DDL and scripts from sources like Teradata to BigQuery.

943
MCQhard

A financial services company uses Cloud Bigtable for real-time fraud detection. They have a cluster with 10 nodes using HDD storage and are experiencing high latency due to disk throughput bottlenecks. They need to improve performance with minimal downtime. What should they do?

A.Modify the existing cluster's storage type to SSD via the Cloud Console
B.Create a new cluster with SSD storage, replicate data, then update the application to point to the new cluster
C.Use Cloud Bigtable's hot tablet detection to rebalance the data
D.Increase the number of nodes in the existing cluster
AnswerB

Correct. A new cluster with SSD must be created. Use replication to keep data in sync, then cut over with minimal downtime.

Why this answer

Cloud Bigtable does not support in-place conversion of storage from HDD to SSD. The only way to migrate to SSD storage is to create a new cluster with SSD, replicate data using Bigtable replication, and then update the application connection string to point to the new cluster. This approach minimizes downtime by allowing the old cluster to serve reads during replication.

Exam trap

The PCDOE exam often tests the misconception that you can change storage type in-place or that adding nodes solves all performance issues, but the key trap here is that HDD throughput is a hardware limitation that requires a new cluster with SSD to overcome.

How to eliminate wrong answers

Option A is wrong because Cloud Bigtable does not allow modifying the storage type of an existing cluster via the Cloud Console or any API; storage type is fixed at cluster creation. Option C is wrong because hot tablet detection and rebalancing address read/write hotspot issues, not disk throughput bottlenecks caused by HDD vs SSD performance. Option D is wrong because increasing the number of nodes adds CPU and memory capacity but does not resolve the fundamental I/O throughput limitation of HDD storage; the bottleneck is disk speed, not node count.

944
Multi-Selecteasy

An engineer is migrating a MySQL database to Cloud SQL using mysqldump. The source database uses InnoDB tables. Which TWO mysqldump options should the engineer use to perform a consistent online backup without locking tables? (Choose 2 correct answers.)

Select 2 answers
A.--quick
B.--single-transaction
C.--routines
D.--no-data
E.--skip-lock-tables
AnswersA, B

Prevents mysqldump from buffering entire table in memory; helpful large tables.

Why this answer

--single-transaction starts a transaction to get a consistent snapshot without locking. --quick prevents memory buffering. --skip-lock-tables avoids table locks, but --single-transaction already does that. --no-data exports only schema. --routines exports stored procedures but not consistency.

945
MCQhard

A team has a Cloud SQL instance with high CPU usage from many concurrent connections. They want to reduce connection overhead and improve performance. Which combination of services should they implement?

A.Cloud SQL Auth Proxy with PgBouncer
B.Use a network proxy like HAProxy
C.Cloud SQL Proxy with read replicas
D.Vertical scaling by increasing vCPU
AnswerA

Auth Proxy for secure tunneling, PgBouncer for connection pooling.

Why this answer

Cloud SQL Auth Proxy provides secure connections, and PgBouncer (connection pooler) manages a pool of connections to reduce overhead.

946
MCQmedium

You need to set up a notification channel for alerting that triggers a PagerDuty incident. The PagerDuty integration key is 'abc123'. What is the correct command to create this channel?

A.gcloud alpha monitoring channels create --type=slack --display-name="PagerDuty" --channel-labels=token=abc123
B.gcloud alpha monitoring channels create --type=pagerduty --display-name="PagerDuty" --channel-labels=auth_token=abc123
C.gcloud alpha monitoring channels create --type=pagerduty --display-name="PagerDuty" --channel-labels=service_key=abc123
D.gcloud beta monitoring channels create --type=webhook --display-name="PagerDuty" --channel-labels=url=https://events.pagerduty.com/integration/abc123/enqueue
AnswerC

Correct. This creates a PagerDuty notification channel with the integration key.

Why this answer

PagerDuty notification channels require the type 'pagerduty' and a 'service_key' (integration key) in the labels. The gcloud command is 'gcloud alpha monitoring channels create' with --type=pagerduty and --display-name and --channel-labels=service_key=... .

947
MCQeasy

A DevOps engineer wants to trigger a Cloud Build pipeline automatically every time a pull request is created against the main branch of a Cloud Source Repositories repository. Which type of build trigger should they configure?

A.Push trigger
B.Pull request trigger
C.Manual trigger
D.Scheduled trigger
AnswerB

A pull request trigger in Cloud Build automatically initiates a pipeline when a PR is created against the specified branch, satisfying the stem’s constraint of triggering on PR creation to main. It uses a repository event filter that matches the `pull_request` event type, distinguishing it from branch-based triggers that fire on direct pushes.

Why this answer

Cloud Build supports pull request triggers that fire on PR creation or update. Manual triggers require human action, push triggers fire on branch commits, and scheduled triggers run on a cron schedule.

948
Multi-Selectmedium

A company is using Cloud Spanner and wants to perform disaster recovery testing. They need to validate that their backup and restore process works without impacting production. Which TWO actions should they take? (Choose 2 correct answers.)

Select 2 answers
A.Restore a backup to a new database in the same instance using a different database ID
B.Export the database to Cloud Storage and import it into a new instance
C.Perform a failover to a read replica and then fail back
D.Create a backup of the production database and restore it to a new Spanner instance in a test project
E.Directly restore a backup to the production database to test recovery time
AnswersA, D

This tests the restore process without overwriting the production database.

Why this answer

Restoring a backup to a new instance in a separate project is non-destructive and tests the restore process. Using a different database ID in the same instance also tests restore without overriding production. Option C is destructive (deletes production).

Option D is not about testing. Option E is not a built-in feature for Spanner.

949
MCQhard

A company is migrating their on-premises data warehouse to BigQuery for BI. They have a fact table with billions of rows and many dimension tables. The current queries perform well in the on-prem system but are slow in BigQuery. The queries contain multiple JOINs and subqueries. Which optimization should they implement first?

A.Use clustering on all join keys.
B.Use BigQuery's automatic query rewriting.
C.Convert subqueries to CTEs.
D.Denormalize the dimension tables into the fact table.
AnswerD

Denormalization eliminates JOINs, which are expensive in BigQuery, improving performance significantly.

Why this answer

Denormalizing dimension tables into the fact table is the most impactful first optimization because it eliminates the need for expensive JOIN operations across billions of rows. In BigQuery, JOINs on large fact tables with multiple dimension tables can cause significant data shuffling and increased slot consumption, whereas denormalization reduces query complexity and leverages BigQuery's columnar storage and compression more efficiently. This directly addresses the root cause of slow performance in a BI workload where subqueries and JOINs are prevalent.

Exam trap

Google Cloud often tests the misconception that query-level optimizations (like clustering, CTEs, or automatic rewriting) can solve performance issues caused by schema design, when in fact the most impactful first step is to reduce JOIN complexity through denormalization for BigQuery's architecture.

How to eliminate wrong answers

Option A is wrong because clustering on all join keys does not eliminate the JOIN operations themselves; it only improves the efficiency of filtering and sorting within each table, but the shuffle and data redistribution required for JOINs across billions of rows remains a bottleneck. Option B is wrong because BigQuery's automatic query rewriting is a built-in optimizer that already applies heuristics and cost-based optimizations, but it cannot fundamentally restructure the schema to avoid JOINs; it works within the existing query structure. Option C is wrong because converting subqueries to CTEs (Common Table Expressions) is a syntactic change that does not alter the execution plan or reduce the computational cost of JOINs and subqueries; BigQuery treats CTEs similarly to subqueries under the hood.

950
MCQmedium

A team uses Kustomize to manage Kubernetes manifests for multiple environments (dev, staging, prod). They have a base directory and overlays for each environment. When deploying to a cluster, they run kustomize build and pipe to kubectl apply. How can they integrate this into Cloud Build?

A.Use a build step with image gcr.io/cloud-builders/kubectl and run kustomize build . | kubectl apply -f -.
B.Use a build step with image gcr.io/cloud-builders/kubectl and run kustomize build | kubectl apply --kustomize .
C.Use a build step with image gcr.io/k8s-skaffold/skaffold and run skaffold run.
D.Use a build step with image gcr.io/cloud-builders/kustomize and run kustomize build . | kubectl apply -f -.
AnswerD

The kustomize community builder includes kustomize. The output can be piped to kubectl apply.

Why this answer

Cloud Build can use the gcr.io/k8s-skaffold/skaffold image or the gcr.io/cloud-builders/kubectl image with kustomize built in. Alternatively, they can use the gcr.io/cloud-builders/kustomize community builder.

951
MCQmedium

A team has a service with an SLO of 99.5% uptime over 30 days. They track error budget and want to alert when the error budget is almost exhausted. What is their total error budget in minutes per month?

A.360 minutes
B.43.2 minutes
C.72 minutes
D.216 minutes
AnswerD

0.5% of 720 hours = 3.6 hours = 216 minutes.

Why this answer

Error budget = 100% - SLO = 0.5%. Over 30 days (720 hours), 0.5% of 720 hours = 3.6 hours = 216 minutes.

952
MCQmedium

A company wants to migrate a 10 TB Redshift data warehouse to BigQuery with minimal downtime. Which combination of services should they use?

A.Use BigQuery Data Transfer Service for Redshift for initial and incremental loads.
B.Use DMS with a Redshift source endpoint.
C.Export Redshift data to CSV and load using bq load.
D.Use Cloud Dataflow to stream from Redshift to BigQuery.
AnswerA

BQ DTS supports Redshift as a source, enabling both initial and scheduled incremental loads.

Why this answer

BigQuery Data Transfer Service can directly load data from Redshift. Schema Conversion Tool (SCTS) helps convert DDL. For minimal downtime, an initial load plus CDC or incremental loads can be used.

953
MCQeasy

A company is designing a data warehouse for BI. They need to support both detailed transaction analysis and high-level aggregated reports. Which schema design best balances storage and query performance?

A.Fully denormalized single table
B.Wide column store with no schema
C.Star schema with fact and dimension tables
D.Snowflake schema with normalized dimensions
AnswerC

Star schema is standard for BI, enabling fast aggregations and easy reporting.

Why this answer

The star schema is the optimal design for balancing storage and query performance in a BI data warehouse because it separates transactional data into fact tables (for detailed analysis) and dimension tables (for context), enabling fast aggregations via star joins while avoiding the storage overhead of full denormalization. This structure directly supports both granular transaction queries and high-level rollups without the complexity or performance penalty of snowflake schemas or the redundancy of fully denormalized tables.

Exam trap

Google Cloud often tests the misconception that snowflake schemas are always better for storage efficiency, but the trap here is that the question explicitly balances storage and query performance, and the star schema provides the best trade-off by avoiding excessive joins while keeping dimensions manageable.

How to eliminate wrong answers

Option A is wrong because a fully denormalized single table introduces massive data redundancy and update anomalies, leading to excessive storage consumption and slower query performance due to larger table scans, especially for high-level aggregations. Option B is wrong because a wide column store with no schema lacks the relational integrity and indexing capabilities required for efficient BI joins and aggregations, making it unsuitable for consistent, schema-on-write data warehouse workloads. Option D is wrong because a snowflake schema with normalized dimensions increases the number of join operations across multiple tables, degrading query performance for high-level reports without providing significant storage savings over a star schema in typical BI scenarios.

954
MCQhard

You need to estimate the number of Bigtable nodes required for a workload of 50,000 reads per second (QPS) and 20,000 writes per second. Each node can handle 10,000 QPS for reads or writes. Storage is not a constraint. What is the minimum number of nodes required?

A.2 nodes
B.7 nodes
C.5 nodes
D.10 nodes
AnswerC

5 nodes provide 50,000 QPS read and 50,000 QPS write, meeting both requirements.

Why this answer

Reads require 50,000/10,000 = 5 nodes. Writes require 20,000/10,000 = 2 nodes. The higher value is the bottleneck, so 5 nodes are needed.

955
MCQmedium

A company runs a critical application on Cloud SQL for PostgreSQL. The database engineer needs to ensure that if the primary instance fails, a standby instance in a different region can take over with minimal data loss. Which configuration should the Database Engineer implement?

A.Set up a second Cloud SQL instance and configure application-level dual-writes to both instances.
B.Configure high availability (HA) within the same region using a regional persistent disk.
C.Create a cross-region replica with asynchronous replication and manually promote it during a disaster.
D.Create a cross-region replica with synchronous replication and enable automatic failover.
AnswerC

Cross-region replica with async replication is the standard DR configuration; manual promotion gives control.

Why this answer

Cloud SQL for PostgreSQL supports cross-region replicas with asynchronous replication, which allows a standby instance in a different region to be promoted manually during a disaster. This minimizes data loss by replicating changes asynchronously, though some transactions may be lost if the primary fails before replication completes. Automatic failover is not supported for cross-region replicas in Cloud SQL, so manual promotion is required.

Exam trap

Google Cloud often tests the misconception that synchronous replication and automatic failover are available for cross-region replicas, but Cloud SQL only supports asynchronous replication for cross-region replicas and requires manual promotion.

How to eliminate wrong answers

Option A is wrong because application-level dual-writes introduce complexity, potential inconsistency, and do not leverage Cloud SQL's built-in replication, making it error-prone and not a standard disaster recovery solution. Option B is wrong because high availability (HA) within the same region using a regional persistent disk only protects against zonal failures, not regional disasters, and does not provide cross-region failover. Option D is wrong because Cloud SQL for PostgreSQL does not support synchronous replication for cross-region replicas, and automatic failover is not available for cross-region replicas; synchronous replication would also introduce unacceptable latency across regions.

956
MCQmedium

A company has a Google Cloud organization with separate folders for development, staging, and production. They want to deploy Terraform using a CI/CD pipeline that runs in a shared tools project. Where should the Terraform state files be stored and how should the pipeline authenticate?

A.Store state in Cloud Firestore; use a service account key stored in Secret Manager.
B.Store state in a Cloud Storage bucket in each environment project; use user credentials passed as secrets.
C.Store state in a central Cloud Storage bucket in the tools project; use a service account in the tools project with Workload Identity Federation to access the bucket and assume roles in environment projects.
D.Store state locally in the CI/CD runner; use Application Default Credentials from the runner's environment.
AnswerC

This is the recommended approach: central state bucket, and use a service account with Workload Identity Federation for secure, keyless authentication.

Why this answer

Terraform state should be stored in a GCS bucket with versioning enabled. The pipeline should use a service account from the tools project with Workload Identity Federation to access the bucket. This avoids long-lived keys and follows security best practices.

957
MCQmedium

A company has a Cloud SQL for MySQL instance with a cross-region read replica for disaster recovery. During a regional outage, they need to promote the read replica to a standalone instance as quickly as possible. What is the correct procedure?

A.Create a backup of the replica and restore it as a new instance
B.Delete the read replica and restore a backup from the primary as a new instance
C.Use the gcloud sql instances promote-replica command on the replica
D.Stop replication on the replica by issuing STOP SLAVE on the instance
AnswerC

Correct. The promote-replica command promotes the replica to a standalone instance.

Why this answer

Promoting a read replica makes it a standalone instance. It can be done via the Cloud Console or gcloud command. The promotion is immediate, but the original primary may still be active if not stopped.

958
Multi-Selectmedium

Which TWO schema design practices help reduce write contention in Cloud Spanner?

Select 2 answers
A.Use a hash prefix in the primary key to distribute writes across splits.
B.Use a timestamp prefix in the primary key to sort by time.
C.Use interleaved tables to keep related rows together.
D.Design the schema so that hot rows are split into multiple rows with different keys.
E.Decrease the number of splits by using a less granular primary key.
AnswersA, D

Hashing prevents sequential writes from hitting the same split.

Why this answer

Using a hash prefix in the primary key distributes write operations uniformly across multiple splits (tablets). Cloud Spanner splits data based on key ranges; without a hash prefix, sequential writes (e.g., monotonically increasing keys) concentrate on a single split, causing hot spots and write contention. A hash prefix ensures that each new row lands on a different split, balancing the write load.

Exam trap

Candidates often assume that using a timestamp prefix (Option B) is beneficial for time-series queries, but in Cloud Spanner, monotonically increasing keys cause all writes to hit a single split, creating a hot spot. Instead, hash prefixes (Option A) distribute writes evenly. Another misconception is that interleaved tables (Option C) reduce write contention; they actually improve read performance but do not address write hot spots.

Also, decreasing splits (Option E) reduces parallelism, worsening contention.

959
MCQhard

A Bigtable instance stores time-series data with row keys formatted as `#deviceID#timestamp`. The application often queries recent data for a specific device. Monitoring shows high read latency when scanning multiple devices. The row key design is causing hotspotting. What is the best redesign?

A.Use separate tables per device.
B.Use a hash prefix before deviceID.
C.Store timestamps in column qualifiers.
D.Prefix the row key with the deviceID and reverse the timestamp.
AnswerB

Hashing distributes rows evenly across the keyspace, alleviating hotspotting while preserving locality for device queries.

Why this answer

Prepending a hash prefix (e.g., a cryptographic hash of the deviceID) to the row key distributes writes and reads evenly across Bigtable tablets, eliminating hotspotting caused by sequential deviceID-based keys. This ensures that queries for recent data (which would otherwise concentrate on a single tablet) are spread across multiple nodes, reducing read latency.

Exam trap

Google Cloud often tests the misconception that reversing the timestamp (option D) solves hotspotting, but candidates fail to realize that the leading key component (deviceID) is still sequential, so all recent data for a device remains on the same tablet, and only a hash prefix (option B) truly distributes the load.

How to eliminate wrong answers

Option A is wrong because using separate tables per device does not solve hotspotting; it merely shifts the problem to table-level contention and increases operational overhead, as Bigtable is optimized for a single wide table, not many small tables. Option C is wrong because storing timestamps in column qualifiers does not address row key hotspotting; it only changes the schema structure without distributing the load, and queries still scan the same hot row key range. Option D is wrong because prefixing with deviceID and reversing the timestamp still results in sequential deviceID-based keys, which cause hotspotting; reversing the timestamp only helps if the deviceID is already distributed, but here the deviceID is the leading component, so all recent data for a device still falls on the same tablet.

960
MCQmedium

A DevOps engineer needs to deploy the same application to multiple GKE clusters across environments (dev, staging, prod) with environment-specific configurations. They want to use a single source of truth for Kubernetes manifests. Which approach is most suitable?

A.Use Helm charts with separate values files per environment
B.Use kubectl apply with different manifest files for each environment
C.Use Config Connector to manage GKE clusters
D.Use Kustomize with overlays for each environment
AnswerD

Kustomize overlays inherit base and override specifics, ideal for environment-specific configs.

Why this answer

Kustomize is the most suitable approach because it allows you to maintain a single base set of Kubernetes manifests and apply environment-specific overlays (dev, staging, prod) without templating. This aligns with the requirement for a single source of truth while enabling environment-specific configurations through patches and transformers, all managed natively by kubectl.

Exam trap

The trap here is that candidates often confuse Helm's templating with a single source of truth, but the question explicitly requires a single source of truth for Kubernetes manifests, not templates, making Kustomize's overlay approach the correct choice.

How to eliminate wrong answers

Option A is wrong because Helm charts introduce a templating language that can lead to complexity and drift from raw Kubernetes manifests, and separate values files still require managing a template engine, which is not a single source of truth for the manifests themselves. Option B is wrong because using different manifest files for each environment violates the single source of truth principle, leading to duplication and potential drift between environments. Option C is wrong because Config Connector is designed for managing Google Cloud resources (like GKE clusters) declaratively, not for deploying applications with environment-specific configurations to existing clusters.

961
MCQeasy

A developer wants to add a composite index in Firestore to support a query that filters on two fields: 'status' (equality) and 'createdAt' (range). How should the index be configured?

A.Create a composite index with fields 'status' (ascending) and 'createdAt' (ascending).
B.No index is needed; single-field indexes are automatically created.
C.Create a composite index with fields 'createdAt' (ascending) and 'status' (ascending).
D.Add an index exemption on the 'status' field to force index creation.
AnswerA

This composite index configuration supports equality on 'status' and range on 'createdAt'.

Why this answer

Firestore requires a composite index when a query combines an equality filter on one field with a range filter on another. The index must list the equality field first ('status') followed by the range field ('createdAt'), with ascending order for both to support the range query efficiently. This matches the Firestore index definition rules for composite indexes.

Exam trap

The PCDOE exam often tests the misconception that the order of fields in a composite index does not matter, but Firestore strictly requires the equality field to precede the range field to avoid a full collection scan.

How to eliminate wrong answers

Option B is wrong because single-field indexes are automatically created but cannot satisfy a query that filters on two different fields with different operators (equality and range); a composite index is mandatory. Option C is wrong because placing the range field ('createdAt') before the equality field ('status') would cause the query to fail or perform a full scan, as Firestore requires the equality field to be first in the composite index definition. Option D is wrong because an index exemption is used to exclude a field from automatic indexing, not to force index creation; it would actually prevent the needed index from being used.

962
Multi-Selecteasy

Which TWO of the following are best practices when designing data structures for business intelligence in BigQuery?

Select 2 answers
A.Partition tables on a column that aligns with common filter criteria
B.Store raw logs directly in fact tables without any aggregation
C.Use NULLable columns extensively to save storage
D.Use a single wide table for all data to simplify schema
E.Denormalize dimension attributes into fact tables to reduce joins
AnswersA, E

Partitioning limits scanned partitions.

Why this answer

Partitioning tables on a column that aligns with common filter criteria (e.g., a date or timestamp column) allows BigQuery to prune partitions during query execution, drastically reducing the amount of data scanned and improving query performance and cost efficiency. This is a core best practice for optimizing BI workloads in BigQuery.

Exam trap

Google Cloud often tests the misconception that denormalization is always bad, but in BigQuery for BI, denormalizing dimension attributes into fact tables is a recognized best practice to reduce JOIN overhead and improve query performance.

963
MCQhard

A slow query log entry shows the above for a Cloud SQL for MySQL instance. Which index would most improve performance?

A.Index on products(product_id)
B.Index on orders(order_date)
C.Composite index on orders(product_id, order_date)
D.Composite index on orders(order_date, product_id)
AnswerC

This index allows the join to quickly find matching product_ids and then apply the date range, reducing the number of rows examined.

Why this answer

The query likely filters or joins on product_id and then sorts or filters by order_date, so a composite index on orders(product_id, order_date) allows the database to satisfy both conditions with a single index scan, avoiding a filesort or extra lookups. In MySQL, a composite index with the most selective column first (product_id) followed by the range/order column (order_date) is optimal for queries that filter on product_id and then order or filter by order_date.

Exam trap

Google Cloud often tests the leftmost prefix rule and the importance of column order in composite indexes, trapping candidates who think any composite index covering both columns is equally effective regardless of column order.

How to eliminate wrong answers

Option A is wrong because indexing only product_id on the products table does not help with filtering or ordering on the orders table's order_date column, and the query likely involves the orders table. Option B is wrong because indexing only order_date on orders does not help with filtering on product_id, which is typically the more selective filter. Option D is wrong because a composite index on orders(order_date, product_id) would be less efficient if the query filters on product_id first, as MySQL cannot use the second column of the index when the first column is not used in a equality condition, leading to a full index scan or extra sorting.

964
MCQhard

A service has an SLO of 99.9% availability over 30 days. In the first 10 days, the service has already consumed 60% of the error budget. Which action best aligns with SRE principles?

A.Ignore the budget and continue deploying as usual
B.Extend the SLO window to 60 days to dilute the budget
C.Declare a change freeze and focus on improving reliability
D.Increase the SLO to 99.99% to tighten reliability
AnswerC

Slowing or freezing changes preserves error budget for remaining period.

Why this answer

With high error budget consumption early, the team should throttle new releases to avoid exhausting the budget. This is a typical SRE practice: if error budget is nearly depleted, slow down changes.

965
Multi-Selecteasy

You are designing a schema for Cloud Spanner and need to model a one-to-many relationship between Customers and Orders. Which THREE features or practices should you consider? (Choose three.)

Select 3 answers
A.Use a foreign key constraint to ensure referential integrity
B.Use a monotonically increasing integer as the primary key for Orders
C.Create a secondary index on Orders.customer_id to speed up queries
D.Use the STORING clause in indexes to include frequently queried columns
E.Use parent-child interleaving with Customers as parent and Orders as child
AnswersC, D, E

Secondary index on the foreign key column improves query performance.

Why this answer

Spanner supports parent-child interleaving for efficient joins, and secondary indexes with STORING clause for covering queries. Foreign keys are not enforced. Using monotonically increasing keys is discouraged.

966
MCQmedium

A company is using Cloud Run to deploy a service that processes background tasks. The service takes a few seconds to initialize, and users experience high latency on cold starts. How can the company eliminate cold starts for this service?

A.Set the minimum number of instances to a value based on the baseline traffic.
B.Set the maximum number of instances to a higher value.
C.Use the gen1 execution environment.
D.Set the concurrency to 1.
AnswerA

Min instances keep instances warm, eliminating cold starts for the configured number of instances.

Why this answer

Setting a minimum number of instances ensures that at least that many instances are always running and ready to serve requests, eliminating cold starts.

967
MCQeasy

An engineer is performing a manual migration from PostgreSQL to Cloud SQL. They run pg_dump and want to import the dump into Cloud SQL. Which pg_dump flags are necessary to avoid errors related to ownership and ACLs?

A.--no-owner and --no-acl
B.--format=custom and --compress=9
C.--schema-only and --data-only
D.--create and --clean
AnswerA

These flags omit ownership and ACL commands, which are not supported by Cloud SQL.

Why this answer

Cloud SQL does not allow setting ownership or ACLs; using --no-owner and --no-acl prevents errors during restore.

968
MCQhard

A company uses Cloud Memorystore for Redis as a cache for their web application. They want to ensure that cache data survives a failover event with minimal data loss. The current instance has a standard tier (with replication) and persistence disabled. What change should they make?

A.Switch to the basic tier without replication but with high memory.
B.Enable persistence (AOF) on the instance.
C.Increase the instance memory size to hold more data.
D.Add a read replica to the instance.
AnswerB

Persistence ensures data is written to disk and can be recovered after failover.

Why this answer

Enabling AOF (Append-Only File) persistence on a Cloud Memorystore for Redis standard tier instance ensures that write operations are durably logged to disk. In the event of a failover, the promoted replica can replay the AOF to recover the most recent writes, minimizing data loss beyond what the default in-memory replication provides.

Exam trap

The trap here is that candidates assume replication alone guarantees data durability, but replication only copies data in memory and does not protect against loss of uncommitted writes during a failover without disk-based persistence enabled.

How to eliminate wrong answers

Option A is wrong because switching to the basic tier removes replication entirely, which increases the risk of data loss during any failure and does not address persistence. Option C is wrong because increasing memory size only allows more data to be cached in RAM, but does not make that data durable across a failover event. Option D is wrong because adding a read replica does not enable persistence; replicas in standard tier already exist for high availability, but without AOF they still lose data on failover if persistence is disabled.

969
MCQeasy

Refer to the exhibit. You are analyzing a slow query in Cloud SQL for PostgreSQL. The execution plan shows a sequential scan. Which index should you create to most effectively improve query performance?

A.CREATE INDEX idx_orders_partial ON orders(created_at) WHERE user_id = 123;
B.CREATE INDEX idx_orders_created_at ON orders(created_at);
C.CREATE INDEX idx_orders_created_user ON orders(created_at, user_id);
D.CREATE INDEX idx_orders_user_created ON orders(user_id, created_at);
AnswerD

Allows index seek on user_id then range scan on created_at.

Why this answer

The query likely filters on `user_id` and then sorts or filters by `created_at`. A composite index on `(user_id, created_at)` allows PostgreSQL to first narrow down by `user_id` using index seek, then efficiently access rows in `created_at` order, avoiding a sequential scan. This matches the most common pattern for slow queries involving equality on `user_id` and range or ordering on `created_at`.

Exam trap

Google Cloud often tests the misconception that any composite index with the right columns will work, but the column order matters critically — candidates pick `(created_at, user_id)` thinking it covers both, not realizing the leading column must match the equality filter for optimal performance.

How to eliminate wrong answers

Option A is wrong because a partial index with a hardcoded `user_id = 123` only benefits queries for that specific user, not the general slow query; it also ignores the `created_at` column needed for ordering or filtering. Option B is wrong because an index on `created_at` alone does not help if the query filters on `user_id` first — PostgreSQL may still perform a sequential scan or need to filter many rows. Option C is wrong because the column order `(created_at, user_id)` is suboptimal: if the query filters on `user_id` (equality) and then orders by `created_at`, the leading column should be `user_id` to allow index seek; leading with `created_at` forces a full index scan or inefficient filtering.

970
Multi-Selectmedium

An organization is using Memorystore for Redis and needs to ensure that when memory usage reaches the maximum, the cache evicts keys based on the least recently used (LRU) algorithm among keys with an expiry set. They also want to require password authentication for client connections. Which two configurations should be applied? (Choose TWO.)

Select 2 answers
A.Configure the AUTH password in the Memorystore instance
B.Set maxmemory-policy to 'allkeys-lru'
C.Enable TLS for encryption
D.Set maxmemory-policy to 'volatile-lru'
E.Enable persistence with AOF
AnswersA, D

AUTH password is set in Memorystore to require authentication.

Why this answer

The eviction policy 'volatile-lru' evicts keys with an expiry set using LRU. AUTH is configured by setting a password via the Redis AUTH command or in the Memorystore instance settings.

971
MCQeasy

A team executed the above DDL to create interleaved tables in Cloud Spanner. They need to query all orders for a specific customer. Which query will be most efficient?

A.SELECT * FROM Orders WHERE CustomerId = 1234 AND OrderDate = '2023-01-01';
B.SELECT * FROM Customers JOIN Orders ON Customers.CustomerId = Orders.CustomerId WHERE Customers.CustomerId = 1234;
C.SELECT * FROM Orders WHERE CustomerId = 1234;
D.SELECT * FROM Orders WHERE OrderId = 5678;
AnswerC

Interleaving colocates all orders for a customer, making this query very efficient.

Why this answer

In Cloud Spanner, interleaved tables store child rows physically adjacent to their parent row within the same split. Querying Orders directly on the interleaved key (CustomerId) allows Spanner to perform a local index scan within the parent row's split, avoiding a distributed cross-table join. This leverages the interleaved table's physical clustering for the most efficient retrieval.

Exam trap

Google Cloud often tests the misconception that an explicit JOIN is required for interleaved tables, but the correct approach is to query the child table directly using the parent key, as the interleaved structure already enforces the relationship without a join.

How to eliminate wrong answers

Option A is wrong because adding an extra filter on OrderDate does not improve efficiency; it may force a full scan of the Orders table if no secondary index exists on (CustomerId, OrderDate), and the query still benefits from the interleaved structure but the additional predicate is unnecessary and could mislead the optimizer. Option B is wrong because it performs an explicit JOIN between Customers and Orders, which in Spanner requires a distributed cross-table lookup even though the tables are interleaved; the join is redundant since the interleaved key already provides the parent-child relationship, and it adds network overhead. Option D is wrong because filtering by OrderId alone does not use the interleaved key (CustomerId), so Spanner must scan the entire Orders table or rely on a secondary index, which is less efficient than a direct interleaved key lookup.

972
MCQeasy

You want to continuously profile the CPU usage of a production application running on Compute Engine to identify performance bottlenecks. Which Google Cloud service should you use?

A.Cloud Trace
B.Cloud Monitoring
C.Cloud Profiler
D.Error Reporting
AnswerC

Cloud Profiler is designed for continuous profiling of CPU, heap, threads, and contention.

Why this answer

Cloud Profiler provides continuous, low-overhead profiling for CPU, heap, threads, and contention. It uses statistical sampling and presents results in flame graphs. Cloud Trace is for distributed tracing, not profiling.

973
Multi-Selectmedium

You are troubleshooting a slow-performing query on Cloud Spanner. The query scans a large table with a secondary index. Which TWO metrics from the Query Insights dashboard would most directly indicate the source of the performance issue?

Select 2 answers
A.CPU time
B.Rows scanned
C.Storage utilization
D.Commit latency
E.Lock wait time
AnswersA, B

High CPU time indicates the query is computationally expensive.

Why this answer

CPU time (A) is correct because high CPU usage indicates that the query is performing expensive operations like sorting, joining, or complex filtering, which can slow performance even if the index is used. Rows scanned (B) is correct because scanning a large number of rows, even with a secondary index, suggests the index is not selective enough or the query is retrieving many rows, leading to excessive I/O and latency. Both metrics directly point to query execution inefficiency.

Exam trap

Google Cloud often tests the distinction between metrics that indicate query execution inefficiency (CPU time, rows scanned) versus metrics related to storage or write contention, leading candidates to mistakenly select storage utilization or lock wait time for a read-only query performance issue.

974
MCQhard

A Cloud Spanner database has a table with a primary key and a secondary index. The application frequently queries using a filter on the secondary index column and orders by the primary key. The queries are slow. What should the database administrator do to improve query performance?

A.Increase the number of nodes to improve query throughput
B.Create an interleaved table that mirrors the data
C.Create a covering index using CREATE INDEX with the STORING clause to include the required columns
D.Use ALTER TABLE to add a new index on the filter column
AnswerC

A covering index includes all columns needed for the query, allowing Spanner to avoid accessing the base table, which can improve performance.

Why this answer

Cloud Spanner can use a secondary index to filter on a column, but when ordering by the primary key, Spanner often must fetch rows from the base table and then sort them, which is slow. Creating a covering index with the STORING clause includes all columns needed by the query (the filter column and the primary key, as well as any other selected columns). This allows Spanner to satisfy the query entirely from the index, avoiding both the table lookup and the sort, because the index already stores the primary key in order.

Option C is the correct syntax: `CREATE INDEX ... ON table (filter_column) STORING (other_columns)`.

975
MCQeasy

A company is using Cloud Deploy to manage releases to GKE. They want to implement a deployment strategy where the new version is rolled out to a small subset of pods and traffic is gradually shifted based on prometheus metrics. Which deployment strategy should they configure in the delivery pipeline?

A.Blue/green strategy
B.Canary strategy
C.Rolling update strategy
D.Standard strategy
AnswerB

Canary strategy allows gradual traffic shifting and can use metrics for automated promotion.

Why this answer

B is correct because a canary strategy in Cloud Deploy allows you to gradually shift traffic to the new version based on Prometheus metrics, enabling fine-grained control and automated rollback if the metrics indicate degradation. This aligns with the requirement to roll out to a small subset of pods and shift traffic based on metrics.

Exam trap

The trap here is that candidates often confuse 'canary' with 'rolling update' because both involve incremental changes, but rolling updates in Google Cloud Deploy do not support metric-based traffic shifting or fine-grained percentage control, which is the key differentiator.

How to eliminate wrong answers

Option A is wrong because a blue/green strategy deploys the new version to a completely separate environment (green) and then switches all traffic at once, which does not support gradual traffic shifting based on Prometheus metrics. Option C is wrong because a rolling update strategy replaces pods incrementally but does not natively support traffic splitting based on external metrics like Prometheus; it relies on Kubernetes' default rolling update behavior. Option D is wrong because 'Standard strategy' is not a recognized deployment strategy in Cloud Deploy; the valid strategies are canary, blue/green, and rolling.

Page 12

Page 13 of 20

Page 14