Serverless?

DynamoDB Service

DynamoDB is a JAVA application that is hosted on an EC2 with high speed SSD storage.

Under the covers DynamoDb is a Java application that runs on Ec2 and persists data on high speed storage devices (SSD) for optimum IO performance. These EC2 instances with DynamoDB application deployed to it are referred to as DynamoDB Nodes (or just nodes).

Since DynamoDB table is serverless, you as a user does not have direct access to these nodes. In every AWS region where DynamoDB is available there are 10s or even 100’s of thousands of such nodes.

DDB Nodes

A common concern application owners have is around the capacity availability.

“Will there be sufficient capacity to handle the load for my app when I will need it?”

The good news is that AWS engineers continuously monitor the available DynamoDB capacity and adjusts it to meet the demands in the region. In over a decade I have not heard of any capacity related concern.

Each node is divided into multiple logical units referred to as partitions.

  • A node is shared across multiple Tables owned by multiple users
  • A partion is dedicated to a table