DP-420 Exam Study Guide (Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB)

DP-420 Designing and Implementing Cloud Native Applications Using Microsoft Azure Cosmos DB

How to Prepare for the DP-420 Exam?

Preparing for the DP-420 (Designing and Implementing Cloud-Native Applications Using Microsoft Azure Cosmos DB) exam? Don’t know where to start? This post is the DP-420 Study Guide, which helps you to achieve the Microsoft Azure Certified Cosmos DB Developer Specialty certification.

This post contains a curated list of articles from Microsoft documentation for each objective of the DP-420 exam. Please share the post within your circles so it helps them to prepare for the exam.

Exam Voucher for DP-420 with 1 Retake

Get 40% OFF with the combo

DP-420 Cosmos DB Learning Materials

Pluralsight (Free trial)DP-420 : Microsoft Azure Cosmos DB Exam Guide
UdemyMicrosoft Azure Cosmos DB Exam Guide

DP-420 Cosmos DB Other Stuff

Whizlabs CourseAnalytics on trade data using Cosmos DB
Amazon e-book (PDF)Guide to NoSQL with Azure Cosmos DB
Udemy Practice TestLearn Azure Cosmos DB basics

Looking for DP-420 Dumps? Read This!

Using dp-420 exam dumps can get you permanently banned from taking any future Microsoft certificate exam. Read the FAQ page for more information. However, I strongly suggest you validate your understanding with practice questions.

Check out all the other Azure certificate study guides

Full Disclosure: Some of the links in this post are affiliate links. I receive a commission when you purchase through them.

Design and Implement Data Models (35–40%)

Design and implement a non-relational data model for Azure Cosmos DB Core API

Develop a design by storing multiple entity types in the same container

Multiple entity types in a single collection

Develop a design by storing multiple related entities in the same document

Store multiple entities in a single Cosmos DB Collection

Develop a model that denormalizes data across documents

Denormalize when migrating relational data to Cosmos DB

Denormalizing your data with Cosmos DB’s change feed

Develop a design by referencing between documents

Azure Cosmos DB: Referencing tables

Reference a document in a separate collection

Identify primary and unique keys

Primary/secondary keys

Use unique keys in Azure Cosmos DB

Identify data and associated access patterns

Common design patterns with Azure Cosmos DB

Best design pattern for Cosmos DB Containers

Specify a default TTL on a container for a transactional store

Expire data in Cosmos DB with TTL

Configure and manage TTL in Azure Cosmos DB

Design a data partitioning strategy for Azure Cosmos DB Core API

Choose a partition strategy based on a specific workload

Data partitioning strategy in Cosmos DB

Partitioning strategies for Cosmos DB SQL API

Choose a partition key

Choose a partition key in Cosmos DB

Choosing the right partition key for cost & performance

Plan for transactions when choosing a partition key

Understanding partition key

Evaluate the cost of using a cross-partition query

Cosmos DB query cost & performance

Cross partition queries with Cosmos DB

Calculate and evaluate data distribution based on partition key selection

Distribute data globally with Cosmos DB

Understanding CosmosDB partition key

Calculate and evaluate throughput distribution based on partition key selection

Provision throughput on Azure Cosmos containers

Optimize throughput cost in Cosmos DB

Construct and implement a synthetic partition key

Create a synthetic partition key in Cosmos DB

Azure Cosmos DB synthetic partition key

Design partitioning for workloads that require multiple partition keys

Multiple partition keys in Cosmos DB

Create a multi-partition solution with Cosmos DB

Amazon link (affiliate)

Plan and implement sizing and scaling for a database created with Azure Cosmos DB

Evaluate the throughput and data storage requirements for a specific workload

Provision throughput on Azure Cosmos containers

Data storage options with Azure Cosmos DB

Choose between serverless and provisioned models

How to choose between provisioned throughput & serverless?

Choose when to use database-level provisioned throughput

Set throughput on a database

Provision throughput at the database level

Design for granular scale units and resource governance

Use Azure Policy to implement governance for Cosmos DB

Request Units as a throughput currency

Evaluate the cost of the global distribution of data

Pricing Azure Cosmos DB

Configure throughput for Azure Cosmos DB by using the Azure portal

Provision database throughput in Azure Cosmos DB

