Amazon DynamoDB is a fully managed, serverless NoSQL database that delivers single-digit millisecond performance at any scale. This post covers DynamoDB's core concepts including tables, partition keys, sort keys, global and local secondary indexes, capacity modes, and global tables for multi-region deployments.
DynamoDB
- Fully managed, highly available with replication across multiple AZs
- NoSQL database - not a relational database - with transaction support
- Scales to massive workloads, distributed database
- Million of requests per seconds, trillions of row, 100s of TB of Storage
- Fast and consistent in performance (single-digit milisecond)
- Integrated with IAM for security, authorisation and administration
- Low cost and auto-scaling capabilities
- No maintenance or patching, always available
- Standard & Infrequent Access (IA) Table Class
DynamoDB -Basics
- DynamoDB is a mode of Tables
- Each table has a Primary Key (must be decided at creation time)
- Each table can have an infinite number of items(=rows)
- Each item has attributes(can be added over time- can be null)
- Maximum size of an item is 400KB
- Data types supported are:
- Scalar types - string, number, binary, boolean, null
- Documents Types - List, Map
- Set Types - String Set, Number Set, Binary Set
Read/Write Capacity Modes
- Control how you manage your table’s capacity (read/write throughput)
- Provisioned Mode (default)
- You specify the number of reads/writes per second
- You need to plan capacity beforehand
- Pay for provisioned Read Capacity Units(RCU) & Write Capacity Units(WCU)
- Possibility to add auto-scaling mode for RCU & WCU
- On-Demand Mode
- Read/writes automatically scale up/down with you workloads
- No Capacity planning needed
- Pay for what you use, more expensive ($$$)
- Great for unpredictable workloads, steep sudden spikes
Hands-on
Go Dynamo DB > Click Create table > Table name - DemoTable > partition key - user_id > choose customise setting > choose Provisioned > Read Capacity> Auto scaling - choose off > capacity units 10 > Write capacity Off and choose 1 units> create table
Frequently Asked Questions
What is Amazon DynamoDB?
Amazon DynamoDB is a fully managed, serverless NoSQL key-value and document database that provides consistent single-digit millisecond performance and automatic scaling for any scale of workload.
When should you use DynamoDB instead of RDS?
Choose DynamoDB when you need flexible schema design, massive scalability, serverless operation, or high-throughput low-latency access patterns — use RDS when you need complex SQL queries, joins, or strong ACID transactions across multiple tables.
What is a DynamoDB partition key?
A partition key is the primary identifier for a DynamoDB item that determines which partition the data is stored in; choosing a high-cardinality partition key ensures even data distribution and optimal performance.

