Which AWS Services Give ACID Transactions for Item Trades?
Short answer
CD DynamoDB Transact* operations and Aurora MySQL transaction blocks both atomically update both users' records and roll back on any failure.
Question
Which AWS solutions can provide the transactional capability that is required for this feature? (Choose two.)
Key Takeaways
The question tests which data stores actually support atomic multi-record writes with rollback; the trap is confusing read-consistency settings (ConsistentRead) or query-service features with true transactional write capability.
A gaming platform that swaps items between two user records in a single rollback-capable unit needs a data store with real multi-item ACID transactions. Amazon DynamoDB TransactWriteItems/TransactGetItems and Aurora MySQL's native transaction blocks both satisfy this, which makes C and D the correct pair.
Common mistake: The most common wrong pick is option A — learners see a DynamoDB parameter and assume ConsistentRead gives transactionality, but ConsistentRead only controls whether a single read returns the most up-to-date copy; it never provides atomicity or rollback across multiple writes. Option B is also commonly chosen because Memcached is often described with 'caching transactions', yet ElastiCache for Memcached has no transaction block support at all.
Expert Analysis
Why the Answer Is Correct
Amazon DynamoDB supports ACID transactions through the TransactGetItems and TransactWriteItems APIs (the Transact* operations), which atomically commit or roll back up to 100 items across one or more tables, exactly the two-user record update pattern described. Amazon Aurora MySQL is a relational engine with full InnoDB ACID semantics, so wrapping both user-record updates in a BEGIN/COMMIT block with an automatic rollback on failure satisfies the same requirement. Both services therefore deliver the all-or-nothing persistence the feature demands, which is why C and D are correct.
Why the Other Options Are Wrong
Option A is wrong because ConsistentRead=true applies only to individual read operations (GetItem, Query, Scan) and guarantees latest-data visibility, not atomic multi-item writes or rollback. Option B is wrong because ElastiCache for Memcached has no transaction support whatsoever — it is a simple key-value cache with no multi-key atomic commit or durability. Option E is wrong because Amazon Athena is an interactive OLTP-style query service over S3 data; it has no transaction block API in the exam's model, and even its newer Iceberg table capabilities are not a substitute for an operational transactional store for a trading feature. (Note that community member PashoQ pointed out that "Athena supports transactions now with Iceberg tables as format," but that is a table-format commit model, not the per-request transactional API this scenario needs.)
Community Comment Notes
The community consensus matches this verdict: both 65703c1, who stated "CD is the correct answer," and seetpt, who said "CD is right," selected options C and D. KarBiswa added no letter but linked the official DynamoDB transaction APIs documentation, reinforcing that Transact* operations are the transactional mechanism in question. PashoQ's comment about Iceberg-based transactions in Athena is a fair caveat about evolving service capabilities, but it does not change the exam's intended answer set of C and D.
Official Reference
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis.html
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Transactions.html
These links open the official vendor documentation in a new tab.
Exam Strategy
When a question asks for atomic multi-record updates with rollback, look for an explicit transaction API: DynamoDB's Transact* operations or a relational engine's transaction block. Ignore options that only change read consistency or that describe cache/query services, which cannot commit a multi-key atomic unit.
Frequently Asked Questions
Why doesn't setting ConsistentRead=true in DynamoDB make option A transactional?
Doesn't ElastiCache support transactions since Redis has MULTI/EXEC?
Can't Athena be used for transactions if the tables use the Iceberg format?
Discussion 4 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 4
-
KarBiswa 👍 3https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis.html
-
65703c1 👍 2CD is the correct answer.
-
seetpt 👍 2CD is right
-
PashoQ 👍 1Athena supports transactions now with Iceberg tables as format. Hope this question whould be removed
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DVA-C02 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DVA-C02 Practice Test →