Azure Cosmos DB for NoSQL 是一种多区域分布式多模型数据库服务,旨在将非结构化数据作为 JSON 文档进行处理。 它为需要灵活架构设计、高可用性和多区域分发的应用程序提供高度可缩放和低延迟的解决方案。 开发人员可以使用 Azure Cosmos DB for NoSQL 构建需要实时性能和无缝可伸缩性的新式应用程序。
此服务是 Azure Cosmos DB 套件的一部分,但专为 NoSQL 工作负载量身定做。 它支持使用类似于 SQL 的查询语言查询 JSON 数据,使熟悉 SQL 语法的开发人员能够接近,同时使用 NoSQL 非结构化数据存储的灵活性。
全局分发和可伸缩性
Azure Cosmos DB for NoSQL 旨在跨多个区域水平扩展,确保全国范围内的用户能够低延迟访问数据。 借助其即用型多区域分发功能,您只需执行一些操作即可轻松在 Azure 区域间复制数据。 该服务会自动处理分区和缩放,以满足应用程序的性能和存储需求。
灵活的架构和 JSON 数据模型
NoSQL API 使用基于 JSON 的数据模型,允许你存储和查询非结构化或半结构化数据,而无需固定架构的约束。 这种灵活性使它非常适合数据结构随时间变化的应用程序,例如 IoT、电子商务和社交媒体平台。
低延迟和高可用性
Azure Cosmos DB for NoSQL 保证在第99百分位时实现个位数的读取和写入延迟。 它还为多区域配置提供 99.999% 可用性,确保应用程序即使在高峰使用或区域性中断期间仍保持响应和可靠。
类似于 SQL 的查询语言
适用于 NoSQL 的 API 提供了类似于 SQL 的查询语言来查询 JSON 数据,使开发人员无需学习新语法即可检索和作数据。 此功能弥合了传统关系数据库用户与 NoSQL 系统之间的差距。
要求和依赖项
若要使用 Azure Cosmos DB for NoSQL,需要一个 Azure 订阅。 该服务与其他 Azure 服务(例如 Azure Functions、Azure 逻辑应用和 Azure Synapse Analytics)无缝集成,使你能够构建端到端解决方案。 软件开发工具包(SDK)适用于常用的编程语言,包括 .NET、Python、TypeScript、Rust、Go、JavaScript 和 Java。
限制和注意事项
虽然 Azure Cosmos DB for NoSQL 功能十分通用,但它针对基于 JSON 的 NoSQL 工作负载进行优化。 如果应用程序需要对其他数据库模型(如 MongoDB、Cassandra 或 Gremlin)的支持,则可能需要浏览 Azure Cosmos DB 套件中的其他 API。 此外,服务的成本模型基于预配的吞吐量(RU/s),因此需要仔细规划来优化工作负荷的成本。