Data Modeling with NoSQL

Thinking back to one of my favorite moments from Re:Invent 2015, I thought this was worth re-sharing.

After giving an overview of the DynamoDB service, Rick Houlihan (Principal Solutions Architect with AWS) shared this pithy pearl of wisdom:

“Data in NoSQL is not non-relational.”

“WHAT? I thought we didn’t have to worry about relationships anymore!!”, cried the masses.


This is one of the most important things to remember as you make the pivot from an RDBMS like SQL Server or Oracle to a NoSQL platform like DynamoDB or MongoDB. Relationships still exist in your data; your schema is just more flexible. Failing to account for relationships in your data, even in NoSQL, is prone to result in poor performance and substandard design patterns.

Here Houlihan shows us how to model one-to-one, one-to-many, and many-to-many relationships in DynamoDB. The same general concepts can be applied to other NoSQL platforms like MongoDB, though the specific implementation will be different (obviously).

If the video below doesn’t take you there automatically, the real magic starts at 26m 40s into the talk.