Provisioning autoscale throughput in Cosmos DB

Implement client connectivity options in the Azure Cosmos DB SDK

Choose a connectivity mode (gateway versus direct)

Azure Cosmos DB connectivity modes

Implement a connectivity mode

Connect to Azure Cosmos DB using direct mode

Connect to Azure Cosmos DB using gateway mode

Connecting to Cosmos DB using the dedicated gateway

Create a connection to a database

Set up a connection to Cosmos DB

Enable offline development by using the Azure Cosmos DB emulator

Develop locally with Cosmos DB Emulator

Cosmos DB offline development experience

Handle connection errors

Error when connecting to Azure Cosmos DB

Troubleshoot issues when using Azure Cosmos DB

Implement a singleton for the client

Singleton Azure Cosmos DB client

Improve your Azure Cosmos DB .NET SDK initialization

Specify a region for global distribution

Configure multi-region reads & writes for Cosmos DB

Configuring multi-region writes in Cosmos DB

Configure client-side threading and parallelism options

Client-side development in Azure Cosmos DB

Max degree of parallelism in Cosmos DB

Configure the Max degree of parallelism

Enable SDK logging

Enable client SDK logging

Implement data access by using the Azure Cosmos DB SQL language

Implement queries that use arrays, nested objects, aggregation, and ordering

Understand how to query arrays in Cosmos DB

Work with arrays and objects in Cosmos DB

SQL subqueries in Azure Cosmos DB

Aggregate functions in Cosmos DB

ORDER BY clause

Implement a correlated subquery

How to use correlated subqueries?

Implement queries that use array and type-checking functions

Type checking functions in Cosmos DB

Implement queries that use mathematical, string, and date functions

Mathematical functions in Cosmos DB query language

String functions in Cosmos DB query language

Date & time functions in Cosmos DB

Implement queries based on variable data

Parameterized queries in Cosmos DB

Implement data access by using SQL API SDKs

Choose when to use a point operation versus a query operation

Understand the difference between point reads and queries

Implement a point operation that creates, updates, and deletes documents

Build a console app to manage data in Cosmos DB

Implement an update by using a patch operation

Partial document update

Manage multi-document transactions using SDK Transactional Batch

Introducing TransactionalBatch

Use multi-document transactions

Perform a multi-document load using SDK Bulk

Introducing bulk support in the .NET SDK

Bulk import data to Cosmos DB SQL API account

How to do bulk and transactional batch operations?

Implement optimistic concurrency control using ETags

Optimistic concurrency control in Cosmos DB

How to solve concurrency with practical example

Implement session consistency by using session tokens

Session consistency

Implement a query operation that includes pagination

Pagination in Azure Cosmos DB

Pagination using page size & page number

Implement a query operation by using a continuation token

Continuation tokens

Understand CosmosDB continuation tokens

Handle transient errors and 429s

Transient fault handling

Troubleshoot Cosmos DB request rate too large (429) exceptions

Specify TTL for a document

Configure Time to Live in Cosmos DB

Expire data in Cosmos DB with Time to Live

Retrieve and use query metrics

Query execution metrics

Get SQL query execution metrics

Implement server-side programming in Azure Cosmos DB Core API by using JavaScript

Write, deploy, and call a stored procedure

Write stored procedures in Cosmos DB

Deploy a stored procedure

Use stored procedures in Cosmos DB

Design stored procedures to work with multiple items transactional

Author Cosmos DB stored procedures for multi-document transactions

Implement triggers

How to write triggers?

Register and use triggers

Implement a user-defined function

How to write UDFs?

Register and use user-defined functions

Design and Implement Data Distribution (5–10%)

Design and implement a replication strategy for Azure Cosmos DB

Choose when to distribute data

Distribute data globally

Define automatic failover policies for regional failure for Azure Cosmos DB Core API

Enable automatic failover for your Cosmos account

Perform manual failovers to move single master write regions

Do manual failover on an Azure Cosmos account

Choose a consistency model

Consistency levels in Azure Cosmos DB

Identify use cases for different consistency models

Consistency levels in Azure Cosmos DB

Manage consistency in Cosmos DB

Evaluate the impact of consistency model choices on availability and associated RU cost

