TalksAWS re:Invent 2025 - An insider’s look into architecture choices for Amazon DynamoDB (DAT436)

AWS re:Invent 2025 - An insider’s look into architecture choices for Amazon DynamoDB (DAT436)

Summary of AWS re:Invent 2025 Presentation: "An insider's look into architecture choices for Amazon DynamoDB"

Key Tenets of DynamoDB Design

  • The DynamoDB team has four key tenets that guide their decision-making:
    1. Security: Security is non-negotiable and will never be traded off for other features.
    2. Durability: Ensuring data durability is a top priority.
    3. Availability: Maintaining high availability is critical.
    4. Predictable Low Latency: Providing predictable, single-digit millisecond latency at any scale is a core requirement.

Scaling Challenges in Distributed Systems

  • Scaling a distributed database like DynamoDB comes with significant challenges:
    • Handling state and coordination in a distributed system is complex.
    • Dealing with failures, network partitions, and "split brain" scenarios requires careful design.
    • Maintaining consistency, availability, and partition tolerance (the CAP theorem) is a constant trade-off.

DynamoDB's Architectural Approach

  • DynamoDB uses a distributed architecture with the following key components:
    1. Storage Node Fleet: Thousands of storage nodes organized into groups of three replicas, spread across multiple availability zones.
    2. Request Router Fleet: A fleet of request routers that handle authentication, authorization, and metadata lookups to route requests to the appropriate storage nodes.
    3. Metadata System: A system that tracks the location of data partitions and the membership of the storage node groups.

Request Routing and Latency Optimization

  • To optimize latency, DynamoDB uses a multi-tiered caching approach:
    1. Request routers cache user identity and table metadata.
    2. A separate metadata cache (MDS) stores partition location information.
    3. Requests first check the caches, and if there's a miss, they make parallel requests to the MDS to hedge against latency.
  • DynamoDB also uses DNS-based load balancing to route requests to the nearest available storage nodes within the same availability zone, reducing network latency.

Handling Failures and Availability Zones

  • DynamoDB stripes data replicas across multiple availability zones to ensure high availability and durability.
  • If an entire availability zone fails, DynamoDB can transparently route traffic to the remaining healthy zones, though this may result in higher latency.
  • To maintain predictable latency, DynamoDB limits the maximum traffic that can be routed to a single availability zone, even in the event of a failure.

Partition Management and Limits

  • DynamoDB partitions tables and distributes data across storage nodes to enable horizontal scaling.
  • The team has introduced features like "Partition Table Warm Throughput" to help customers understand and plan for their table's capacity needs.
  • DynamoDB also has various limits, such as transaction size, item size, and global secondary indexes, to ensure predictable low latency and efficient resource utilization.

Key Takeaways

  • DynamoDB's design is guided by four core tenets: security, durability, availability, and predictable low latency.
  • Scaling a distributed database like DynamoDB requires carefully managing state, coordination, and failures, with trade-offs between consistency, availability, and partition tolerance.
  • DynamoDB uses a multi-tiered caching approach, DNS-based load balancing, and partition management techniques to optimize for low latency and high availability.
  • Understanding DynamoDB's architectural choices and the reasons behind them can help customers build more effective applications on the service.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.