首页 文章

DocumentDB分区大小

提问于
浏览
0

根据文档,具有不同 partitionKey 的文档可能最终位于相同的分区中,但具有相同 partitionKey 的文档将保证在同一分区中结束 .

现在,让我们考虑一下 partitionKeycardinality=100 (例如100个租户)的情况 . 最初,所有数据大致均匀分布在分区上 .

Lety说你最终得到了大约50GB大小的分区 . 在这种情况下,我会假设您可能在同一分区中包含一些分区键 . 然后,突然之间,您的2个租户呈指数级增长,并达到200GB大小 .

由于分区有250GB的限制,现在你遇到了问题 .

问题:

  • 这是如何解决的?

  • DocumentDB分区处理这个移动到单独的分区吗?

  • 我们(并且我们甚至能够)查看每个partitionKey(不是分区)的数据/存储消耗吗?

如果有人能够对这些困境有所了解,因为我无法在文档中找到这些具体问题的答案 .

1 回答

  • 2

    目前,单分区密钥的逻辑分区不能超过10GB . 这意味着您必须确保在任何给定时间点您的逻辑分区不超过10GB .

    Source MSDN

    逻辑分区是物理分区中的分区,用于存储与单个分区键值关联的所有数据 . 逻辑分区最大为10 GB .

    关于你的问题 .

    这是如何解决的?

    选择适当的分区键并确保其 balancer . 如果您预计租户数据可能会超过10GB,那么将租户ID作为分区密钥则不是一种选择 . 您必须将其他内容作为可扩展的分区键 .

    DocumentDB分区处理这个移动到单独的分区吗?

    是的,CosmosDB将负责物理分区处理 .

    我们(并且我们甚至能够)查看每个partitionKey(不是分区)的数据/存储消耗吗?

    是,在Azure门户中,转到Azure Cosmos DB帐户并单击“监控中的度量标准”部分,然后在右窗格中单击“存储”选项卡以查看数据在不同物理分区中的分区方式

相关问题