Modeling and Schema Design Patterns for Document Databases

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.
Course info
Level
Intermediate
Updated
Jul 20, 2020
Duration
1h 38m
Table of contents
Description
Course info
Level
Intermediate
Updated
Jul 20, 2020
Duration
1h 38m
Description

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
About the author

An engineer at heart, I am drawn to any interesting technical topic. Big Data, ML and Cloud are presently my topics of interest.

More from the author
Design Data Models for Couchbase
Beginner
2h 7m
Sep 29, 2020
Recognize the Need for Document Databases
Beginner
1h 40m
Sep 18, 2020
Integrate Couchbase into Your Data Environment
Intermediate
2h 48m
Sep 15, 2020
More courses by Kishan Iyer
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, and welcome to this course, Modeling and Schema Design Patterns for Document Databases. My name is Kishan Iyer, and I will be your instructor for this course. A little about myself first. I have a masters degree in computer science from Columbia University and have previously worked in companies such as Deutsche Bank and WebMD in New York. I presently work for Loonycorn, a studio for high‑quality video content. 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, we look into how entities and relationships can be modeled for a document database. This course starts off by looking at 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. We look into concepts such as normalized and denormalized representations of data, including the benefits and drawbacks of each approach. We then move on to modeling data for document databases based on the nature of the relationship between entities, discover 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. We also examine criteria for the definition of indexes for document data. Then we get hands on and define data for a fictitious bank involving customers, accounts, and transactions. While doing so, we explore concepts such as flexible schemas and versions, mapping of relationships, and running join and nest queries. Once you complete this course, you will be quite the expert on defining 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.