DynamoDB Internals

John Pradeep Vincent
11 min readJun 27, 2021

DynamoDB is a high performance key value database, designed to be highly available and always writable.

Most traditional databases favour consistency over availability (CAP theorem), some modern databases however provide eventual consistency in favour of availability.

If your organisation is running hundreds of services, you would need strong consistency for some services and high availability for some.

Maintaining completely different database systems for different needs will be expensive to maintain.

If most of the services you have only needs a simple “key”->”value” access to the data, it’s better to choose one database that can be used for different consistency/availability requirements.

DynamoDB was specially designed in a way that you could choose either consistency or availability by tuning certain parameters, this makes the database very flexible and allows large organisation to just use the same storage technology for different needs of the application.

Most of the ideas/techniques used in dynamodb is not new, they are very popular techniques (Merkle trees, Quarom consistency, Consistent hashing etc) used in other distributed/peer-to-peer systems.

The beauty of dynamodb is that it uses all these known techniques as basic building blocks and puts them…

--

--