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.
Go deeper
Related to this question
Learn chapter
Introduction to Google Cloud Platform
Key term
Throughput
Throughput is the rate at which data is successfully transferred from one point to another over a network, typically measured in bits per second.
Key term
Row
A row is a horizontal record in a database table that contains all the information about a single entity, like one customer or one product.
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 →
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.