SLAs for availability in Cosmos DB

Evaluate the impact of consistency model choices on performance and latency

Performance tradeoffs in consistency models

Consistency levels and latency

Specify application connections to replicated data

Continuous Cosmos DB replication to SQL Server

Replicate Cosmos DB data for use in Salesforce

Design and implement multi-region write

Choose when to use multi-region write

Azure Cosmos DB enables multi-region writes

Implement multi-region write

How to configure multi-region writes?

Implement a custom conflict resolution policy for Azure Cosmos DB Core API

Conflict resolution types and resolution policies

Azure Cosmos DB multi-master (Conflict Resolution)

Integrate an Azure Cosmos DB Solution (5–10%)

Enable Azure Cosmos DB analytical workloads

Enable Azure Synapse Link

Azure Synapse Link for Cosmos DB

Choose between Azure Synapse Link and Spark Connector

Interact with Cosmos DB using Apache Spark 2 in Azure Synapse Link

Cosmos DB Spark Connector

Enable the analytical store on a container

What is the Cosmos DB analytical store?

Enable a connection to an analytical store and query from Azure Synapse Spark or Azure Synapse SQL

Configure & use Azure Synapse Link for Cosmos DB

Perform a query against the transactional store from Spark

Read data from the transactional store

Query Cosmos DB with Apache Spark

Write data back to the transactional store from Spark

Write to Azure Cosmos DB container

Implement solutions across services

Integrate events with other applications by using Azure Functions and Azure Event Hubs

Use functions with Azure Cosmos DB & Event Hubs

Build a streaming app with Cosmos DB, Event Hubs & Azure Functions

Denormalize data by using Change Feed and Azure Functions

Denormalize your data with Azure Functions & Cosmos DB’s change feed

Enforce referential integrity by using Change Feed and Azure Functions

Manage referential integrity by using change feed

Aggregate data by using Change Feed and Azure Functions, including reporting

Aggregate functions in Azure Cosmos DB

Archive data by using Change Feed and Azure Functions

Azure Cosmos DB change feed

Implement Azure Cognitive Search for an Azure Cosmos DB solution

Index data using Azure Cosmos DB Gremlin API

Search & explore your Cosmos DB data with Azure Cognitive Search

Optimize an Azure Cosmos DB Solution (15–20%)

Optimize query performance in Azure Cosmos DB Core API

Adjust indexes on the database

Indexing in Azure Cosmos DB

Cosmos DB indexing policies

Calculate the cost of the query

Estimate costs using the Cosmos DB capacity planner

Retrieve request unit cost of a point operation or query

Request units in Azure Cosmos DB

How do Request Units (RUs) work?

Implement Azure Cosmos DB integrated cache

Azure Cosmos DB integrated cache

Cosmos DB integrated cache

Design and implement change feeds for an Azure Cosmos DB Core API

Develop an Azure Functions trigger to process a change feed

Azure Cosmos DB trigger for Functions

Implement Cosmos DB Change Feed using Azure Functions

Consume a change feed from within an application by using the SDK

Consuming the Azure Cosmos DB Change Feed

Manage the number of change feed instances by using the change feed estimator

Use the change feed estimator

Implement denormalization by using a change feed

Denormalizing your data with Cosmos DB’s change feed

Implement referential enforcement by using a change feed

Use change feed to manage referential integrity

Implement aggregation persistence by using a change feed

Work with the change feed support in Cosmos DB

Implement data archiving by using a change feed

Best practice of archiving data in Cosmos DB

Define and implement an indexing strategy for an Azure Cosmos DB Core API

Choose when to use a read-heavy versus write-heavy index strategy

Indexing in Azure Cosmos DB

Indexing best practices for Cosmos DB

Choose an appropriate index type

Types of Indexes in Cosmos DB

Configure a custom indexing policy by using the Azure portal

Understanding Indexing

Implement a composite index

Azure Cosmos DB composite indexes

Composite indexing policy examples

Optimize index performance

Identify indexing strategies for your data

Maintain an Azure Cosmos DB Solution (25–30%)

Monitor and troubleshoot an Azure Cosmos DB solution

Evaluate response status code and failure metrics

HTTP status codes for Azure Cosmos DB

Metrics that matter in Cosmos DB

