Amazon DynamoDB
View on GitHubAmazon DynamoDB
Amazon DynamoDB is a fully managed, serverless NoSQL key-value and document database service. It provides a managed, regional datastore model for operational workloads and supports capacity modes and integration with event-driven AWS services. It typically stores application state, metadata, or user-facing records and sits behind API endpoints, application servers, or serverless functions.
🗂 Resource Category
Database
🧠 Exam Memory Hook
Think: "Low-latency key-value/document store + serverless scaling for API backends = Amazon DynamoDB"
📖 Ownership
Classification: AWS Managed Service
AWS responsibilities: AWS operates and maintains the underlying physical infrastructure, network fabric, storage layer, service control plane, and the DynamoDB managed runtime; AWS is responsible for patching, scaling of the managed service platform, regional multi-AZ storage replication, and service-level availability of the DynamoDB platform.
Customer responsibilities: The customer configures tables, capacity modes, access control (IAM), encryption settings, throughput and autoscaling settings, indexes, global tables, backup and restore or PITR if enabled, data model and query design, item-level permissions, monitoring, and application-level security and encryption keys where applicable.
Patching responsibilities: AWS patches the physical infrastructure and the DynamoDB managed service platform and runtime; there is no guest operating system or hypervisor for customers to patch for the service. The customer is responsible for patching and maintaining any application code, client libraries, dependencies, and any compute (for example EC2 instances or container hosts) they run that access DynamoDB.
🏗 Typical Architecture
💡 Top 5 Features
- Support for key-value and document data models with a flexible schema.
- Provisioned and on-demand capacity modes for managing request throughput.
- Global Tables for multi-region replication when configured.
- DynamoDB Streams for change data capture and integration with event-driven processing.
- Local and global secondary indexes to support alternate query patterns.
✅ Top 5 Use Cases
- API backend storage for user profiles and metadata requiring managed, low-latency access patterns.
- Session and state storage for web and mobile applications with predictable read/write access patterns.
- Leaderboards, counters, and other frequently-updated application state requiring atomic updates.
- Event-driven processing where Streams trigger AWS Lambda functions or downstream consumers.
- Catalog or configuration storage for microservices that require a schema-flexible datastore and fast lookups.
🏗 Architecture Placement
Amazon DynamoDB is a regional, serverless NoSQL datastore typically placed behind API endpoints, application servers, or AWS Lambda functions. Requests commonly arrive from Amazon API Gateway, EC2-hosted applications, or Lambda and DynamoDB Streams are used to propagate changes to downstream processors. It is monitored with Amazon CloudWatch and can be accessed through VPC endpoints when network isolation is required.
🎯 Commonly Used With
- AWS Lambda
- Amazon API Gateway
- Amazon VPC
- Amazon CloudWatch
- AWS Identity and Access Management
🌍 5 Real-World Examples
- Retail application that stores shopping cart and product metadata in DynamoDB to provide fast item-level reads during checkout.
- Gaming platform that keeps player profiles and leaderboard state in DynamoDB to support frequent updates and quick lookups.
- Ad-tech system that stores campaign and bidder state in DynamoDB to make real-time decisions during auctions.
- Healthcare application that caches user session metadata and routing decisions to reduce backend lookups for clinical workflows.
- Logistics service that maintains device or asset registry entries in DynamoDB for quick lookup by tracking and routing services.
🎓 AWS Exam Clues
- Select when a managed NoSQL key-value or document store with serverless scaling is required for operational workloads.
- Consider Global Tables when application requires active-active multi-region replication and conflict resolution is needed.
- Choose provisioned capacity for predictable throughput and on-demand capacity for unpredictable, spiky traffic patterns.
- Use DynamoDB Streams when you need change-data capture to trigger downstream processing (for example with Lambda).
- Design partition keys and access patterns to avoid hot partitions and to optimise read/write distribution.
📝 Quick Revision
Amazon DynamoDB is a fully managed, serverless NoSQL key-value and document database for low-latency operational workloads. Use it for API backends, session/state stores, and event-driven architectures, while designing partition keys, choosing capacity mode, and planning indexes and streams. Monitor with CloudWatch and manage access with IAM.
🏷 Keywords
NoSQL • key-value • document • DynamoDB Streams • Global Tables • Provisioned capacity • On-demand capacity • DAX • Secondary index • Partition key • Sort key • Point-in-time recovery