Courseiva
Manage implementation of cloud architecturehardMultiple ChoiceObjective-mapped

Google PCA Manage implementation of cloud architecture Practice Question

A global e-commerce platform uses Spanner for its transactional database. They observe that some transactions are aborted with 'ABORTED' status due to contention. The application retries immediately, but throughput degrades. What design change should they implement to reduce contention?

⚠ Common exam trap

Watch out — candidates often confuse horizontal scaling (adding nodes) with solving lock contention, but Spanner's contention is a concurrency control issue, not a capacity issue, so scaling out does not reduce row-level lock conflicts.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Redesign the schema to use a separate table for frequently updated rows and batch updates using a single transaction

Spanner contention arises when multiple transactions try to update the same row concurrently, causing aborts. By redesigning the schema to use a separate table for frequently updated rows and batching updates into a single transaction, you reduce the number of overlapping locks on hot rows. This minimizes lock conflicts and aborts, improving throughput without changing Spanner's underlying TrueTime-based concurrency control.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Redesign the schema to use a separate table for frequently updated rows and batch updates using a single transaction

    Why this is correct

    Isolating hot rows reduces lock conflicts; batching updates into a single transaction reduces lock hold time.

  • Increase the number of nodes in the Spanner instance

    Why it's wrong here

    Adding nodes increases throughput but doesn't reduce contention; contention is a locking issue.

  • Use client-side retry with exponential backoff and jitter

    Why it's wrong here

    Retry helps but doesn't address root cause; contention remains.

  • Change the transaction isolation level to READ UNCOMMITTED

    Why it's wrong here

    Spanner does not support READ UNCOMMITTED; it uses strong serializable isolation.

About these practice questions

One of 955 original PCA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This PCA practice question is part of Courseiva's free Google Cloud certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PCA exam.