Using DynamoDB to build WebAppsAmazon DynamoDB under the hood2 min

Amazon DynamoDB under the hood

In this section, you will delve into the inner workings of DynamoDB. Two Principal Engineers, Somu Perianayagam and Akshat Vig, provide insights into how DynamoDB functions.

The video begins by discussing the history of DynamoDB and highlights the distinctions between Dynamo and DynamoDB. It then delves into the architecture that powers DynamoDB and explains why this database is exceptionally fast. The video concludes by covering several essential features of DynamoDB, such as indexes, streams, backup and restore functionality, and transactions.

For a comprehensive understanding of DynamoDB's architecture and performance, you can refer to the following resources:

DynamoDB is a NoSQL database created by Amazon for their website, amazon.com. It was developed because the existing database systems couldn't handle the load required for the site's cart system. DynamoDB became popular within Amazon due to its scalability and predictable performance. However, teams using Dynamo had to manage their own infrastructure, which was a drawback. In 2012, DynamoDB was launched as a fully managed service, providing the flexibility of NoSQL with the convenience of not having to worry about servers. It gained popularity and became the default standard for key-value stores internally at Amazon. Dynamo and DynamoDB have some differences, such as Dynamo being single-tenant and requiring more configuration, while DynamoDB is multi-tenant and offers simplified APIs. The architecture of DynamoDB involves request routing, authentication, metadata lookup, and replication of data across multiple availability zones.

DynamoDB is a highly scalable database service that uses partitions to handle reads and writes. Each partition can handle a certain amount of reads and writes per second. The number of partitions needed depends on the requested throughput. In the past, admission control was done at the partition level, assuming uniform distribution of traffic. However, real-world workloads are often non-uniform, leading to hot partitions and throttling. To address this, admission control was moved to the table level, and smart placement algorithms were introduced to efficiently distribute partitions. DynamoDB Streams allows customers to consume changes in their tables in real-time, enabling features like event-driven programming, backup, and restore.


Created by:

Marcia Villalba
Marcia VillalbaMarcia hosts the FooBar Serverless YouTube channel where she publishes content every week related to serverless and the cloud. She has been designing and developing software professionally for 15 years and worked in all the different stages of building scaling and performant software.