Key features: Single-digit ms at any scale, unlimited horizontal scaling, no capacity planning (on-demand), up to 20 GSIs / 5 LSIs, DynamoDB Streams (CDC), TTL, DAX (in-memory cache), transactions, deep service integrations (Lambda triggers, EventBridge Pipes, AppSync, Glue, Zero-ETL to Redshift/OpenSearch/Amazon S3), ExtendDB (open-source local dev and CI testing with DynamoDB API on PostgreSQL)
Limitations: Access patterns must be designed upfront (changing them later is expensive — often requires table redesign and data migration), no JOINs, ad-hoc queries possible but can be slow at scale, 400KB item limit, table-wide aggregations require Scan or external pipeline
Best for: Serverless and low-overhead apps wanting a fast, fully managed backend with no infrastructure to manage (to-do lists, messaging, session stores, shopping carts, IoT); and high-throughput workloads with well-defined key-based access patterns at massive scale
Not for: Workloads needing ad-hoc queries or runtime JOINs, normalized schemas queried flexibly, unclear or frequently changing access patterns, and heavy analytics/aggregations