您必须将 2 亿个 JSON 文档迁移到现有的 Azure Cosmos DB SQL API 容器中,并在文档已存在时执行 upsert 操作。目标是最大限度地提高吞吐量,自动处理限流,并最大限度地减少 .NET 服务中的代码更改。您应该采取哪两项措施?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用 Azure Cosmos DB .NET SDK (v3/v4),启用 AllowBulkExecution 并调度并行 CreateItemAsync/UpsertItemAsync 调用。, 使用适用于 .NET 或 Java 的 Azure Cosmos DB Bulk Executor 库执行高吞吐量的批量导入和更新操作。.
为什么这是答案
为了最大限度地提高吞吐量并自动处理限流,同时最大限度地减少代码更改,最有效的方法是利用 Azure Cosmos DB 提供的批量操作功能。 选项一正确:Azure Cosmos DB .NET SDK (v3/v4) 中的 AllowBulkExecution 功能专门设计用于高效地批量处理操作,它会自动管理并发和限流(429 错误),从而实现高吞吐量。 选项二正确:Azure Cosmos DB Bulk Executor 库(适用于 .NET 或 Java)是为大规模数据导入和更新而优化的,它能自动处理分区管理、请求重试和限流,从而实现极高的吞吐量。 选项三不正确:顺序插入并采用指数退避策略虽然可以避免 429 错误,但会严重限制吞吐量,无法满足“最大限度地提高吞吐量”的要求。 选项四不正确:为每个文档调用存储过程会增加每次操作的开销,并且存储过程有执行时间限制,不适合处理 2 亿个文档的批量操作,也无法自动处理限流。 选项五不正确:使用单个 Azure Functions 实例和队列触发器会将写入操作序列化,这会限制吞吐量,无法满足性能要求。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