Is DynamoDB a relational database?

No. DynamoDB is not a relational database — it is a NoSQL key-value and document store. There are no tables with fixed schemas, no foreign keys, and no joins. You model data around your application's access patterns and denormalize, rather than normalizing across related tables as you would in a relational (SQL) database.

Why it is not relational

Relational databases enforce a schema, normalize data across many tables, and join them at read time. DynamoDB does the opposite: it stores schemaless items and expects you to pre-join by duplicating or embedding related data.

What replaces relational features

  • Joins → denormalization and single-table design.
  • Normalized tables → item collections grouped under one partition key.
  • Ad-hoc SQL → key-based Query and Scan, or PartiQL (a SQL-compatible subset, still no joins).

When relational is the better fit

If you need ad-hoc analytical queries, complex joins, or a schema enforced by the database, a relational engine remains the right tool.

Go deeper

Read how to model data in DynamoDB and single-table design. Download DynoTable to explore your data model visually.

Console 없이 DynamoDB 작업하기

DynoTable은 DynamoDB를 위한 빠른 데스크톱 클라이언트입니다 — 테이블을 탐색하고, SQL 스타일 쿼리를 실행하고, 항목을 로컬에서 편집하세요.