Microsoft AZ-204: Azure Cosmos DB — 学习指南

属于 Microsoft Azure Developer Associate AZ-204 — 学习指南. 使用经过验证的答案练习: Microsoft 考试中心, 或参加限时模拟考试: ExamRoll.io.

概述

Azure Cosmos DB 是一种完全托管的全球分布式多模型数据库,专为低延迟、弹性可扩展的应用程序而设计。它在一个通用的、分区的存储和复制引擎之上公开多种 API,提供五种可调的一致性级别,并为可用性、延迟、吞吐量和一致性提供全面的 SLA。数据被组织成帐户、数据库和容器(或根据 API 不同,称为集合/表/图)。容器通过分区键进行水平分区和扩展,所有操作都以请求单位 (Request Units, RU) 来计量,这是一种标准化的货币,它抽象了 CPU、IOPS 和内存的消耗。

API 和可编程性

Cosmos DB 支持多种线路兼容的 API,因此您可以使用原生 SDK 和驱动程序,而无需重写数据模型:

undefined

的代码创建一个 .NET 客户端。

跨 API 的通用 SDK 操作包括 CRUD、使用 ETags 的乐观并发、upsert、服务器端脚本(存储过程、触发器)和 UDF (SQL API)。查询是参数化的,以减少 RU 消耗并提高安全性。批量操作和流式 API 可最大限度地减少客户端开销和 RU 成本,以实现高吞吐量的数据引入。

一致性、索引和查询语义

Cosmos DB 每个帐户提供五个明确定义的一致性级别(在许多 SDK 中可按请求覆盖):

对于 SQL API,索引默认是自动且一致的。每个项目和属性都被索引,无需管理架构,因此写入会立即更新索引(索引模式为 Consistent)。您可以优化索引策略以:

注意项目大小和查询形态。SQL API 强制执行项目大小限制(例如 2 MB),跨分区查询、大型投影和复杂谓词会增加 RU 消耗。使用选择性投影、适当的筛选器和分区感知的查询来最小化 RU 成本。

分区和吞吐量 (RU)

Cosmos DB 区分逻辑分区和物理分区:

选择一个具有高基数和随时间均匀分布的访问模式的有效分区键。好的键应与您的主要访问路径相关联(例如,userId、deviceId、tenantId 或 orderId)。避免使用会导致偏斜的低基数或按时间分桶的键(例如,country、status 或 day)。当没有单个属性适合时:

吞吐量模型:

RU 优化技术包括通过 id+分区键进行点读取、参数化查询、选择性投影、通过反规范化来减少类 JOIN 模式,以及使用更改源生成派生视图,而不是进行复杂的多容器查询。使用带有 If-Match 的 ETag 进行并发控制,以避免耗费大量 RU 的重试。监控 RU 指标和限制 (HTTP 429),并在 SDK 中实施带抖动的重试策略。

全球分发与变更源

Cosmos DB 的一站式多区域分发功能让您可以随时添加或删除区域。所有区域都是可读的;启用多区域写入后,可在任何地方进行并发写入,并在邻近区域实现 99% 的读取延迟低于 10 毫秒。客户端 SDK 应配置首选区域,以便将流量路由到本地并平滑地进行故障转移。在 .NET 中,通过 CosmosClientOptions 的 ApplicationPreferredRegions(或其他 SDK 中的等效项)提供首选区域。多区域写入需要一个冲突解决策略:

变更源为每个逻辑分区键提供一个有序的、仅追加的变更日志。它非常适用于:

实际问题场景

Spotify 需要提供一个全球可用的个性化服务,该服务能实时引入用户交互,更新每个用户的推荐,并从最近的区域提供低延迟读取。写入可能来自全球各地的移动客户端,并且推荐更新必须扇出到下游系统。

  1. 选择 Cosmos DB SQL (Core) API 并启用多区域写入
  1. 定义一个高基数分区键和分层键
  1. 在主容器上配置自动缩放吞吐量
  1. 在账户级别将会话一致性设置为 Session
  1. 使用 Azure Functions 和变更源处理器实现变更源处理
  1. 创建一个具有定制索引策略的派生推荐容器
  1. 在 SDK 中启用全球分发并配置首选区域
  1. 配置冲突解决与可观测性

该架构提供了全球低延迟的读写、通过变更源实现的弹性事件处理、经济高效的自动缩放,以及适用于个性化工作负载的强大一致性语义。


Azure 存储与 Blob 存储 · 所有领域 · Azure 容器解决方案

练习这些题目 → · 在 ExamRoll.io 上限时练习 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通过考试 →

浏览 Microsoft →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品