Header Place holder

Azure Cosmos DBAzure Cosmos DB

任何规模的多模型数据库服务

申请试用 立即购买

Azure Cosmos DB 是个分布式多模式数据库。Azure Cosmos DB 从一开始就将分布和横向缩放作为其核心。通过透明地缩放和复制数据(无论用户位于何处),在任意数量的 Azure 区域提供统包分布。灵活缩放多个数据中心范围内的吞吐量和存储,只为需要的吞吐量和存储付费。Azure Cosmos DB 保证各区域任意位置在第 99 个百分位为个位数毫秒的延迟,提供多种定义明确的一致性模型以微调性能,并保证多宿主功能的高可用性 - 所有功能均由业界领先的综合性服务级别协议(SLA) 提供支持。

Azure Cosmos DB 的的确确与架构无关;它可以自动索引所有数据,无需处理架构和索引管理。它也是多模型、本地支持文档、键值、图和列-系列的数据模型。借助 Azure Cosmos DB,可以使用选择的 API 访问数据,因为DocumentDB SQL(文档)和 MongoDB(文档)、Azure 表存储(键值)、Gremlin(图形)和 Cassandra(列系列)都可在本地获得支持。

AZURE COSMOS DB 功能
通过多主数据库功能实现统包全局分布
全球可用性(所有 Azure 区域,包括美国政府、DoD、中国)
多模型、多 API,支持丰富查询和自动索引
在 99% 的情况下,读取和写入延迟仅几毫秒(受 SLA 支持)
综合 SLA
  • 可用性 SLA
  • 吞吐量 SLA
  • 一致性 SLA
  • 延迟 SLA
安全性
  • 端到端数据加密(静态和动态)
  • IP 和 VNET 隔离
  • 访问控制和授权
弹性和无限规模
  • 吞吐量和存储没有限制
  • 即时缩放,降低本地和托管 IaaS 的 NoSQL 数据库的总拥有成本
与 Azure 合规性一致的全面合规性认证

定价概览

预配的吞吐量

Azure Cosmos DB 数据库帐户可跨一个或多个 Azure 区域分布。与数据库帐户关联的所有区域都可提供读取服务,同时也可将数据库帐户配置为允许所有区域处理写入(多主数据库),或配置为仅允许一个区域处理写入(单主数据库)。

在 Azure Cosmos DB 中,需要为预配的吞吐量和使用的存储(按小时)付费。吞吐量按照称为每秒请求单位(RU/秒)的规范化吞吐量货币来表示。预配后,即可在多种数据库操作(如插入、读取、更换、upserts、删除、查询等)中互换使用 RU/秒。可通过编程方式(或通过 Azure 门户)配置所需吞吐量,并在任何时候弹性缩放预配吞吐量。

预配的吞吐量

可在不同粒度预配吞吐量。可为以下各项预配吞吐量:

  1. Cosmos DB 容器。根据所选数据模型或 API,Cosmos DB 容器可以是一个集合(例如 MongoDB、SQL)、一个图形(例如 Gremlin)或一个表(例如 Cassandra、Azure 表存储)。Cosmos DB 中的容器进行了横向分区,并且可对其进行弹性缩放,以提供不限量的吞吐量和存储。
  2. Cosmos DB 数据库。为数据库配置的吞吐量由该数据库中的所有容器共享。可选择从数据库预配中显式排除某些容器,在容器级别为这些容器预配吞吐量。
预配粒度 最小吞吐量(RU/秒) 纵向扩展/减少增量(RU/秒) 最大吞吐量 范围
单区域写入 多区域写入 单区域写入 多区域写入
容器* 400 400 100 100 无限制 为其预配吞吐量的分区容器
数据库** 400 400 100 100 无限制 可在数据库内的所有分区容器(不包括已显式预配其吞吐量的容器)之间共享所有吞吐量
*Cosmos DB 容器映射到以下各项:Cosmos DB 集合(使用 SQL API 时)、MongoDB 集合(使用 MongoDB API 时)、表(使用 Cassandra 或表存储 API 时)或图形(使用 Gremlin API 时)。

