Lesson 14 / 28
DynamoDB at a Glance
Store key-value and document data at any scale with DynamoDB tables, partition and sort keys and on-demand capacity.
A serverless NoSQL database
DynamoDB is a fully managed NoSQL database with single-digit-millisecond reads and writes. You design a table around a partition key (and optional sort key) and query by those keys. Capacity can be on-demand (pay per request) or provisioned.
Put and query items
Design for your access patterns first: a query by partition key is fast, while a full table scan is slow and costly.
aws dynamodb put-item --table-name Orders \
--item '{"customerId":{"S":"c42"},"orderId":{"S":"o1001"},"total":{"N":"499"}}'
aws dynamodb query --table-name Orders \
--key-condition-expression "customerId = :c" \
--expression-attribute-values '{":c":{"S":"c42"}}'Choose a partition key with many distinct values so load spreads evenly. Use DynamoDB when access patterns are known; use RDS when you need flexible joins and ad hoc queries.
Quick check
Quick check: What does a DynamoDB query use to find items fast?
- The partition key (and sort key)
- A full table scan
- SQL joins
- The AMI id
Answer
The partition key (and sort key) — Queries by key are fast; scans read the whole table.