用作键值存储的 Azure Cosmos DB - 费用概述

Azure Cosmos DB 是一个多区域分布式多模型数据库服务,用于轻松构建高度可用的大规模应用程序。 默认情况下,Azure Cosmos DB 会自动为其引入的所有数据高效编制索引。 因此,可针对任何类型的数据执行快速一致的 SQL(和 JavaScript)查询。

本文介绍使用 Azure Cosmos DB 作为键/值存储执行简单写入和读取操作时产生的成本。 写入操作包括文档的插入、替换、删除和更新插入。 除了针对所有采用宽松一致性的单区域帐户和多区域帐户提供有保证的 99.99% 可用性 SLA,针对所有多区域数据库帐户提供 99.999% 读取可用性以外,Azure Cosmos DB 还保证读取延迟小于 10 毫秒,(索引)写入延迟小于 15 毫秒,SLA 高达 99%。

为何使用请求单位 (RU)

Azure Cosmos DB 的性能基于分区的预配请求单位 (RU) 数量。 预配属于另一种粒度,根据每秒 RU 数(请不要与每小时计费相混淆)购买。 应将 RU 视为一种货币,用于简化应用程序所需吞吐量的预配过程。 客户无需考虑读取和写入容量单位之间的差异。 RU 的单一货币模型能够有效地在读取和写入之间分享预配的容量。 这种预配的容量模型使服务能够提供可预测且一致的吞吐量,保证低延迟、高可用性。 最后,我们使用 RU 来为吞吐量建模,但每个预配的 RU 还具有定义数量的资源(内存、核心)。 每秒 RU 数不仅仅是 IOPS。

作为一种多区域分布式数据库系统,Cosmos DB 是唯一除提供高可用性外还在延迟、吞吐量和一致性方面提供 SLA 的 Azure 服务。 预配的吞吐量应用到与 Cosmos DB 数据库帐户关联的每个区域。 对于读取,Cosmos DB 提供多个妥善定义的一致性级别供用户选择。

下表显示基于 1 KB 和 100 KB 自定义文档大小执行读取和写入事务所需的 RU 数量。

项大小 1 次读取 1 次写入
1 KB 1 RU 5 RU
100 KB 10 RU 50 RU

后续步骤

请持续关注有关优化 Azure Cosmos DB 资源预配的新文章。 同时,欢迎使用我们的 RU 计算器