Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  《Windows Azure Platform 系列文章目录

 

  本次将介绍Cosmos DB的性能指标RU (Request Unit)。

  总的来说,我们设置的Azure CosmosDB RU数值越高,则表示该CosmosDB的读写的性能越好。但是每个小时的单价越贵。

  Azure CosmosDB的价格=设置的RU+存储的容量,按照每小时进行收费的。

 

  Azure Cosmos DB支持多种API,比如SQL, MongoDB, Cassandra, Gremlin和Table。每种API 具有自身的数据库操作集。 这些操作包括简单的点读取和写入,以及复杂的查询等等。 每个数据库操作根据其复杂性消耗系统资源。

  所有数据库操作的成本,将由Azure CosmosDB的Request Unit (RU)来表示。 读取 1-KB 项的成本为 1 个请求单位 (RU)。 以类似方式为其他所有数据库操作分配 RU 成本。 不管使用哪个 API 来与 Azure Cosmos 容器和数据库操作交互,都始终以 RU 来计量成本。 无论数据库操作是写入、读取还是查询,都始终以 RU 来计量成本。

 

  RU抽象化了执行 Azure Cosmos DB 支持的数据库操作所需的系统资源,例如 CPU、IOPS 和内存。 下图显示了不同数据库操作消耗的 RU 数:

  

 

  请注意:Azure CosmosDB的RU是可以动态调整的,我们可以根据实际的业务需求,通过API或者图形界面的方式,动态的调整Azure CosmosDB的RU。

 

  RU可以设置在Azure Cosmos DB的,或者设置在Azure Container级别

 

  消耗的RU需要考虑:

  1.数据量

  随着CosmosDB中的数据量增加,读取或者写入CosmosDB需要消耗的RU数量也会增加

  2.数据索引

  默认情况下,保存在CosmosDB中的数据是自动创建索引的。如果我们不为CosmosDB中的某些项创建索引,则可以减少RU的使用量

  3.索引属性

  假设我们对CosmosDB的所有属性采用默认索引,则随着数据量的增加,写入需要消耗的RU值也会增加

  4.数据一致性

  在执行读取操作的时候,Strong强一致性和bounded stalenessy消耗的 RU 数,大约比其他一致性级别要多两倍

  5.查询模式

  查询的复杂性会影响实际消耗的RU数

  • 查询结果数。
  • 谓词数。
  • 谓词性质。
  • 用户定义的函数数目。
  • 源数据的大小。
  • 结果集的大小。
  • 投影数。

  

  

posted on 2019-04-09 18:08  Lei Zhang的博客  阅读(1056)  评论(0编辑  收藏  举报