DynamoDB FAQ

DynamoDB FAQ — Answers to Common Questions

The DynamoDB questions developers ask most — each with a clear, honest answer and where to go next.

DynamoDB characteristics & capabilities

Is DynamoDB a key-value store?
Yes, and a document store at the same time. Every item is addressed by its primary key, while attributes nest as maps and lists up to 32 levels deep.
Is DynamoDB a relational database?
No. DynamoDB is a NoSQL key-value and document database with no fixed schemas, foreign keys, or joins. You denormalize around access patterns instead.
Is DynamoDB ACID compliant?
Yes — DynamoDB supports ACID transactions via TransactWriteItems and TransactGetItems, grouping up to 100 actions into one all-or-nothing operation per Region.
Is DynamoDB encrypted?
Yes — all DynamoDB data is encrypted at rest by default with AWS KMS keys, and encryption cannot be turned off. Data in transit is protected with HTTPS/TLS.
Is DynamoDB eventually consistent?
By default yes — DynamoDB reads are eventually consistent. You can opt into strongly consistent reads on tables and LSIs; GSIs are always eventually consistent.
Is DynamoDB free?
Partly — DynamoDB has an always-free tier: 25 GB storage plus 25 write and 25 read capacity units per month. Usage beyond that is billed per request and per GB.
Is DynamoDB in-memory?
No — DynamoDB persists every write to durable storage across three Availability Zones. DAX adds an optional in-memory cache with microsecond reads.
Is DynamoDB a NoSQL database?
Yes. DynamoDB is a fully managed NoSQL key-value and document store. It holds schemaless items, scales horizontally, and its PartiQL parser rejects JOIN.
Is DynamoDB open source?
No — DynamoDB is a proprietary, fully managed AWS service. DynamoDB Local is a free emulator for development, but the production engine cannot be self-hosted.
Is DynamoDB schemaless?
Yes — DynamoDB is schemaless. Only the primary key is defined at table creation; every other attribute is optional and can vary freely from item to item.
Is DynamoDB serverless?
Yes — DynamoDB is a fully managed, serverless NoSQL database. There are no servers to provision or patch; capacity scales automatically and you pay per use.

What DynamoDB can store

DynamoDB integrations & access

DynamoDB operations & querying

Can DynamoDB auto scale?
Yes. DynamoDB auto scaling tracks a 20-90% target utilization on provisioned capacity, but below 28.9% average use on-demand mode costs less.
Can you run DynamoDB locally?
Yes — DynamoDB Local is a free downloadable version of DynamoDB that runs on your machine via Docker, a Java archive, or Maven, exposing the same API offline.
Does DynamoDB have backups?
Yes — on-demand backups for long-term snapshots and point-in-time recovery (PITR) for continuous backups restorable to any second in the last 35 days.
Does DynamoDB support full-text search?
No, not natively — DynamoDB has no relevance ranking, stemming, or fuzzy matching. The zero-ETL OpenSearch integration is the AWS-native answer.
Does DynamoDB support geospatial queries?
Not natively — DynamoDB has no geo data type or distance operators. Geospatial lookups are modeled with geohash/S2 cell keys queried by range.
Does DynamoDB support joins?
No. DynamoDB has no JOIN and PartiQL rejects a two-table SELECT outright, so you denormalize. The DynoTable SQL Workbench runs real joins client-side.
Does DynamoDB support SQL?
Partly. PartiQL covers SELECT, INSERT, UPDATE, and DELETE, but rejects JOIN, GROUP BY, and COUNT. The DynoTable SQL Workbench runs those over your tables.
Does DynamoDB support transactions?
Yes. DynamoDB transactions group up to 100 actions across tables into one all-or-nothing operation, at twice the capacity units of a normal write.
Does DynamoDB support TTL?
Yes — DynamoDB supports Time to Live. Set a Number attribute holding a Unix epoch expiry in seconds and DynamoDB deletes expired items automatically at no cost.
How fast is DynamoDB?
Fast — DynamoDB delivers consistent single-digit-millisecond latency at any scale. DAX, an in-memory cache, cuts eventually consistent reads to microseconds.
How many tables can you have in DynamoDB?
2,500 DynamoDB tables per Region by default, raisable to 10,000 on request. Tables have no size limit, but each provisioned one costs $0.57 a month idle.
How do you count items in DynamoDB?
Use Select: COUNT on a Query or Scan, then paginate with LastEvaluatedKey and sum Count. Counting costs the same read capacity as returning the items.

DynamoDB architecture & internals

More DynamoDB resources

Work with DynamoDB without the Console

A fast DynamoDB desktop client that runs the real SQL DynamoDB can’t — JOINs, GROUP BY, aggregates — with visual editing and an AI agent on your own Bedrock keys.

Free 30-day trial, no credit card — then the Free plan with no time limit.