首页 > 解决方案 > Azure CosmosDB - 类字典对象集合的分区策略

问题描述

我们需要从内存缓存中移出大量数据,因为它占用了太多空间。为此,我们正在考虑 CosmosDB。底部提供了数据结构和用例。在测试它时,我遇到了一些我无法解决的问题:单项检索花费的时间太长(大约 2 秒),事务似乎花费更多的 RU,而不是它应该并且无法决定最佳吞吐量。所以,我有这些问题:

  1. 使用提供的数据结构应该如何处理分区?如果它甚至会产生影响?
  2. 一周内的一般吞吐量应该很低(每秒几百个请求),但我们预计会及时出现请求峰值(几十倍以上)。我们如何配置容器来绕过节流的风险,并且在使用率低时不会多付钱?
  3. 我应该考虑替代方案吗?
[
  {
    id: '<unique_id>',
    hash: '<custom_hash>'
    data: [{}, {},...]
  },
  ...
]

该集合有三个用例:

  1. 读取整个集合并获取 id 和 hash'es 以确定哪些项目发生了变化
  2. 如果有更改,则替换/插入一批项目
  3. 读取单项检索数据属性值

标签: azure-cosmosdb

解决方案


推荐阅读