**Cosmos DB 数据库映射到以下各项:数据库(使用 SQL 或 MongoDB API 时)、密钥空间(使用 Cassandra API 时)或数据库帐户(使用 Gremlin 或表存储 API 时)。

全球范围内弹性缩放读取和写入

可随时随地向 Cosmos DB 数据库帐户添加/删除 Azure 区域。对于为不同 Cosmos DB 数据库和容器配置的吞吐量,我们保证可在与 Cosmos DB 数据库帐户关联的每个 Azure 区域中保留这些吞吐量。

SSD 支持的存储

数据和索引永久存储在 SSD 支持的存储中,并进行了复制(在与 Cosmos DB 数据库帐户关联的一个或多个 Azure 区域中)。除了预配的每小时吞吐量外,还需要为数据和索引实际使用的每 GB 存储付费。

定价详细信息

*以下价格均为含税价格。

*每月价格估算基于每个月 744 小时的使用量。
单位 价格
SSD 存储空间(每 GB) ¥ 2.576 /GB/月
每 100 个 RU 每秒的预配吞吐量(单区域写入) ¥ 0.051 /小时 (约 ¥ 37.94 /月)
每 100 个 RU 每秒的预配吞吐量(多区域写入) ¥ 0.102 /小时 (约 ¥ 75.888 /月)

缩放容器

对于高吞吐量和高存储空间工作负荷,可通过在创建集合时定义分区键来创建无限存储容器。随着存储数据的数量增多和保留吞吐量增加,分区容器和将无缝扩展。

多区域规模,兼备异地复制

Azure Cosmos DB 容器可分布,这意味着所有数据均可自动复制到所指定的区域。应用继续使用一个逻辑终结点,而采用可实现数据一致性99.99 可用性的直观编程模型从最近区域提取数据自动提供给用户。按每个区域中占用的存储空间和所保留的吞吐量,以及为每个 Azure Cosmos DB 容器保留的吞吐量 x 与 Azure Cosmos DB 数据库帐户关联的区域数量,对分布的容器进行计费。标准数据传输费率适用于区域之间的复制数据传输。例如,假设用户有一个跨越三个 Azure 区域的数据库帐户,以及两个分别预配了 1M RU 和 2M RU 的容器。第一个容器的总预配 RU 将是 3M RU(1M RU x 3 个区域),第二个容器的总预配 RU 将是 6M RU(2M RU x 3 个区域)。

高吞吐量和低延迟查询

借助 Azure Cosmos DB,在写入持续的数据量时,将通过为固态硬盘 (SSD) 和低延迟访问而设计的写入优化、免闩锁数据库引擎,同步对这些数据进行索引以提供一致的 SQL 查询。当数据分布时,读取和写入请求总是源自本地区域。通过自定义自动索引行为,可进一步优化性能。

常见问题

