【问题标题】:Number of records based on Partition key - Is there a max/min基于分区键的记录数 - 是否有最大值/最小值
【发布时间】:2021-03-22 19:32:35
【问题描述】:

我们有大约 2000 万个文档需要插入到我们的 Cosmos DB 中。这些文档的分区 ID 基于Group_ID。在这个Group_ID 下最多可以有 300 个唯一的Person_ID

这转化为类似下面的内容。

2000 万人。每个人都有一个独特的PERSON_IDGROUP_ID 分区——范围从 50 到 300

如果我考虑 300,那么我们大概得到 66K 个分区。

  • 搜索 GROUP_ID 将是我们最常用的 ID。

问题:可以有 66k 个分区吗?会有性能影响吗? 此外,我们的 Cosmos DB 的大小将在 3 年内从 2000 万增长到 1 亿(即 330 万个分区)

【问题讨论】:

    标签: azure-cosmosdb


    【解决方案1】:

    Cosmos DB 中的分区键定义了一个不同于物理分区的逻辑分区。阅读partitioning docs 以了解这种差异很有用。相关亮点:

    There is no limit to the number of logical partitions in your container
    

    确实,建议您使用尽可能多的分区,前提是它们可以均匀地分配吞吐量并符合您的查询模式。鉴于逻辑分区大小可以达到 20 GB,物理分区大小可以达到 50 GB,即使跨多个分区键包含大量文档,您也可能不会拥有多个物理分区。

    在性能方面,只要您的数据按分区键很好地分布,更重要的是要关注您的查询。特别是,设计应尽量减少执行跨分区查询所需的时间,并最大限度地增加执行点读取的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多