Azure Cosmos db的吞吐量值

时间:2017-09-11 12:04:11

标签: azure azure-cosmosdb

我对分区如何影响Azure Cosmos DB的大小限制和吞吐量值感到困惑(在我们的例子中,我们使用的是documentdb)。如果我正确理解documentation

  1. 对于分区集合,10G存储限制是否适用于每个分区?

  2. 吞吐量值ex。 400RU / S适用于每个分区,而不是收集?

3 个答案:

答案 0 :(得分:2)

  1. 无论您使用单分区集合还是多分区集合,每个分区最多可达10 Gb。这意味着单分区集合不能超过该分区,多分区集合可以
  2. 取自Azure Cosmos DB FAQ

      

    什么是收藏?

         

    集合是一组文档及其关联的JavaScript应用程序逻辑。集合是可计费实体,其中成本由吞吐量和使用的存储量决定。集合可以跨越一个或多个分区或服务器,并且可以扩展以处理几乎无限量的存储或吞吐量   集合也是Azure Cosmos DB的计费实体。每个集合按小时计费,具体取决于预配置的吞吐量和已用存储空间。有关更多信息,请参阅Azure Cosmos数据库定价。

    1. 结算是集合,其中一个集合可以包含一个或多个分区。由于Azure分配分区来托管您的集合,因此每个集合需要RU的数量。否则,拥有大量分区的客户将比拥有相同集合的不同客户获得更多RU,但会减少分区。
    2. 有关详情,请参阅下面引文中的粗体文字:

      取自Azure Cosmos DB Pricing

        

      预配吞吐量

           

      无论如何,您都可以存储数据并提供吞吐量容量。 每个容器按小时计费,基于存储的数据量(以GB为单位)和以100 RU /秒为单位保留的吞吐量,最小值为400 RU /秒。无限制的容器每个分区至少有100 RU /秒。

      取自Request Units in Azure Cosmos DB

        

      在开始新的集合,表格或图表时,您可以指定要保留的每秒请求单位数(RU /秒)。根据预配置的吞吐量,Azure Cosmos DB会分配物理分区来托管您的集合,并在分区增长时分割/重新平衡数据。

答案 1 :(得分:1)

此处的其他答案为吞吐量配置提供了一个很好的起点,但未能触及在文档中经常没有提到的重点。

您的吞吐量实际上分为集合中的物理分区数。因此,对于具有10个物理分区的1000RU / s的多分区集合,它实际上是每个分区100RU / s。因此,如果您有更频繁访问的热分区,即使您没有超过分配集合的总RU,您也会收到限制错误。

对于单个分区集合,您显然可以获得为该分区分配的完整RU,因为它是唯一的分区。

如果您正在使用多分区集合,则应努力选择具有偶数访问模式的分区密钥,以便您的工作负载可以均匀分布在底层分区中,而不会出现瓶颈。

答案 2 :(得分:0)

  
      
  1. 对于分区集合,10G存储限制是否适用于每个分区?
  2.   

这是正确的。分区集合中的每个分区最大可以为10GB。

  
      
  1. 整个价值ex。 400RU / S适用于每个分区,而不是集合?
  2.   

吞吐量处于收集级别而不是分区级别。分区收集的最小RU / S是2500 RU / S而不是400RU / S. 400RU / S是非分区集合的默认设置。