# Azure Data Fundamentals (DP-900) - My Story and Study Resources

I passed the Microsoft Azure Data Fundamentals exam at the beginning of April 2021. To give back to the community, I decided to share my experience and the study resources I used to prepare for the exam.

%%[tweet-dp900pass]

## First, why did I take the exam 🤷‍♂️

I took the DP-900 exam while preparing for the Azure Solutions Architecture exams. Working through the Microsoft Learn modules for AZ-303/304, I found myself reading about database topics. My knowledge on databases is limited (the biggest database I deployed was the time of Access 2007) so I decided to stop preparing for these exams and review data topics.

## Microsoft Virtual Training Days 👩‍🏫

After reviewing the  [role based certification poster](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2PjDI) by Microsoft, I identified there was a fundamentals exam. I knew from advertisements and posts within the community that Microsoft offers Virtual Training Days to help individuals getting started with the basics. I visited the  [Virtual Training Days](https://www.microsoft.com/en-gb/events/training-days/) site and found dates I could attend the video course. After completing the training days, I received a free exam voucher for the DP-900 exam.

## Microsoft Learn 🏙️

Even though the video content from the Virtual Training Day was beneficial and covered the topics I expected, I decided to further my knowledge by completing the Azure Data Fundamentals MS Learn modules. I have listed each one below.

*  [Azure Data Fundamentals: Explore core data concepts](https://docs.microsoft.com/en-us/learn/paths/azure-data-fundamentals-explore-core-data-concepts/)

*  [Azure Data Fundamentals: Explore relational data in Azure](https://docs.microsoft.com/en-us/learn/paths/azure-data-fundamentals-explore-relational-data/)

*  [Azure Data Fundamentals: Explore non-relational data in Azure](https://docs.microsoft.com/en-us/learn/paths/azure-data-fundamentals-explore-non-relational-data/) 

*  [Azure Data Fundamentals: Explore modern data warehouse analytics in Azure](https://docs.microsoft.com/en-us/learn/paths/azure-data-fundamentals-explore-data-warehouse-analytics/) 

*Tip: complete any labs they have to offer during these modules. I find doing practicals actually sink in better than just reading.*

## Was the above enough ⚖️

Personally no, there was language and services described that I personally want to understand more about before going into the exam. I decided to visit the  [DP-900 certification page](https://docs.microsoft.com/en-us/learn/certifications/exams/dp-900) and review the exam skill outline document. I created a spreadsheet of each skill measured and used this to look up any information I can find from the Microsoft website. I have provided below a written out copy of the exam skills outline document with links I found and used to help broaden my knowledge (all from Microsoft sources).

## 1️⃣ Describe core data concepts (15-20%)

### 1.1. Describe types of core data workloads

1.1.1. describe batch data

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/batch-processing

1.1.2. describe streaming data

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/stream-processing

1.1.3. describe the difference between batch and streaming data

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/real-time-processing

1.1.4. describe the characteristics of relational data

* https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/relational-vs-nosql-data

### 1.2. Describe data analytics core concepts

1.2.1. describe data visualization (e.g., visualization, reporting, business intelligence (BI))

* https://powerbi.microsoft.com/en-us/data-visualization/

1.2.2. describe basic chart types such as bar charts and pie charts

* https://docs.microsoft.com/en-us/power-bi/visuals/power-bi-visualization-types-for-reports-and-q-and-a

1.2.3. describe analytics techniques (e.g., descriptive, diagnostic, predictive, prescriptive, cognitive)

* https://azure.microsoft.com/en-gb/blog/answering-whats-happening-whys-happening-and-what-will-happen-with-iot-analytics/

1.2.4. describe ELT and ETL processing

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/etl

1.2.5. describe the concepts of data processing

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-analytical-processing
* https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-transaction-processing

## 2️⃣ Describe how to work with relational data on Azure (25-30%)

### 2.1. Describe relational data workloads

2.1.1. identify the right data offering for a relational workload

* https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview#relational-database-management-systems

2.1.2. describe relational data structures (e.g., tables, index, views)

* https://docs.microsoft.com/en-us/sql/relational-databases/views/views?view=sql-server-ver15
* https://docs.microsoft.com/en-us/sql/relational-databases/tables/tables?view=sql-server-ver15
* https://docs.microsoft.com/en-us/sql/relational-databases/indexes/indexes?view=sql-server-ver15

### 2.2. Describe relational Azure data services

2.2.1. describe and compare PaaS, IaaS, and SaaS solutions

* https://azure.microsoft.com/en-gb/overview/what-is-paas/
* https://azure.microsoft.com/en-gb/overview/what-is-iaas/
* https://azure.microsoft.com/en-gb/overview/what-is-saas/

2.2.2. describe Azure SQL database services including Azure SQL Database, Azure SQL

* https://docs.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview
* https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview

### 2.3. Managed Instance, and SQL Server on Azure Virtual Machine

2.3.1. describe Azure Synapse Analytics

* https://docs.microsoft.com/en-us/azure/synapse-analytics/overview-what-is

2.3.2. describe Azure Database for PostgreSQL, Azure Database for MariaDB, and Azure Database for MySQL

* https://docs.microsoft.com/en-us/azure/mysql/overview
* https://docs.microsoft.com/en-us/azure/postgresql/overview
* https://docs.microsoft.com/en-us/azure/mariadb/overview

### 2.4. Identify basic management tasks for relational data

2.4.1. describe provisioning and deployment of relational data services

* Recommend referring to the MS Learn modules

2.4.2. describe method for deployment including the Azure portal, Azure Resource Manager templates, Azure PowerShell, and the Azure command-line interface (CLI)

* Recommend referring to the MS Learn modules

2.4.3. identify data security components (e.g., firewall, authentication)

* https://docs.microsoft.com/en-us/azure/azure-sql/database/secure-database-tutorial

2.4.4. identify basic connectivity issues (e.g., accessing from on-premises, access with Azure VNets, access from Internet, authentication, firewalls)

* https://docs.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-connectivity-issues

2.4.5. identify query tools (e.g., Azure Data Studio, SQL Server Management Studio, sqlcmd utility, etc.)

* https://docs.microsoft.com/en-us/sql/azure-data-studio/what-is-azure-data-studio?view=sql-server-ver15
* https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms?view=sql-server-ver15
* https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15

### 2.5. Describe query techniques for data using SQL language

2.5.1. compare Data Definition Language (DDL) versus Data Manipulation Language (DML)

* https://docs.microsoft.com/en-us/sql/t-sql/statements/statements?view=sql-server-ver15

2.5.2. query relational data in Azure SQL Database, Azure Database for PostgreSQL, and Azure Database for MySQL

* https://docs.microsoft.com/en-us/azure/azure-sql/database/connect-query-portal
* https://docs.microsoft.com/en-us/azure/postgresql/how-to-connect-query-guide
* https://docs.microsoft.com/en-us/azure/mysql/how-to-connect-overview-single-server

## 3️⃣ Describe how to work with non-relational data on Azure (25-30%)

### 3.1. Describe non-relational data workloads

3.1.1. describe the characteristics of non-relational data

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data

3.1.2. describe the types of non-relational and NoSQL data

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data

3.1.3. recommend the correct data store

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data

3.1.4. determine when to use non-relational data

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data

### 3.2. Describe non-relational data offerings on Azure

3.2.1. identify Azure data services for non-relational workloads

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data

3.2.2. describe Azure Cosmos DB APIs

* https://docs.microsoft.com/en-us/rest/api/cosmos-db/

3.2.3. describe Azure Table storage

* https://docs.microsoft.com/en-us/azure/storage/tables/table-storage-overview

3.2.4. describe Azure Blob storage

* https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview

3.2.5. describe Azure File storage

* https://docs.microsoft.com/en-us/azure/storage/files/storage-files-introduction

### 3.3. Identify basic management tasks for non-relational data

3.3.1. describe provisioning and deployment of non-relational data services

* Recommend referring to the MS Learn modules

3.3.2. describe method for deployment including the Azure portal, Azure Resource Manager templates, Azure PowerShell, and the Azure command-line interface (CLI)

* Recommend referring to the MS Learn modules

3.3.3. identify data security components (e.g., firewall, authentication, encryption)

* https://docs.microsoft.com/en-us/azure/azure-sql/database/secure-database-tutorial

3.3.4. identify basic connectivity issues (e.g., accessing from on-premises, access with Azure VNets, access from Internet, authentication, firewalls)

* https://docs.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-connectivity-issues

3.3.5. identify management tools for non-relational data

## 4️⃣ Describe an analytics workload on Azure (25-30%)

### 4.1. Describe analytics workloads

4.1.1. describe transactional workloads

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-transaction-processing

4.1.2. describe the difference between a transactional and an analytics workload

* https://docs.microsoft.com/en-us/azure/cosmos-db/analytical-store-introduction

4.1.3. describe the difference between batch and real time

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/batch-processing
* https://docs.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/real-time-ingestion

4.1.4. describe data warehousing workloads

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/data-warehousing

4.1.5. determine when a data warehouse solution is needed

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/data-warehousing

### 4.2. Describe the components of a modern data warehouse

4.2.1. describe Azure data services for modern data warehousing such as Azure Data Lake, Azure Synapse Analytics, Azure Databricks, and Azure HDInsight

* https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction
* https://docs.microsoft.com/en-us/azure/synapse-analytics/overview-what-is
* https://docs.microsoft.com/en-us/azure/databricks/scenarios/what-is-azure-databricks
* https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-overview

4.2.2. describe modern data warehousing architecture and workload 

* https://docs.microsoft.com/en-us/azure/architecture/data-guide/relational-data/data-warehousing

### 4.3. Describe data ingestion and processing on Azure

4.3.1. describe common practices for data loading

* https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/data-loading-best-practices

4.3.2. describe the components of Azure Data Factory (e.g., pipeline, activities, etc.)

* https://docs.microsoft.com/en-us/azure/data-factory/introduction

4.3.3. describe data processing options (e.g., Azure HDInsight , Azure Databricks, Azure Synapse Analytics, Azure Data Factory)

* https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/processing-options-and-settings-analysis-services?view=asallproducts-allversions

### 4.4. Describe data visualization in Microsoft Power BI

4.4.1. describe the role of paginated reporting

* https://docs.microsoft.com/en-us/power-bi/paginated-reports/paginated-reports-faq

4.4.2. describe the role of interactive reports

* https://docs.microsoft.com/en-us/power-bi/create-reports/service-reports-visual-interactions

4.4.3. describe the role of dashboards

* https://docs.microsoft.com/en-us/power-bi/create-reports/service-dashboards

4.4.4. describe the workflow in Power BI

* No content found

## Any other resources before I took the exam 📺

My exam was booked for the afternoon so I decided to get some type of morning cram in by watching some video content that would refresh the new information I learnt. The top hit I found on YouTube was from  [John Savill](https://twitter.com/NTFAQGuy?s=20) who provides a one hour and twenty minute whiteboard video covering the information I learnt from all of the above. This really helped so I would recommend watching it (remember to support content creators by liking and subscribing to their channels):

 [DP-900 Azure Data Fundamentals Exam Cram Whiteboard Video](https://www.youtube.com/watch?v=LirvmXjZU90) 

Other than this, I didn't use any other resource to prepare for the exam.

## Conclusion ✍️

This post wasn't to provide tips and tricks to the exam. The idea of this post is to tell you what got me onto the exam, what resources I found on the way and to give back to the community where I have farmed resources for many years. The intention wasn't to get another certification but to skill up in an area where I was lacking information for another certification I was trying to attain. In the end, it was a bonus for me to be able to sit the exam for free and pass.

%%[buymeacoffe-butyellow]
