考试大纲 | Azure DP-420(最新版)


■ 考试名称

Azure Cosmos DB Developer Specialty

■ 版本编号

DP-420

■ 技能概览

• 设计和实现数据模型 (35–40%)
• 设计和实现数据分发 (5–10%)
• 集成 Azure Cosmos DB 解决方案 (5–10%)
• 优化 Azure Cosmos DB 解决方案 (15–20%)
• 维护 Azure Cosmos DB 解决方案 (25–30%)

■ 设计和实现数据模型 (35–40%)

为 Azure Cosmos DB for NoSQL 设计和实现非关系数据模型

通过在同一容器中存储多个实体类型来开发设计
通过在同一文档中存储多个相关实体来开发设计
开发可使多个文档中的数据非规范化的模型
通过文档间的引用来开发设计
标识主键和唯一键
标识数据以及关联的访问模式
在事务存储的容器上指定默认生存时间 (TTL)
开发版本控制文档的设计
开发文档架构版本控制设计

设计适用于 Azure Cosmos DB for NOSQL 的数据分区策略

根据特定工作负载选择分区策略
选择分区键
在选择分区键时规划事务
评估使用跨分区查询的成本
根据分区键的选择计算和评估数据分布
根据分区键的选择计算和评估吞吐量分布
构造并实现综合分区键
设计和实现分层分区键
为需要多个分区键的工作负载设计分区

为使用 Azure Cosmos DB 创建的数据库规划和实现大小调整和缩放

评估特定工作负载的吞吐量和数据存储要求
在无服务器模型、免费预配模型之间进行选择
选择何时使用数据库级别的预配吞吐量
针对粒度缩放单元和资源调控进行设计
评估在全局范围内分发数据的成本
通过使用 Azure 门户为 Azure Cosmos DB 配置吞吐量

在 Azure Cosmos DB SDK 中实现客户端连接选项

选择连接模式(网关连接或直接连接)
实现连接模式
创建与数据库的连接
通过使用 Azure Cosmos DB 仿真器实现脱机开发
处理连接错误
为客户端实现单一实例
指定全局分发的区域
配置客户端线程和并行度选项
启用 SDK 日志记录

通过使用适用于 Azure Cosmos DB for NoSQL 的 SQL 语言实现数据访问

实现使用数组、嵌套对象、聚合和排序的查询
实现相关子查询
实现使用数组和类型检查函数的查询
实现使用数学、字符串和日期函数的查询
实现基于变量数据的查询

通过使用 Azure Cosmos DB for NoSQL SDK 实现数据访问

选择何时使用点操作以及何时使用查询操作
实现创建、更新和删除文档的点操作
通过使用修补操作实现更新
使用 SDK 事务性批处理管理多文档事务
使用 SDK 中的批量支持执行多文档加载
使用 ETag 实现乐观并发控制
通过使用查询请求选项覆盖默认一致性
通过使用会话令牌实现会话一致性
实现包含分页的查询操作
通过使用延续令牌实现查询操作
处理暂时性错误和 429 错误
为文档指定 TTL
检索和使用查询指标

通过使用 JavaScript 在 Azure Cosmos DB for NoSQL 中实现服务器端编程

编写、部署和调用存储过程
设计存储过程,以事务方式处理多个文档
实现和调用触发器
实现用户定义的函数

■ 设计和实现数据分发 (5–10%)

为 Azure Cosmos DB 设计和实现复制策略

选择在何时分发数据
针对 Azure Cosmos DB for NoSQL 的区域性故障定义自动故障转移策略
执行手动故障转移以移动单个主写入区域
选择一致性级别
识别不同一致性模型的用例
评估一致性模型选择对可用性以及相关请求单位 (RU) 成本的影响
评估一致性模型选择对性能和延迟的影响
指定与复制的数据的应用程序连接

设计和实现多区域写入

选择何时使用多区域写入
实现多区域写入
为 Azure Cosmos DB for NoSQL 实现自定义冲突解决策略

■ 集成 Azure Cosmos DB 解决方案 (5–10%)

启用 Azure Cosmos DB 分析工作负载

