AWS Certified Data Engineer Associate · Free Practice Question Medium
Question 21
The technology team at a Wall Street trading firm uses DynamoDB to facilitate high-frequency trading where multiple trades can try and update an item at the same time.
As a data engineer, which of the following actions would you recommend to make sure that only the last updated value of any item is used in the application?
-
A
Use ConsistentRead = true while doing GetItem operation for any item
-
B
Use ConsistentRead = false while doing PutItem operation for any item
-
C
Use ConsistentRead = true while doing PutItem operation for any item
-
D
Use ConsistentRead = true while doing UpdateItem operation for any item
Reveal correct answer
Correct answer: A
Explanation
Correct option:
Use ConsistentRead = true while doing GetItem operation for any item
DynamoDB supports eventually consistent and strongly consistent reads.
Eventually Consistent Reads
When you read data from a DynamoDB table, the response might not reflect the results of a recently completed write operation. The response might include some stale data. If you repeat your read request after a short time, the response should return the latest data.
Strongly Consistent Reads
When you request a strongly consistent read, DynamoDB returns a response with the most up-to-date data, reflecting the updates from all prior write operations that were successful.
DynamoDB uses eventually consistent reads by default. Read operations (such as GetItem, Query, and Scan) provide a ConsistentRead parameter. If you set this parameter to true, DynamoDB uses strongly consistent reads during the operation. As per the given use-case, to make sure that only the last updated value of any item is used in the application, you should use strongly consistent reads by setting ConsistentRead = true for GetItem operation.

Incorrect options:
Use ConsistentRead = true while doing UpdateItem operation for any item
Use ConsistentRead = true while doing PutItem operation for any item
Use ConsistentRead = false while doing PutItem operation for any item
As mentioned in the explanation above, strongly consistent reads apply only while using the read operations (such as GetItem, Query, and Scan). So these three options are incorrect.
Reference:
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html
Discussion
Think the marked answer is wrong, or have a better explanation? Share it below — comments appear after review.
