The main difference in the design approaches for SQL and NoSQL respectively is that in the former case, you are looking through the lens of entities and relationships (mostly with the goal of minimizing data duplication); in the latter, your primary concern is query efficiency, in other words, answering the question: "How do I store the data in such a way that all the data needs of my users are met with querying a single record in the database, for a highest possible number of user queries?"

(Often, but not always, this latter design concern is best answered by relaxing the requirement for the minimal data duplication within the data store, as well as allowing for eventual, rather that strict, data consistency.)

Note that your question speaks only to entities and relationships, not user query patterns. So all of the information you give is pertinent to an SQL design, and almost none of it, for a NoSQL one.

Answer from Alex Chadyuk on Stack Overflow
🌐
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 best practices and overall lessons
r/aws on Reddit: DynamoDB Best Practices and Overall Lessons
August 28, 2018 -

I'm starting a serverless project, and with that I'm learning dynamodb. My only previous database experience is with relational databases, so dynamo is a big paradigm shift.

I've read lots of articles about it, mostly focusing on how to build a single table or transitioning a single relation to dynamo. I've also read through AWS's best practices page in their developer guide. Their post focuses a bit more on an entire enterprise-worth of database storage, which is helpful, but because it's so different than relational databases, I'm nervous to get started.

What are your thoughts on dynamodb? What have you learned from building an enterprise-size database? Do you put EVERYTHING into one table like the docs frequently mention? (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-modeling-nosql-B.html)

Discussions

