DOP-C02 Resilient Cloud Solutions Practice Question
A company uses DynamoDB global tables for a multi-region application. They notice that write conflicts are occurring. Which TWO strategies can reduce write 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
✓
Use conditional writes in the application code
Conditional writes prevent overwriting data unless a specified condition is met, thereby reducing write conflicts by ensuring that updates are only applied when the data is in a known state. Application-level conflict resolution allows the application to handle conflicts when they occur, using custom logic to merge or resolve differences, which reduces the impact of conflicts on the database. Option D (increasing write capacity) does not reduce conflicts; it only increases throughput capacity. Option A (reducing read capacity) is unrelated to write conflicts. Option B (DynamoDB Streams with last writer wins) is the default behavior and does not reduce conflicts; it may cause data loss.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Reduce read capacity units to limit concurrent reads
Why it's wrong here
Reducing read capacity units controls only read throughput; it has no effect on write conflicts. Global tables replicate writes asynchronously, and concurrent updates to the same item in different regions are prevented only by write-time checks or reconciliation logic. Read throttling would merely limit how often clients can fetch data, not how their updates interact, so it leaves the original conflict problem untouched.
- ✗
Enable DynamoDB Streams with last writer wins
Why it's wrong here
DynamoDB Streams capture a time-ordered sequence of item changes, but merely enabling them does not change the default last-writer-wins (LWW) conflict resolution used by global tables. In LWW, the write with the latest timestamp silently overwrites the other, regardless of application semantics, which can lose meaningful updates. Streams can trigger processes to detect conflicts after the fact, yet they are not a resolution mechanism themselves—you must still decide how to reconcile conflicting values.
- ✓
Use conditional writes in the application code
Why this is correct
Conditional writes enable optimistic concurrency by allowing the application to assert a precondition—such as an item version or updated timestamp—before the write commits. If the condition evaluates to false because another concurrent write modified the item, DynamoDB rejects the request without overwriting, forcing the application to re-read and retry. This prevents silent data loss from last-writer-wins and is the appropriate DynamoDB-native way to enforce a safe update workflow in a multi-region setup.
- ✗
Increase write capacity units on the table
Why it's wrong here
Increasing write capacity units grants more provisioned write throughput, but conflicts are not a capacity issue—they arise from business logic colliding on the same item. Higher WCU may even exacerbate the problem by allowing more concurrent writers to attempt updates simultaneously. The table can absorb more writes, yet every conflicting write still faces the same overwrite risk unless conditional expressions or reconciliation logic are used.
- ✓
Implement application-level conflict resolution
Why this is correct
Application-level conflict resolution moves reconciliation outside DynamoDB: the application detects when replicas contain conflicting versions and applies business rules such as merging fields, keeping the latest meaningful change, or prompting the user. Because global tables use a best-effort last-writer-wins mechanism that can be semantically wrong, many multi-region applications implement version vectors or timestamps to resolve conflicts deliberately. This approach is often paired with conditional writes to ensure that the chosen resolution is written only when the underlying state hasn't changed.
Visual reference
Go deeper
Related to this question
About these practice questions
This DOP-C02 question is part of Courseiva's 1,298-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DOP-C02 practice question is part of Courseiva's free Amazon Web Services 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 DOP-C02 exam.