Is DynamoDB schemaless?

Yes. DynamoDB is schemaless. Other than the primary key, you do not define any attributes or data types when you create a table. Each item can carry its own distinct set of attributes, and they can vary freely from one item to the next — so you adapt your data model without running schema migrations.

What you define up front

Only the primary key: a partition key (required) and an optional sort key, plus their types. Everything else is arbitrary. You do not declare columns.

What varies per item

Any two items in the same table can have completely different attributes. One item might hold email and status; another might hold orderTotal and a nested address map. DynamoDB stores whatever you write.

Why it helps

  • No migrations — add or drop attributes anytime.
  • Mixed entities — many entity types can share one table (single-table design).
  • Evolvable — the model changes as requirements do.

The trade-off: your application, not the database, enforces any shape you rely on.

Go deeper

See single-table design and the type attribute pattern for mixed items. Download DynoTable to inspect real item shapes.

Console 없이 DynamoDB 작업하기

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