繁体   English   中英

Azure Cosmos DB集合的分区键

[英]Partition key for Azure Cosmos DB collection

我对Azure Cosmos DB有点陌生,并试图理解这些概念。

我需要帮助来确定DocumentDB集合的最佳最佳分区键。 请参考下图,其中可能有使用不同分区键的分区。

这个

由于在博客帖子中提到这里

理想的分区键是在查询中经常作为过滤器出现的分区键,并且具有足够的基数以确保您的解决方案可扩展。

从上面这一行,我认为,就我而言,UserId可以用作分区键。

有人可以建议我哪个密钥是分区密钥的最佳候选者吗?

有关DocumentDB Partitioned Collections微型正式文档10件事中 ,您可以找到很多有关选择分区键的很好的建议,因此在此不再赘述。

分区键的选择取决于数据库中存储的数据和频繁查询过滤条件。

通常建议对像userid这样的东西进行分区,如果有的话,这是很好的。 假设您的业务逻辑对给定的userid有很多查询,并且希望查找的条目不超过几百个。 在这种情况下,可以从单个分区中快速提取数据,而不必在多个分区中整理数据。

但是,如果您有数百万条user记录,那么对userid进行分区可能是最糟糕的选择,因为从单个分区中提取大量数据将很快超过整理的开销。 在这种情况下,您希望在所有分区上尽可能均匀地分布用户数据。 您可能需要找到另一列作为分区键。

因此,如果数据量很大,建议您根据业务逻辑进行一些简单的测试,并为性能选择最佳的分区键。 毕竟,分区密钥一旦设置便无法更改。

希望对您有帮助。

这取决于,但是这里有几件事情要考虑:

您提到的博客文章说:

此外,属于相同分区键的文档的存储大小限制为10GB。 理想的分区键是在查询中经常作为过滤器出现的分区键,并且具有足够的基数以确保您的解决方案可扩展。

另外,我真的建议您查看这篇文章和视频, https://docs.microsoft.com/zh-cn/azure/cosmos-db/partition-data

分区键的选择是您在设计时必须做出的重要决定。 您必须选择一个属性值,该属性值的范围很广,甚至具有访问模式。

因此,请确保选择具有许多值并满足那些要求的分区键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM