Book Image

Data Modeling for Azure Data Services

By : Peter ter Braake
Book Image

Data Modeling for Azure Data Services

By: Peter ter Braake

Overview of this book

Data is at the heart of all applications and forms the foundation of modern data-driven businesses. With the multitude of data-related use cases and the availability of different data services, choosing the right service and implementing the right design becomes paramount to successful implementation. Data Modeling for Azure Data Services starts with an introduction to databases, entity analysis, and normalizing data. The book then shows you how to design a NoSQL database for optimal performance and scalability and covers how to provision and implement Azure SQL DB, Azure Cosmos DB, and Azure Synapse SQL Pool. As you progress through the chapters, you'll learn about data analytics, Azure Data Lake, and Azure SQL Data Warehouse and explore dimensional modeling, data vault modeling, along with designing and implementing a Data Lake using Azure Storage. You'll also learn how to implement ETL with Azure Data Factory. By the end of this book, you'll have a solid understanding of which Azure data services are the best fit for your model and how to implement the best design for your solution.
Table of Contents (16 chapters)
1
Section 1 – Operational/OLTP Databases
8
Section 2 – Analytics with a Data Lake and Data Warehouse
13
Section 3 – ETL with Azure Data Factory

Understanding dimensional modeling

To avoid any confusion, dimensional modeling is a data modeling technique. It leads to a table structure for relational databases. The phrase "table structure" says it all. We are going to store data in tables. We could use Azure SQL Database to implement this database. We will use Azure Synapse Analytics in Chapter 8, Provisioning and Implementing an Azure Synapse SQL Pool, to implement the database. Dimensional modeling, in other words, is an alternative to normalizing data. It will use relationships between tables based on primary keys and foreign keys.

Let's briefly reiterate the main principles we had for normalizing data and look at why they are not helpful when creating a database that should be optimized for analytics. These main principles involved in normalizing data are as follows:

  • Minimize redundancy.
  • Use dependencies between attributes.

Minimizing redundancy

Minimizing redundancy makes writing into...