Software Applications
Build internet-scale applications that support user-content metadata and caches requiring high concurrency and connections for millions of users and requests per second.
DynamoDB is a fully managed, serverless, NoSQL database that supports key-value and document data models with millisecond performance and automatic scaling.
DynamoDB is a fully managed, serverless, NoSQL database that delivers millisecond performance and can automatically scale tables to adjust for capacity. It has a flexible schema, allowing each item to have many different attributes, giving you the ability to adapt as business requirements change without redefining table schema.
Software Applications
Build internet-scale applications that support user-content metadata and caches requiring high concurrency and connections for millions of users and requests per second.
Media Metadata Stores
Scale throughput and concurrency for media and entertainment workloads such as real-time video streaming and interactive content with lower latency through multi-Region replication.
Gaming Platforms
Focus on innovation with no operational overhead. Build game platforms with player data, session history, and leaderboards for millions of concurrent users.
Secondary Indexes:
DynamoDB Streams:
Global Tables:
Security Features:
Data Protection:
Simple Primary Key:
Composite Primary Key:
Additional Attributes:
Example DynamoDB table structure for IoT sensor data from two devices:
Partition Key (Device ID) | Sort Key (Timestamp) | Temperature | Error Status |
---|---|---|---|
1 | 2023-11-20 15:42:00 | 41.9 | Low |
1 | 2023-11-20 15:42:30 | 42 | - |
1 | 2023-11-20 15:43:00 | 39 | Low |
2 | 2023-11-20 15:42:00 | 47 | Low |
2 | 2023-11-20 15:42:30 | 49 | High |
2 | 2023-11-20 15:43:00 | 46.9 | - |
This table can be queried to read attributes associated with a device, or entire table can be scanned to get all device readings. For queries based on attributes other than partition/sort keys without full table scan, use secondary indexes.
DynamoDB creates read-only copy of base table where you can pivot data around different partition and sort keys, providing alternate schema on your DynamoDB base table.
Example: Temperature-based Query
GSI Characteristics:
Uses same partition key as base table but alternate sort key, providing strongly consistent reads when needed.
Example: Error Status Query
LSI Characteristics:
Response might not reflect results of recently completed write operation. Default behavior with GSIs.
Returns response with most up-to-date data, reflecting updates from all previous successful write operations. Available with LSIs.
Global tables provide multi-region, multi-active database for fast local read and write performance for global applications.
Scenario: Large customer base across US west coast, South Europe, and north China requiring profile updates.
Solution: Create global table with three Region-specific CustomerProfiles tables. DynamoDB automatically replicates data changes among tables, enabling:
IAM Roles
Use IAM roles to authenticate access for users, applications, and other AWS services
IAM Policies
Use IAM policies for DynamoDB base authorization implementing least privilege principle
Fine-grained Access Control
Use IAM policy conditions for fine-grained access control down to specific items and attributes
VPC Endpoint
Use VPC endpoint and policies to access DynamoDB only from required VPC, preventing traffic traversal over open internet
AWS CloudTrail Integration:
AWS Config Integration:
DynamoDB encrypts all user data at rest stored in tables, indexes, streams, and backups using encryption keys stored in AWS KMS, providing additional layer of data protection by securing data from unauthorized access to underlying storage.