Monitor metrics for normalized throughput usage by using Azure Monitor

Monitor normalized RU/s for an Azure Cosmos container

Monitor server-side latency metrics by using Azure Monitor

How to monitor the server-side latency for operations?

Monitor data replication in relation to latency and availability

Monitor & debug with insights in Cosmos DB

Configure Azure Monitor alerts for Azure Cosmos DB

Create alerts for Cosmos DB using Azure Monitor

Implement and query Azure Cosmos DB logs

Monitor Cosmos DB data by using diagnostic settings

Monitor throughput across partitions

Monitor the throughput usage of an operation

Monitor distribution of data across partitions

Monitor and debug with insights

Monitor security by using logging and auditing

Audit Cosmos DB control plane operations

Implement backup and restore for an Azure Cosmos DB solution

Choose between periodic and continuous backup

Online backup & on-demand data restore in Cosmos DB

Configure periodic backup

Configure Cosmos DB with periodic backup

Configure continuous backup and recovery

Provision an account with continuous backup & restore

Locate a recovery point for a point-in-time recovery

Continuous backup with a point-in-time restore

Recover a database or container from a recovery point

Configure Cosmos DB account with periodic backup

Implement security for an Azure Cosmos DB solution

Choose between service-managed and customer-managed encryption keys

Enhanced encryption at rest

Configure network-level access control for Azure Cosmos DB

Configure virtual network-based access for Cosmos account

Configure data encryption for Azure Cosmos DB

Configure customer-managed keys for your Cosmos DB account

Manage control plane access to Azure Cosmos DB by using Azure role-based access control (RBAC)

Azure role-based access control in Cosmos DB

Manage data plane access to Azure Cosmos DB by using keys

Secure access to data in Azure Cosmos DB

Manage data plane access to Azure Cosmos DB by using Azure Active Directory

Configure RBAC for your Cosmos DB account with Azure AD

Configure Cross-Origin Resource Sharing (CORS) settings

Cross-Origin Resource Sharing (CORS) in Cosmos DB

Manage account keys by using Azure Key Vault

Use Key Vault to store & access Cosmos DB keys

Implement customer-managed keys for encryption

Configure customer-managed keys for your Cosmos DB account

Implement Always Encrypted

Use client-side encryption with Always Encrypted

Implement data movement for an Azure Cosmos DB solution

Choose a data movement strategy

Cosmos DB migration options

Move data by using client SDK bulk operations

Use bulk executor .NET library in Cosmos DB for bulk import

Move data by using Azure Data Factory and Azure Synapse pipelines

Copy & transform data in Azure Cosmos DB

Move data by using a Kafka connector

Transfer Kafka data with the Cosmos DB connector

Getting started with Kafka Connector for Cosmos DB

Move data by using Azure Stream Analytics

Azure Stream Analytics output to Cosmos DB

Move data by using the Azure Cosmos DB Spark Connector

Manage data with Cosmos DB Spark connector

Implement a DevOps process for an Azure Cosmos DB solution

Choose when to use declarative versus imperative operations

Declarative vs Imperative: DevOps done right

Provision and manage Azure Cosmos DB resources by using Azure Resource Manager templates (ARM templates)

Manage Cosmos DB resources with ARM templates

Migrate between standard and autoscale throughput by using PowerShell or Azure CLI

Switch cosmos DB from manual to autoscale

Create Azure Cosmos containers in autoscale mode

Initiate a regional failover by using PowerShell or Azure CLI

High availability in Azure Cosmos DB

Maintain index policies in production by using ARM templates

Manage indexing policies in Cosmos DB

Update Cosmos DB indexing policy through ARM templates

This brings us to the end of the DP-420 Designing & Implementing CloudNative Applications using Azure Cosmos DB study guide

What do you think? Let me know in the comments section if I have missed out on anything. Also, I love to hear from you about how your preparation is going on!

In case you are preparing for other Azure certification exams, check out the Azure study guide for those exams.

Follow Me to Receive Updates on DP-420 Exam


Want to be notified as soon as I post? Subscribe to the RSS feed / leave your email address in the subscribe section. Share the article to your social networks with the below links so it can benefit others.

Share the DP-420 Study Guide in Your Network

You may also like