DocumentDB分区大小

时间:2018-03-09 10:43:00

标签: azure-cosmosdb

根据文档,具有不同final Handler handler2 = new Handler(Looper.getMainLooper()); runnable = new Runnable() { @Override public void run() { Intent intent = new Intent(C.this, A.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); finish(); } }; handler2.postDelayed(runnable, 1000); 的文档可能最终位于同一分区中,但具有相同partitionKey的文档最终会保留在同一分区中。

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

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

由于分区限制为250GB,现在你遇到了问题。

问题:

  1. 这是如何解决的?
  2. DocumentDB分区处理此问题是否会转移到单独的分区?
  3. 我们(并且我们甚至能够)查看每个partitionKey(不是分区)的数据/存储消耗吗?
  4. 如果有人能够对这些困境有所了解,因为我无法在文档中找到这些具体问题的答案。

1 个答案:

答案 0 :(得分:2)

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

Source MSDN

  

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

关于你的问题。

  

这是如何解决的?

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

  

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

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

  

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

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