Which AWS Services Give ACID Transactions for Item Trades?
A gaming website gives users the ability to trade game items with each other on the platform. The platform requires both users' records to be updated and persisted in one transaction. If any update fails, the transaction must roll back. Which AWS solutions can provide the transactional capability that is required for this feature? (Choose two.)
Community Insight
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.
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.
Community Discussion (4 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Amazon DynamoDB supports ACID transactions through the TransactGetItems and TransactWriteItems APIs (theTransact* 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 becauseConsistentRead=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
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?
ConsistentRead only controls read freshness for a single GetItem, Query, or Scan. It has no effect on writes, so it provides no atomicity or rollback across multiple user records.
Doesn't ElastiCache support transactions since Redis has MULTI/EXEC?
Option B specifies ElastiCache for Memcached, which has no transaction support at all. Even ElastiCache for Redis MULTI/EXEC is not a durable cross-record ACID store, so it is not a valid answer here.
Can't Athena be used for transactions if the tables use the Iceberg format?
Iceberg table commits do provide snapshot isolation on S3 data, but Athena remains an analytical query service with no operational transaction block API. For an OLTP trading feature, DynamoDB Transact* or Aurora MySQL transactions are the intended solutions.
Related Analysis
Practice All DVA-C02 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DVA-C02 Practice Test →