Expanded Library

Modeling and Schema Design Patterns for Document Databases

by Kishan Iyer

This course covers the complexities involved in defining data for document databases. It delves into the use of the JSON format, modeling entities and relationships, and how to store data in order to optimize queries which access them.

What you'll learn

Document databases have been gaining in popularity for a number of years now, and much of their power can be traced to the ease of working with data defined in the JSON format. In this course, Modeling and Schema Design Patterns for Document Databases, you will see how entities and relationships can be modeled for document databases.

First, you will explore how data is represented in different types of databases; from relational DBs to wide-column stores, and how this influences the way data is modeled. You will see concepts such as normalized and denormalized representations of data including the benefits and drawbacks of each approach.

Next, you will move on to modeling data for document databases based on the nature of the relationship between entities. This covers the modeling of one-to-one, one-to-many and many-to-many relationships and how content from related documents can be combined while running queries. Finally, you will get hands-on by learning how to define data for a fictitious bank involving customers, accounts, and transactions. This will include concepts such as flexible schemas and versions, mapping of relationships, and running join and nest queries.

Once you have completed this course, you will be ready to define data for document databases. You will know how to model entities and relationships using JSON objects, how to apply this to document databases, and how you can combine the content from related documents using join and nest operations.

About the author

I have a Masters in Computer Science from Columbia University and have worked previously as a developer and DevOps engineer. I now work at Loonycorn which is a studio for high-quality video content. My interests lie in the broad categories of Big Data, ML and Cloud.

Ready to upskill? Get started