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 |
Udemy | Microsoft Azure Cosmos DB Exam Guide |
DP-420 Cosmos DB Other Stuff
Whizlabs Course | Analytics on trade data using Cosmos DB |
Amazon e-book (PDF) | Guide to NoSQL with Azure Cosmos DB |
Udemy Practice Test | Learn 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
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
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
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
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
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
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
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
Implement a query operation that includes pagination
Pagination using page size & page number
Implement a query operation by using a continuation token
Understand CosmosDB continuation tokens
Handle transient errors and 429s
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
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
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
Implement a user-defined function
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
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
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
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
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
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
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 best practices for Cosmos DB
Choose an appropriate index type
Configure a custom indexing policy by using the Azure portal
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
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
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.