While Azure Cosmos DB is easy to use, it’s very different compared to a traditional relational database. In this course, Data Modeling and Partitioning Patterns in Azure Cosmos DB, you’ll learn how to design effective data models for Cosmos DB, Microsoft’s horizontally partitioned, non-relational database platform on Azure. First, you’ll explore the step-by-step process of adapting a relational schema to a data model optimized for Cosmos DB based on the familiar AdventureWorks sample database. Next, you’ll discover core concepts such as partitioning and throughput needed to get your job done. Finally, you’ll delve into non-relational data modeling practices, like embedding vs. referencing, schema-free data structures, and data denormalization with the Change Feed API, Azure Functions, and transactionalized stored procedures. By the end of this course, you’ll have the necessary knowledge to achieve the optimal design for your data models in Azure Cosmos DB.
Leonard Lobel (Microsoft MVP, SQL Server) is CTO and co-founder of Sleek Technologies, Inc., a New York-based development shop. He is also a principal consultant at Tallan, Inc., a Microsoft National Systems Integrator and Gold Competency Partner. Lenni is also a consultant, trainer, and frequent speaker at major industry conferences.
Course Overview Hi there. My name is Lenny Lobel, and I'd like to welcome you to my course, Data Modeling and Partitioning Patterns in Azure Cosmos DB. I'm a Microsoft data platform MVP and chief technology officer at Sleek Technologies in New York City, and I love databases. Cosmos DB is a massively scalable cloud database from Microsoft that's very easy to use, but also very different than your traditional relational database. So this course will teach you everything you need to know so that you can answer such critical questions as how should you structure your model? When should you combine multiple entity types in a single container? How should you denormalize your entities? What's the best partition key for your data? We'll start in familiar territory using a relational e‑commerce workload based on the SQL Server Adventure Works database, and then we'll refactor that data model for Cosmos DB. Along the journey, you'll learn when to embed and when to reference and how to achieve the best performance for your most common queries by denormalizing the data model. You'll see how to use Azure Functions to consume the change feed, as well as transactional stored procedures, two powerful features in Cosmos DB that help you achieve the optimal design for your data model. So dive right in and get ready to have fun learning all about data modeling and partitioning patterns in Azure Cosmos DB.