Azure Cosmos DB Live TV Episode 43 – Data Modeling for the Relational Mind
Azure Cosmos DB Live TV returns with episode 43, where Principal Program Manager, Mark Brown and Microsoft MVP Sarah Dutkiewicz showcase how the relational mind can into the nonrelational side by looking at the differences in data modeling. They will walk through a common scenario and how relational modeling differs from modeling for document storage and graph databases.
Microsoft defines data modeling as the process of analyzing and defining all the different data your business collects and produces, as well as the relationships between those bits of data. The process of modeling your data creates a visual representation of data as it’s used at your business, and the process itself is a critical exercise in understanding and clarifying your data requirements.
There are typically three different types of data models used: Conceptual, Logical, and Physical. Conceptual Data Modeling is used for organizing business concepts and defining the overall structure of your business and data. Logical Data Modeling builds on the conceptual model with specific attributes of data within each entity and particular relationships between those attributes. Lastly, the Physical Data Model is the implementation of the Logical model and is developed for a specific database tool, data storage technology, and data connectors to serve the data throughout your business systems to users as needed.
While schemaless databases, like Azure Cosmos DB, make it super easy to store and query unstructured and semi-structured data, you should spend some time thinking about which data model to get most of the service in terms of performance and scalability, and lowest cost. Some critical questions to ask yourself when devising a NoSQL data model include:
- How is data going to be stored?
- How is your application going to retrieve and query data?
- Is your application read-heavy, or write-heavy?
You’ll need to consider these factors when determining the best way to make your data available to your applications. Let’s get some answers to these questions. In this video, Sarah spends time with Mark looking at different data modeling scenarios. You’ll learn more about how developers who’ve focused on relational models can adjust their mindset when designing NoSQL databases for applications.
Watch the Show!
00:01:53 – Opening
00:04:41 – Sarah introduces us to data modeling for Azure Cosmos DB for the relational mind
00:07:18 – A look at a pizza store’s relational database.
00:08:55 – How are you using this data?
00:09:32 – Modeling for a document database
00:10:22 – Data modeling for document stores
00:11:48 – Denormalize / Embed
00:13:00 – Normalize / Reference
00:17:34 – Demo: Document Store for Order History using Azure Cosmos DB SQL API
00:26:23 – Modeling for a graph database
00:28:04 – Understanding the characteristics of a graph database
00:29:30 – Graph database modeling considerations
00:31:42 – Graph strategies
00:33:08 – Demo – Recommendation Engine
00:45:44 – Azure Cosmos DB Resources for Data Modeling
00:53:37 – Contact Info for Sarah!
- Microsoft Docs: Data modeling in Azure Cosmos DB
- Microsoft Docs: How to model and partition data on Azure Cosmos DB using a real-world example
- Microsoft Docs: Understanding the differences between NoSQL and relational databases
- Microsoft Learn: Model and partition your data in Azure Cosmos DB
- Data Modeling and Partitioning for Relational Workloads
- What is data modeling?
- Playlist for all episodes of Azure Cosmos DB TV Live
Get Started with Azure Cosmos DB
Azure Cosmos DB is a fully managed NoSQL database for modern app development with SLA-backed speed and availability, automatic and instant scalability, and open-source APIs for MongoDB, Cassandra, and other NoSQL engines. Discover features or capabilities at or . For up-to-date news on all things, Azure Cosmos DB be sure to follow us on , , and our