迁移应用程序以使用 Azure Cosmos DB .NET SDK v2
适用范围: NoSQL
重要
请务必注意,.NET SDK 的 v3 当前可用,此处提供了从 v2 到 v3 的迁移计划。 若要了解 Azure Cosmos DB .NET SDK v2,请参阅发行说明、.NET GitHub 存储库、.NET SDK v2 性能提示和故障排除指南。
本文重点介绍将现有 v1 .NET 应用程序升级到适用于 API for NoSQL 的 Azure Cosmos DB .NET SDK v2 时的一些注意事项。 Azure Cosmos DB .NET SDK v2 对应于 Microsoft.Azure.DocumentDB
命名空间。 如果要从以下任何 Azure Cosmos DB .NET 平台迁移应用程序以使用 v2 SDK Microsoft.Azure.Cosmos
,则可以使用本文档中提供的信息:
- 适用于 API for NoSQL 的 Azure Cosmos DB .NET Framework v1 SDK
- 适用于 API for NoSQL 的 Azure Cosmos DB .NET Core SDK v1
v2 SDK 包含许多可用性和性能改进,包括:
- 为非 Windows 客户端提供对 TCP 直接模式的支持
- 多区域写入支持
- 查询性能改进
- 支持地理空间/几何集合和索引编制
- 增加了对直接/TCP 传输诊断的改进
- 直接 TCP 传输堆栈更新,以减少建立的连接数
- 关于 RequestTimeout 中延迟减少的改进
大多数重试逻辑和较低级别的 SDK 基本保持不变。
除了大量的性能改进之外,最新 SDK 中的新功能投资将不会反向移植到较旧版本。
此外,较旧的 SDK 将被较新的版本取代,而 v1 SDK 将进入维护模式。 为了获得最佳的开发体验,建议将应用程序迁移到更高版本的 SDK。
.NET v2 SDK 现在支持直接模式和网关模式。 直接模式支持通过 TCP 协议进行连接并提供更佳的性能,因为它直接连接到后端副本,且网络跃点较少。
有关更多详细信息,请仔细阅读 Azure Cosmos DB SQL SDK 连接模式指南。
v2 SDK 不再使用 v1 中所使用的简单会话令牌格式,改为使用向量格式 。 由于格式不可互换,在传递给具有不同版本的客户端应用程序时应转换格式。
有关详细信息,请参阅 .NET SDK 中的转换会话令牌格式。
.NET 更改源处理器库 2.1.x 需要 Microsoft.Azure.DocumentDB
2.0 或更高版本。
2\.1.x 库具有以下主要更改:
- 稳定性和诊断改进
- 改进了对错误和异常的处理
- 对分区租用集合的其他支持
- 用于实现
ChangeFeedDocument
接口和类的高级扩展,适用于其他错误处理和跟踪 - 添加了对使用自定义存储来持久存储每个分区的延续令牌的支持
有关详细信息,请参阅更改源处理器库发行说明。
v2 批量执行工具库当前对 Azure Cosmos DB .NET SDK 2.5.1 或更高版本具有依赖项。
有关详细信息,请参阅 Azure Cosmos DB 批量执行工具库概述和 .NET 批量执行工具库发行说明。
- 阅读有关使用 Azure Cosmos DB for API for NoSQL v2 优化应用程序来实现最大性能的其他性能提示
- 详细了解 v2 SDK 的用途
- 尝试为迁移到 Azure Cosmos DB 进行容量计划?
- 如果只知道现有数据库群集中的 vCore 和服务器数量,请阅读使用 vCore 或 vCPU 估算请求单位
- 若知道当前数据库工作负载的典型请求速率,请阅读使用 Azure Cosmos DB 容量计划工具估算请求单位