Due to the reality of the CAP Theorem, discussed in the ACID versus BASE section of this chapter, DynamoDB chooses availability and partition tolerance over consistency. The consistency of DynamoDB is still remarkable, as any changes to an item will be replicated to the backend within a second of the write occurring. But a second can be a fairly long time when we possibly have thousands or even tens of thousands of concurrent reads happening every second against our DynamoDB table.
This fact essentially means that a piece of data that we have just written might be inconsistently delivered to thousands of clients during the time it takes to replicate the new data across the cluster. We try to mitigate this fact by providing the ability to perform both eventually consistent and strongly consistent reads from our DynamoDB table. We are able to select either read...