Single Table Design

Objective is to minimize the number of queries to the database. Best if you could get all the required data with a single query

Technically you may use multiple tables for your appication. BUT to take advantage of DynamoDB scale and performance it is highly recommended that you use Single Table model for your application.

What is Single Table Design

Best way to explain Single Table Design is by startin with *What is Multi-table Design?". In this illustration, you see a data model in which each entity is managed in it’s own table. Though technically, it is feasible to do it - its NOT recommended for DynamoDB !!

single-table-design

In a Single Table design approach. All entities are managed in a single table. Idea is to keep the data in pre-joined format to achieve GREAT performance as join is not carried out at runtime, rather the data is stored in pre-joined manner.

single-table-design

Why NOT to use Multiple Table Design?

why-std