启用 Azure Synapse Link
在 Azure Synapse Link 和 Spark 连接器之间进行选择
在容器上启用分析存储
在 Azure Synapse Link 中实现自定义分区
启用与分析存储的连接,并通过 Azure Synapse Spark 或 Azure Synapse SQL 进行查询
通过 Spark 对事务性存储执行查询
通过 Spark 将数据写回事务性存储
在 Azure Cosmos DB 分析存储中实现变更数据捕获
在 Azure Synapse Link for Azure Cosmos DB 中实现按时间顺序查看

实现跨服务的解决方案

通过使用 Azure Functions 和 Azure 事件中心将事件与其他应用程序集成
通过使用更改源和 Azure Functions 使数据非规范化
通过使用更改源和 Azure Functions 强制实施引用完整性
通过使用更改源和 Azure Functions 聚合数据(包括报表)
通过使用更改源和 Azure Functions 存档数据
为 Azure Cosmos DB 解决方案实现 Azure AI 搜索

■ 优化 Azure Cosmos DB 解决方案 (15–20%)

优化使用 API for Azure Cosmos DB for NoSQL 时的查询性能

调整数据库上的索引
计算查询的成本
检索点操作或查询的请求单位成本
实现 Azure Cosmos DB 集成缓存

为 Azure Cosmos DB for NoSQL 设计和实现更改源

开发 Azure Functions 触发器以处理更改源
通过使用 SDK 从应用程序内使用更改源
通过使用更改源估算器管理更改源实例的数量
通过使用更改源实现非规范化
通过使用更改源实现引用强制
通过使用更改源实现聚合持久性
通过使用更改源实现数据存档

为 Azure Cosmos DB for NoSQL 定义并实现索引策略

选择何时使用读取密集型索引策略与写入密集型索引策略
选择适当的索引类型
通过使用 Azure 门户配置自定义索引策略
实现组合索引
优化索引性能

■ 维护 Azure Cosmos DB 解决方案 (25–30%)

监视 Azure Cosmos DB 解决方案并排查其问题

评估响应状态代码和失败指标
通过使用 Azure Monitor 监视规范化吞吐量使用情况的指标
通过使用 Azure Monitor 监视服务器端延迟指标
监视数据复制的延迟和可用性
为 Azure Cosmos DB 配置 Azure Monitor 警报
实现和查询 Azure Cosmos DB 日志
监视不同分区间的吞吐量
监视不同分区间的数据分布情况
通过使用日志记录和审核监视安全性

为 Azure Cosmos DB 解决方案实现备份和还原

在定期备份和连续备份之间进行选择
配置定期备份
配置连续备份和恢复
查找时间点恢复的恢复点
从恢复点恢复数据库或容器

实现 Azure Cosmos DB 解决方案的安全性

在服务管理的加密密钥和客户管理的加密密钥之间进行选择
为 Azure Cosmos DB 配置网络级别的访问控制
为 Azure Cosmos DB 配置数据加密
使用 Azure 基于角色的访问控制 (RBAC) 管理对 Azure Cosmos DB 的控制平面访问
使用 Azure 基于角色的访问控制 (RBAC) 管理对 Azure Cosmos DB 数据资源管理器的控制平面访问
通过使用 Microsoft Entra ID 管理对 Azure Cosmos DB 的数据平面访问
配置跨源资源共享 (CORS) 设置
通过使用 Azure Key Vault 管理帐户密钥
实现客户管理的密钥以进行加密
实现 Always Encrypted

为 Azure Cosmos DB 解决方案实现数据移动

选择数据移动策略
通过使用客户端 SDK 批量操作移动数据
通过使用 Azure 数据工厂和 Azure Synapse 管道移动数据
使用 Kafka 连接器移动数据
通过使用 Azure 流分析移动数据
使用 Azure Cosmos DB Spark 连接器移动数据
将 Azure Cosmos DB 配置为 Azure IoT 中心的自定义终结点

为 Azure Cosmos DB 解决方案实现 DevOps 过程

选择何时使用声明性操作以及何时使用命令性操作
通过使用 Azure 资源管理器模板预配和管理 Azure Cosmos DB 资源
通过使用 PowerShell 或 Azure CLI 在标准和自动缩放吞吐量之间迁移
通过使用 PowerShell 或 Azure CLI 启动区域故障转移
通过使用 Azure 资源管理器模板在生产环境中维护编制索引策略