Cosmos DB Fixed(10GB)集合的分区键的用途

时间:2017-09-02 18:38:50

标签: azure azure-cosmosdb nosql

在Cosmos DB文档中,我看到分配固定(10GB)集合意味着只会分配一个分区来保存Collection中的文档。

我的问题:如果我选择固定收藏,如果我只有一个分区,为什么仍然会提示我选择分区键?

我的猜测是单个分区是指单个物理分区,但仍然可以在单个物理分区中存储N个逻辑分区(每个分区由分区键标识)。但是如果这是正确的,除了每个分区所需的最小RU / s之外,我认为在无限制分区上选择固定(10GB)分区没有任何优势。

2 个答案:

答案 0 :(得分:6)

@Rob:创建“固定”10 GB分区时,无论是否提供分区密钥,都只分配了一个物理分区。请注意,在这种情况下提供分区键是可选的。

如果您在创建此“固定”集合时提供了分区键,则此集合的迁移路径为分区集合,您无需更改应用程序代码。

如果您不提供分区密钥,我们不支持将此集合迁移到分区集合,因此您将无法使用10GB,您必须使用我们的数据迁移工具手动迁移数据到新分区集合,如果您超过10GB限制。 此外,一旦开始定位分区集合,这将要求您更改应用程序代码(以在各种API中传递分区键)。

总之,即使所有分区键值都映射到单个分区,您在创建此“固定”集合时也不会提供分区键。

希望您的查询答案。如果您还有其他意见,请与我们联系。

  • Rajesh,Azure Cosmos DB

答案 1 :(得分:3)

当我们创建分区集合时,我们正在处理"逻辑分区"不是物理分区,物理分区由Cosmos服务管理。

对于"我应该对我的收藏进行分区吗?"问题,在this blog,您可以找到:

  • 单分区集合具有较低的价格选项和 能够执行所有查询和执行事务 收集数据。它们具有可扩展性和存储限制 单分区(10GB和10,000 RU / s)。您不必指定 这些集合的分区键。对于不需要的场景 大容量存储或吞吐量,单个分区集合 非常适合。
  • 分区集合可以跨多个分区和支持 非常大的存储和吞吐量。你必须指定一个 这些集合的分区键。