你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure Cosmos DB 容量规划器估算 RU/秒 - Azure Cosmos DB for NoSQL
适用范围: NoSQL
注意
如果计划将数据迁移到 Azure Cosmos DB,但只知道现有分片和复制数据库群集中的 vCore 和服务器数量,请阅读使用 vCore 或 vCPU 估算请求单位。
针对你的工作负荷为 Azure Cosmos DB 数据库和容器配置适当数量的预配吞吐量(也称为请求单位(RU/秒))对于优化成本和性能非常重要。 本文介绍如何使用 Azure Cosmos DB 容量规划器来估算使用 Azure Cosmos DB for NoSQL 时工作负载所需的 RU/秒和成本。 如果使用 Azure Cosmos DB for MongoDB,请参阅估算 RU/秒 - Azure Cosmos DB for MongoDB。
容量规划器模式
基本
提供快速、大概的 RU/秒和成本估算。 此模式为索引编制策略、一致性和其他参数采用默认的 Azure Cosmos DB 设置。
评估要在 Azure Cosmos DB 上运行的潜在工作负载时,请使用基本模式进行快速、大概的估算。 若要了解详细信息,请参阅如何使用基本模式估算成本。
高级
提供更详细的 RU/秒和成本估算,还可以调整其他设置:索引编制策略、一致性级别以及影响成本和吞吐量的其他参数。
当为新项目估算 RU/秒或需要更详细的估算时,请使用高级模式。 若要了解详细信息,请参阅如何使用高级模式估算成本。
使用基本模式估算预配吞吐量和成本
若要使用基本模式针对工作负载进行快速估算,请打开容量规划器。 根据工作负载输入以下参数:
输入 | 说明 |
---|---|
API | 选择“Azure Cosmos DB for NoSQL”。 |
区域数量 | Azure Cosmos DB 面向所有 Azure 区域提供。 选择你的工作负荷所需的区域数目。 可以将任意数量的区域与 Azure Cosmos DB 帐户相关联。 有关详细信息,请参阅使用 Azure Cosmos DB 在全球范围内分发数据。 |
多区域写入 | 如果你启用多区域写入,则你的应用程序可以在任何 Azure 区域中进行读取和写入。 如果你禁用多区域写入,则你的应用程序可以将数据写入到单个区域。 如果你预计在不同区域中会有需要低延迟写入的主动-主动工作负荷,请启用多区域写入。 例如,在不同区域中大量向数据库写入数据的 IOT 工作负荷。 多区域写入可保证 99.999% 的读取和写入可用性。 与单一写入区域相比,多区域写入需要更多的吞吐量。 有关详细信息,请参阅在 Azure Cosmos DB 中优化多区域成本。 |
事务存储中存储的数据总量 | 单个区域中的事务存储中存储的估算数据总量 (GB)。 |
使用分析存储 | 若要使用分析存储,请选择“开”。 输入“存储在分析存储中的总数据”,其表示在单个区域的分析存储中存储的估算数据 (GB)。 |
项大小 | 数据项(例如文档)的估算大小。 |
最大读取区域中的点读取数/秒 | 每个区域每秒的预期点读取操作数。 点读取指对单项 ID 和分区键执行键/值查找。 有关点读取数的详细信息,请参阅读取数据:点读取数和查询数。 |
所有区域的创建数/秒 | 每个区域每秒的预期创建操作数。 |
所有区域的更新数/秒 | 每个区域每秒的预期更新操作数。 选择自动编制索引时,该更新操作的“RU/秒”估计值被当作每次更新更改的一个属性来计算。 |
所有区域的删除数/秒 | 每个区域每秒的预期删除操作数。 |
所有区域的查询数/秒 | 每个区域每秒的预期查询数。 用于运行查询的平均 RU 费用预计为 10 个 RU。 |
填写所需的详细信息后,选择“计算”。 “成本估算”表显示存储和预配吞吐量的总成本。 可以展开“显示详细信息”链接,获取不同 CRUD 和查询请求所需的吞吐量的明细。 每次更改任何字段的值后,请选择“计算”来重新计算估计成本。
使用高级模式估算预配吞吐量和成本
在高级模式下可以提供影响 RU/秒估算值的更多设置。 若要使用此选项,请转到容量规划器并使用你用于 Azure 的帐户登录。 “登录”选项位于右侧边角。
登录后,与基本模式中的字段相比,你可以看到更多字段。 根据你的工作负载输入其他参数。
输入 | 说明 |
---|---|
API | Azure Cosmos DB 是一项多模型和多 API 服务。 选择“Azure Cosmos DB for NoSQL”。 |
区域数量 | Azure Cosmos DB 面向所有 Azure 区域提供。 选择你的工作负荷所需的区域数目。 可以将任意数量的区域与 Azure Cosmos DB 帐户相关联。 有关详细信息,请参阅使用 Azure Cosmos DB 在全球范围内分发数据。 |
多区域写入 | 如果你启用多区域写入,则你的应用程序可以在任何 Azure 区域中进行读取和写入。 如果你禁用多区域写入,则你的应用程序可以将数据写入到单个区域。 如果你预计在不同区域中会有需要低延迟写入的主动-主动工作负荷,请启用多区域写入。 例如,在不同区域中大量向数据库写入数据的 IOT 工作负荷。 多区域写入可保证 99.999% 的读取和写入可用性。 与单一写入区域相比,多区域写入需要更多的吞吐量。 有关详细信息,请参阅在 Azure Cosmos DB 中优化多区域成本。 |
默认一致性 | Azure Cosmos DB 支持 5 种一致性级别,让你可以在一致性、可用性和延迟之间进行权衡。 有关详细信息,请参阅一致性级别。 默认情况下,Azure Cosmos DB 使用会话一致性,这可以保证能够在会话中读取你自己的写入。 与会话一致性、一致前缀一致性和最终一致性相比,选择强一致性或有限过期一致性将会使读取所需的 RU/秒翻倍。 多区域写入强一致性不受支持,系统将自动默认选择单区域写入强一致性。 |
索引编制策略 | 默认情况下,Azure Cosmos DB 会为所有项中的所有属性编制索引,以便进行灵活且高效的查询。 此方法与“自动”索引编制策略相关。 如果选择“关”,则不会为任何属性编制索引。 这方法将导致最低的写入 RU 开销。 如果预计仅执行点读取(键值查找)和写入而不执行查询,请选择“关”。 如果选择“自动”,Azure Cosmos DB 会在所有项写入时自动对其编制索引。 “自定义”索引编制策略让你可以从索引中纳入或排除特定属性,以降低写入吞吐量和存储空间。 有关详细信息,请参阅 Azure Cosmos DB 中的索引编制和索引编制策略示例。 |
事务存储中存储的数据总量 | 单个区域中的事务存储中存储的估算数据总量 (GB)。 |
使用分析存储 | 若要使用分析存储,请选择“开”。 输入“存储在分析存储中的总数据”,其表示在单个区域的分析存储中存储的估算数据 (GB)。 |
工作负荷模式 | 如果工作负荷量固定,请选择“稳定”。 如果工作负载量在一段时间内(在特定的某一天内或在一个月内)改变,请选择“可变”。 如果选择“可变工作负载”选项,则“高峰时间百分比”设置可用。 |
高峰时间百分比 | 仅适用于“可变工作负载”选项。 一个月内工作负荷需要峰值(最高)吞吐量的时间百分比。 例如,如果你的工作负载在工作日的上午 9 点到下午 6 点的营业时间内有大量活动,则高峰时间的百分比为:(9 hours per weekday at peak * 5 days per week at peak) / (24 hours per day at peak * 7 days in a week) = 45 / 168 = ~27% 。 使用高峰和非高峰时间间隔,你能够相应地以编程方式缩放预配吞吐量,从而优化成本。 |
项大小 | 数据项(例如文档)的大小。 你可以为多个示例项添加估算。 你还可以上传示例 (JSON) 文档以获得更准确的估计。 如果工作负载有多个类型的项并且这些项在同一容器中包含不同的 JSON 内容,则可以上传多个 JSON 文档并获得估算值。 选择“添加新项”可添加多个示例 JSON 文档。 |
属性数 | 每项的平均属性数。 |
点读取数/秒 | 每个区域每秒的预期点读取操作数。 点读取指对单项 ID 和分区键执行键/值查找。 点读取操作不同于查询读取操作。 有关点读取数的详细信息,请参阅读取数据:点读取数和查询数。 如果你的工作负载模式是可变的,则你可以提供高峰期和非高峰期的预期点读取操作数。 |
创建数/秒 | 每个区域每秒的预期创建操作数。 |
更新次数/秒 | 每个区域每秒的预期更新操作数。 |
删除数/秒 | 每个区域每秒的预期删除操作数。 |
Queries/sec | 每个区域每秒的预期查询数。 为准确估算,请使用查询的平均成本或输入查询在 Azure 门户中使用的查询统计信息时所使用的吞吐量(RU/秒)。 |
每个查询的平均 RU/秒费用 | 默认情况下,每个区域每秒的平均查询成本估值为 10 RU/秒。 你可以根据估算的查询费用及 RU/秒的收费情况来提高或降低此价格。 |
Azure Cosmos DB 容量规划器中显示的价格是基于吞吐量和存储的公共定价费率进行评估的。 所有价格显示为美元。 若要按区域查看所有费率,请参阅 Azure Cosmos DB 定价页。