你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Cosmos DB for NoSQL 是一个完全托管的无服务器 NoSQL 和矢量数据库,用于新式应用开发,包括 AI 应用程序和代理。 借助 SLA 支持的速度、可用性和即时动态可伸缩性,非常适合需要高性能和分布式处理的实时工作负载,这些工作负载需要大量 JSON 和矢量数据。
此服务是 Azure Cosmos DB 项目组合的一部分,但专为 NoSQL 工作负载量身定做。 它支持使用类似于 SQL 的查询语言查询 JSON 数据,这使得了解 SQL 的开发人员能够轻松访问,同时仍受益于与架构无关的数据存储的灵活性。
全局分发和可伸缩性
Azure Cosmos DB for NoSQL 旨在跨多个区域进行水平扩展,确保全球用户能够低延迟访问数据。 使用单键全局分布,只需执行一些作即可跨 Azure 区域复制数据,而服务会自动处理分区和缩放以满足性能和存储需求。
灵活的架构和 JSON 数据模型
NoSQL API 使用基于 JSON 的数据模型,允许你存储和查询非结构化或半结构化数据,而无需严格的架构约束。 这种灵活性使它适用于数据结构频繁发展的应用程序,例如 IoT、电子商务和社交媒体平台。
低延迟和高可用性
Azure Cosmos DB for NoSQL 保证在第99百分位时实现个位数的读取和写入延迟。 它还为多区域配置提供 99.999% 可用性,因此应用程序在高峰使用或区域性服务中断期间保持响应和可靠。
类似于 SQL 的查询语言
API for NoSQL 提供类似于 SQL 的查询语言来查询 JSON 数据,帮助开发人员检索和作数据,而无需学习不熟悉的语法。 此功能弥合了传统关系数据库用户与分布式 NoSQL 系统之间的差距。
要求和依赖项
若要使用 Azure Cosmos DB for NoSQL,需要一个 Azure 订阅。 该服务与 Azure Functions、Azure 逻辑应用、Azure Synapse Analytics 和其他 Azure 服务集成,以构建端到端解决方案。 软件开发工具包(SDK)适用于常用的编程语言,包括 .NET、Python、TypeScript、JavaScript、Java、Go 和 Rust。
限制和注意事项
Azure Cosmos DB for NoSQL 针对基于 JSON 的横向扩展工作负荷进行了优化。 当方案与不同的数据模型保持一致时,请考虑本指南以登陆正确的服务:
- 如果需要 MongoDB 聚合管道、多文档事务或多云可移植性,而无需重构驱动程序,Azure DocumentDB。
- 需要在 Cassandra 查询语言(CQL)工作负荷不变的同时具备全面节点级控制时,可以使用 针对 Apache Cassandra 的 Azure 托管实例。
- 当图形工作负载以检索扩充生成(RAG)或 AI 驱动的遍历为中心时,Cosmos AIGraph (OmniRAG)将知识图与矢量/混合搜索相结合。
- 需要在 OneLake 中进行分析图处理、BI 集成或符合 GQL 标准的工作负载时,Microsoft Fabric 中的图。
- Azure Database for PostgreSQL 是一个在需要具有 SQL 联接、存储过程或纵向扩展事务语义的关系引擎时的理想选择。
由于 NoSQL API 使用请求单位(RU/s)成本模型,因此估算和监视吞吐量以优化工作负荷的支出。
Azure Cosmos DB 与 Azure DocumentDB
Azure Cosmos DB 和 Azure DocumentDB 都是 NoSQL 数据库服务,用于存储可靠性较高的 JSON 数据。 Azure Cosmos DB 针对需要全局分布、大规模和即时扩展能力的横向扩展场景进行了优化,并在跨区域时提供自动故障转移能力。
Azure DocumentDB (vCore)针对可优先处理丰富查询功能和熟悉的开发体验的纵向扩展方案进行优化。 它在具有完整 MongoDB 线路协议兼容性的 PostgreSQL 上构建的开源 DocumentDB 引擎上运行。 这种兼容性使它非常适合复杂的聚合管道、分析和高级文档数据库功能。
| 特征 | Azure Cosmos DB (RU/无服务器) | Azure DocumentDB (vCore) |
|---|---|---|
| 可用性服务级别协议 (SLA) | 99.999% (多区域) | 99.995% |
| 缩放模型 | 水平 (基于 RU + 无服务器) | 垂直(基于 vCore) |
| 查询焦点 | 针对点读取和分布式查询进行了优化 | 高级聚合管道和复杂联接 |
| 全球分布 | 即插即用的多区域方案,具备自动故障转移功能 | 具有可选异地副本的区域部署 |
| 成本模型 | 基于请求单位(RU)的变量或无服务器环境 | 可预测的计算 + 存储 |
有关详细信息,请参阅 Azure DocumentDB 与 Azure Cosmos DB 决策指南。