全部展开
  • 请求单位是什么?

    请求单位 (RU) 是 Azure Cosmos DB 中吞吐量的衡量单位。1 个 RU 对应于获取 1KB 文档的吞吐量。在 DocumentDB 中进行的每个操作(包括读、写、SQL 查询和执行存储的程序)都将具有一个确定的请求单位值,该值基于完成该操作所需的吞吐量。你无需考虑 CPU、IO 和内存,以及它们会怎样影响你的应用程序吞吐量,而是可以根据一个请求单位度量值进行考虑。

    通过预配 RU 的每秒或一分钟的存储桶所使用的请求单位是相同的。

    有关请求单位的详细信息和确定集合需求的帮助,请查看Azure Cosmos DB 中的请求单位

  • 请求单位使用情况如何显示在我的帐单上?

    在此期间,根据你的 Azure Cosmos DB 帐户下预配的总体容量 (RU/sec),采用波动平稳的可预测小时费率进行计费。

    如果分别使用 500 RU/秒和 700 RU/秒两个分区创建帐户,则总预配容量将达到 1,200 RU/秒。因此,计费金额为 12 x ¥ 0.051 = ¥ 0.612 /小时。

    如果需要更改吞吐量,每个分区的容量增加了 500 RU/秒,同时还使用 20,000 RU/秒创建了新的无限存储容器,则预配的总体容量为 22,200 RU/秒(1,000 RU/秒 + 1,200 RU/秒 + 20,000RU/秒)。这时,帐单将变为:¥ 0.051 x 222 = ¥ 11.322/小时。

    在一个月的 720 小时中,如果有 500 小时预配为 1,200 RU/秒,有 220 小时预配为 22,200 RU/秒,则每月帐单将显示:500 x ¥ 0.612/小时 + 220 x ¥ 11.322/小时 = ¥ 2,796.84。

  • 每分钟请求单位的工作原理

    除了常规的预览吞吐量,现在可以预配附加的每分钟请求单位。你可以在 UTC 分钟窗口中使用这些附加吞吐量单位。对于容器中预配的每个 100 RU/秒,如果启用每分钟请求单位,则每分钟能够额外使用 1,000 个请求单位。

    例如,如果预配了 400 个 RU/秒,则可以使用附加的 4,000 个每秒请求单位。假如在中午 12 点整时,应用程序需要超过 400 个 RU/秒。从下午 12:00:01 到12:01:00,应用程序将能够使用 4,000 个额外的请求单位,同时可以继续使用预配的 400 RU/秒 吞吐量。从下午 12:00:01 开始,如果在下午 12:01:00 之前使用了全部的 4,000 个请求单元,直到下一个 UTC 分钟(从下午 12:01:01 开始),才能使用其他请求单位。如果在给定的分钟时段中不使用全部的 4,000 个请求单元,剩余的请求单位不会累计到下一个分钟时段。

    有关详细信息,请查看Azure Cosmos DB 中的每分钟请求单位数

  • 如果为容器指定自己的性能,会如何对存储计费?

    存储容量按一个月内每小时的最大数据存储量(以 GB 为单位)计费。例如,如果你在前半个月使用了 100 GB 的存储空间,而在后半个月使用了 50 GB 的存储空间,则该月将按 75 GB 的等效存储空间进行计费。

  • 如果容器存在时间不足一个小时如何计费?

    将按容器存在的每小时的统一费率对你收费,无论使用量是多少,也无论集合存在时间是否不足一个小时。例如,如果你创建一个容器,然后在 5 分钟后删除它,那么你的帐单将反映 1 个单位小时的收费。

  • 如何增加或减少每个集合的吞吐量?

    你可以使用Azure 门户中一个受支持的 SDK 或 REST API 来增加或减少 Azure Cosmos DB 帐户内每个容器的请求单位数。

  • Azure Cosmos DB如何才能停止计费?

    只有删除才能停止计费。

支持和服务级别协议

如有任何疑问或需要帮助,请访问Azure 支持选择自助服务或者其他任何方式联系我们获得支持。

在中国由世纪互联运营的Azure Cosmos DB分布式多模型数据库服务。它在中国不同 Azure 数据中心提供统包数据分发,无论您的用户位于何处,其均可以透明方式调整及复制您的数据。该服务提供全面的 99.99% 服务级别协议,包括对配置有五种一致性水平中任意一种的单个 Azure 区域的 Cosmos DB 数据库帐户,或是配置有四种松散一致性水平中任意一种的跨多个 Azure 区域的数据库帐户的吞吐量、一致性、可用性和延迟保证。此外,除一致性水平选择之外,Cosmos DB 还提供跨两个或多个 Azure 区域数据库帐户的读取可用性为 99.999% 的服务级别协议。

若要了解有关我们的服务级别协议的详细信息,请访问服务级别协议页。

准备好开始了吗?

申请试用,即获 1,500 元人民币的 Azure 免费信用额度

申请试用