DynamoDB table design
A specific question about DynamoDB table design: **OPTION1:** TAGS_TABLE | tag_id (PK) | sched_id (SK) | shed_info ... | content_info ...| **OPTION2:** TAGS_TABLE | tag_id (PK) | sched_id (... More on repost.aws
🌐 repost.aws
1
0
August 27, 2019
DynamoDB Single Table Design Best Practices From Perspective of SQL - Stack Overflow
I needed help designing my DynamoDB table as this is my first time using it. I am thinking from the perspective of SQL and trying to design in NoSQL(DynamoDB) with a Single Table approach. I have a... More on stackoverflow.com
🌐 stackoverflow.com
DynamoDB Best Practices and Overall Lessons
You might find this site helpful. It's pretty clearly written, should be helpful whether you're coming from a traditional RDBMS background or NoSQL or none. https://www.dynamodbguide.com/ More on reddit.com
🌐 r/aws
22
43
August 28, 2018
DynamoDB Single Table Deign: Simple Guide To Modeling & Querying On To Many Relationships. (Using Excel to plan out the queries)
One of the things that I hear about single table design is that you need to understand all your access patterns up front. But rarely do requirements come up front. Agile (putting aside the cargo cult) is often executed in a way that reacts to changing demands and this seems to be an admission of flawed requirements, or information that only comes later. With the extra cognitive load of planning a single table design I feel like it’s going to optimise RCU at the cost of refactoring exercises down the track. But I’d be happy to understand opposing points of view. More on reddit.com
🌐 r/aws
12
66
October 3, 2022
🌐
DeBrie Advisory
alexdebrie.com › posts › dynamodb-single-table
The What, Why, and When of Single-Table Design with DynamoDB | DeBrie Advisory
February 5, 2020 - AWS recommends using just a single DynamoDB table for your entire application. In this post, learn why you would do that and the few times you shouldn't.
🌐
LinkedIn
linkedin.com › pulse › aws-dynamodb-part-2-design-patterns-best-practices-rasel
AWS DynamoDB (Part - 2) Design Patterns & Best Practices
July 23, 2023 - When needed you can design multi-table also. ... DynamoDB stores items with the same partition key (known as an item collection) on the same partition(s) as each other. In this design, different types of data are stored as items in the same table, and each item is identified by a unique sort key.
🌐
AWS
docs.aws.amazon.com › amazon dynamodb › developer guide › data modeling for dynamodb tables › best practices for modeling relational data in dynamodb
Best practices for modeling relational data in DynamoDB - Amazon DynamoDB
4 weeks ago - This section provides best practices for modeling relational data in Amazon DynamoDB. First, we introduce traditional data modeling concepts. Then, we describe the advantages of using DynamoDB over traditional relational database management systems—how it eliminates the need for JOIN operations and reduces overhead. We then explain how to design a DynamoDB table ...
🌐
Medium
joudwawad.medium.com › dynamodb-data-modeling-fundamentals-9cfdf7f4dcb6
DynamoDB Data Modeling Fundamentals | Medium
June 11, 2026 - Let us now cover the foundation layer by examining the “two types of table design”: single table and multiple table. ... One choice for the foundation of our DynamoDB schema is single table design.
Find elsewhere
🌐
Medium
medium.com › @QuinnMil › dynamodb-single-table-design-d60be6aa2298
DynamoDB Single Table Design. Getting the most out of Amazon… | by Quinn Milionis | Medium
June 22, 2023 - We can achieve efficient data entry and retrieval in DynamoDB by embracing a methodology called “Single Table Design.” This design philosophy encourages a shift in mindset when it comes to organizing and accessing data, resulting in a highly ...
🌐
AWS
aws.amazon.com › blogs › compute › creating-a-single-table-design-with-amazon-dynamodb
Creating a single-table design with Amazon DynamoDB | Amazon Web Services
July 28, 2021 - To learn more, read Best practices for storing large items and attributes. This post looks at implementing common relational database patterns using DynamoDB. Instead of using multiple tables, the single-table design pattern can use adjacency lists to provide many-to-many relational functionality.
🌐
AWS re:Post
repost.aws › questions › QU5q76K06dTwyq4M6IB-c0Cg › dynamodb-table-design
DynamoDB table design | AWS re:Post
August 27, 2019 - Upvote the correct answer to help the community benefit from your knowledge. ... Generally speaking, DDB best practice is to use a single table for a given use case / app / microservice.
🌐
AWS
docs.aws.amazon.com › amazon dynamodb › developer guide › data modeling for dynamodb tables › data modeling foundations in dynamodb
Data Modeling foundations in DynamoDB - Amazon DynamoDB
Explore the foundations of data modeling in DynamoDB, examining the advantages and disadvantages of single table and multiple table design patterns to optimize data access, performance, and cost.
🌐
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 - This article will describe best practice approaches for working with this limit, and also ways of denormalizing a set of relational tables (eg. Oracle) into best practice noSQL structures. Please also review other limits that apply to DynamoDB such as the 400KB item size.
🌐
DevCom
devcom.com › home › articles › tech blog › one approach to aws dynamodb single-table design
One Approach To AWS DynamoDB Single-Table Design | DevCom
May 28, 2026 - This unified approach makes it easier to manage entities and their relationships, simplifying data management and reducing the need for data transfers between tables. With a single-table design, executing application logic across related data items is more straightforward, enabling a cohesive structure that aligns with DynamoDB’s best practices for efficient data retrieval.
🌐
DataCamp
datacamp.com › tutorial › single-table-database-design-with-dynamodb
Performance and Scalability Unleashed: Mastering Single Table Database Design with DynamoDB | DataCamp
September 7, 2023 - A table in NoSQL is the equivalent of a catalog in a relational database. Instead, model the data to be stored denormalized, ready for consumption by applications. Another anti-pattern is Hot Keys. This means that most, if not all, access requests are hitting a single storage node, which means the key space has not been designed correctly. The access heat map will look something like as follows: AWS DynamoDB is a fully managed, serverless, wide column key value store which means it supports many items, or rows, in a table but those items don’t necessarily have the same attributes.
🌐
Medium
medium.com › @pooyan_razian › dynamodb-best-practices-for-developers-2024-a31d76235537
DynamoDB: Best Practices for Developers (2024) | by Pooyan Razian | Medium
August 1, 2024 - A few practices exist to identify ... Table Design DynamoDB often benefits from a single table design approach, where multiple types of entities are stored in the same table....
🌐
Medium
aws.plainenglish.io › aws-use-cases-why-choose-single-table-design-in-dynamodb-and-why-not-a0c5f266820f
AWS Use Cases | Why choose single table design in DynamoDB (and why not)? | by Minoltan Issack | AWS in Plain English
November 13, 2025 - DynamoDB’s architecture is different. It’s optimized for fast, key-value lookups and collection queries, but it does not support joins. This constraint is what makes the Single Table Design pattern popular.
🌐
Simform
simform.com › home › the simform blog › amazon dynamodb best practices: 10 tips to maximize performance
Amazon DynamoDB Best Practices: 10 Tips to Maximize Performance
July 2, 2025 - And when one part of your table receives a high volume of queries, it can exceed the I/O capacity and cause throttling. Here are some tips to keep in mind: Design data keys to distribute traffic uniformly across partitions
🌐
DEV Community
dev.to › monikaprajapati_70 › best-practices-for-dynamodb-4jh6
Best Practices for dynamodb - DEV Community
March 29, 2024 - Use DynamoDB Streams for Data Replication and Event-Driven Architecture: DynamoDB Streams capture a time-ordered sequence of item-level modifications in a table and store them for up to 24 hours.
🌐
DynamoDB
dynobase.dev › dynamodb-best-practices
40 DynamoDB Best Practices [Bite-sized Tips]
March 29, 2020 - Use Contributor Insights from day one to identify the most accessed items and most throttled keys which might cause you performance problems. This proactive approach helps in optimizing your table design and access patterns.
🌐
Emshea
emshea.com › post › part-1-dynamodb-single-table-design
Part 1: Refactoring to single-table design in Amazon DynamoDB
In a relational database, I would create four separate tables for user metadata, subscriptions, quizzes, and practice sentences, linking them all together with the user ID and joining the data in my SQL query. In DynamoDB, I know that my application will frequently want to retrieve all items for a given user, and so I'm grouping it together by user ID in the database ahead of time.