As Amazon runs an e-commerce platform for millions of concurrent users, the underlying services powering the platform must be highly reliable and scalable. Failures in infrastructure would have significant financial consequences and would degrade consumer trust in Amazon's platform. Thus, the motivating purpose behind DynamoDB was a data-store used by these services that could keep up in both availability and scalability such that failure handling would not affect the availability of the platform.
Due to Amazon's problem space, many of these services only needed primary-key access to a data store. Some examples of this include shopping carts, customer preferences, and product catalog. Therefore, a simple NoSQL (primary-key) interface was chosen.
With all of these constraints in mind, DynamoDB combined various techniques together to create a highly available yet performant system.
http://aws.amazon.com/dynamodb/
https://aws.amazon.com/documentation/dynamodb/
Amazon
2012
C++, Go, JavaScript, PHP, Python, Ruby, Swift