The short answer is that table design in a NoSQL database like DynamoDB is different than in a SQL database. DynamoDB is built to handle internet scale, which gives it some distinct advantages.
****What is internet scale?****
DynamoDB supports some of the largest scale applications in the world by providing consistent, single-digit millisecond response times at any scale. With DynamoDB, you can build applications with virtually unlimited throughput and storage.
To enable this extreme size and performance for your data, there is a trade-off: you have to partition your data. Your table is laid out in storage by the primary key that you query by. To query by additional factors, you can create Global Secondary Indexes and Local Secondary Indexes. You can learn more about these indexes and how to use them here: https://medium.com/@jun711.g/aws-dynamodb-global-and-local-secondary-indexes-comparison-80f4c587b1d7
To data model in DynamoDB, you can use a tool called NoSQL Workbench. This tool is available for download here: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/workbench.html
If you want to learn more about DynamoDB, there are some good workshops available here: https://amazon-dynamodb-labs.workshop.aws/ Answer from Ted Trentler on repost.aws
AWS
docs.aws.amazon.com › amazon dynamodb › developer guide › best practices for designing and architecting with dynamodb
Best practices for designing and architecting with DynamoDB - Amazon DynamoDB
1 month ago - Learn about best practices for designing and architecting with Amazon DynamoDB, a NoSQL database service. This page covers key differences between relational and NoSQL design, two key concepts for NoSQL design, and a general approach to NoSQL design. Receive specific guidance on partitions, ...
Reddit
reddit.com › r/aws › dynamodb single table deign: simple guide to modeling & querying on to many relationships. (using excel to plan out the queries)
r/aws on Reddit: DynamoDB Single Table Deign: Simple Guide To Modeling & Querying On To Many Relationships. (Using Excel to plan out the queries)
October 3, 2022 - I'd replace Excel by an AWS made tool called NoSQL Workbench ; it's dedicated to DynamoDB and allows you, among other things, to create "facets" (data access patterns) and add sample data so you can see the table either per facet or entirely. ... One of the things that I hear about single table design is that you need to understand all your access patterns up front.
When DynamoDB single-table design is the wrong choice (and what to use instead) Feb 20, 2026
r/aws 5mo ago
17:56
Designing a DynamoDB Table in 4 Steps: From Entities to Access ...
DynamoDB Data Modeling Best Practices - AWS
13:40
DynamoDB Single Table Design: Simplify Your Code and Boost ...
59:47
AWS re:Invent 2023 - Advanced data modeling with Amazon DynamoDB ...
39:29
[GT-2] イラストで学ぶAmazon DynamoDB ~テーブル設計...
GitHub
github.com › aws-samples › amazon-dynamodb-design-patterns
GitHub - aws-samples/amazon-dynamodb-design-patterns: This repo contains sample data models to demonstrate design patterns for Amazon DynamoDB. · GitHub
This repo contains sample data models and source code to demonstrate design patterns for Amazon DynamoDB.
Starred by 249 users
Forked by 46 users
DeBrie Advisory
alexdebrie.com › posts › dynamodb-single-table
The What, Why, and When of Single-Table Design with DynamoDB | DeBrie Advisory
February 5, 2020 - The main reason for using a single table in DynamoDB is to retrieve multiple, heterogenous item types using a single request. While reducing the number of requests for an access pattern is the main reason for using a single-table design with DynamoDB, there are some other benefits as well.
DEV Community
dev.to › urielbitton › advanced-single-table-design-patterns-with-dynamodb-4g26
Advanced Single Table Design Patterns With DynamoDB - DEV Community
January 7, 2025 - These concepts will easily level up your understanding of DynamoDB and allow you to build more performant and scalable databases than ever before. The single table design in key-value databases aims to solve the issue of querying multiple entities to fetch related data and to reduce your table costs to one table’s minimal cost.
AWS
docs.aws.amazon.com › amazon dynamodb › developer guide › best practices for designing and architecting with dynamodb › nosql design for dynamodb
NoSQL design for DynamoDB - Amazon DynamoDB
Review the key differences and design principles for NoSQL database systems like DynamoDB
Medium
medium.com › @nabtechblog › advanced-design-patterns-for-amazon-dynamodb-c31d65d2e3de
Advanced Design Patterns for Amazon DynamoDB | by National Australia Bank | Medium
February 14, 2019 - SQL databases were designed when storage was expensive, and now that storage is cheap and compute is expensive, NoSQL is a better fit for systems optimized for maximum possible performance. OLTP = Online Transaction Processing (usage patterns known in advance) OLAP = Online Analytical Processing (ad-hoc unpredictable queries) DynamoDB is recommended for the following example use cases:
Reddit
reddit.com › r/aws › single table design for dynamodb: the reality
r/aws on Reddit: Single table design for DynamoDB: The reality
December 13, 2023 - Making a "single table" the primary design goal is bad - I don't think it takes any concrete numbers to see that. But if you want to learn more about the importance of item size, data types, the way that various request types are metered (with some numbers included), I would recommend the following videos. Seemingly small differences can manifest in surprisingly meaningful ways - there is a lot of nuance in DynamoDB data modeling.
AWS
docs.aws.amazon.com › amazon dynamodb › developer guide › data modeling for dynamodb tables › data modeling schema design packages in dynamodb
Data modeling schema design packages in DynamoDB - Amazon DynamoDB
Learn about the different schema packages, their business use case, design, and access patterns that you can use in DynamoDB.
Jeff Everhart
jeffreyeverhart.com › home › lessons learned designing dynamodb tables and queries
Lessons Learned Designing DynamoDB Tables and Queries - Jeff Everhart Jeff Everhart
September 9, 2023 - First we’ll take a look at the query operation of the DynamoDB client, which uses primary key attribute to perform an efficient lookup when we have the primary key of our record already. The benefit of using a query operation as opposed to a scan is that we only consume read capacity for the records that are returned from our query, not the total size of the table. This being said, it’s ideal for you to design you DynamoDB tables in a way that takes advantage of this feature of the query operation.
ScyllaDB
scylladb.com › learn › dynamodb › introduction-to-dynamodb
Introduction to DynamoDB | ScyllaDB
January 13, 2025 - While DynamoDB was inspired by the original paper, it was not beholden to it. Many things had changed in the world of Big Data over the intervening years since the paper was published. It was designed to build on top of a “core set of strong distributed systems principles resulting in an ultra-scalable and highly reliable database system.”
Simple AWS
newsletter.simpleaws.dev › p › dynamodb-database-design
Database Design in Amazon DynamoDB
January 12, 2026 - While it describes single table design accurately, several new releases have made single table design no longer the best choice. The current best option is single table per domain, which clusters groups of entities that are semantically related and are queried together, and places each cluster in a single table. I describe this approach in an updated article: DynamoDB Database Design in 2026.
System Design School
systemdesignschool.io › blog › dynamodb-single-table-design
Optimizing Database Performance: Advantages of Using Amazon''s DynamoDB Single Table Design in Serverless Applications
Reduced Complexity: With the single table design, developers deal with only one table schema, making it simple to manage over time. Greater Performance: By storing all your application data entities in one place, you eliminate the need for expensive join operations in traditional SQL databases. Cost-Effective: With fewer API operations and less index storage for identical datasets, costs are minimized. Enhanced Flexibility: DynamoDB Single Table Design offers dynamism.