如何在documentDb中找到分区键的有效性?

时间:2017-02-28 04:50:58

标签: azure azure-cosmosdb nosql

要在documentDb中获得最佳性能,我们必须为分区键选择正确的密钥。让我们说我们选择一个密钥作为分区密钥(在我们有任何数据和未来的想法之前)。与数据的情况一样,一旦数据在documentDb中累积,尽管我们有最好的意图,但我们的分区键可能是也可能不是最佳的。

documentDb中是否有任何逻辑可供我们清楚地看到当前分区键是否最佳(即数据是否真正分布在所有分区中)?开发人员可以采用哪些策略以清晰明确的方式查看此信息?

1 个答案:

答案 0 :(得分:0)

正如本document中提到的分区键

  

分区键的选择是您在设计时必须做出的重要决定。您必须选择具有多种值的JSON属性名称,并且可能具有均匀分布的访问模式。

     

最佳做法是使分区键具有大量不同的值(至少100s-1000s)。

以下是一些有关如何为应用程序选择适当分区键的示例:

  • 如果您正在实施用户个人资料后端,那么用户ID是分区密钥的不错选择。

  • 如果您使用DocumentDB记录时间序列数据,那么主机名或进程ID是分区键的不错选择。

有关详细信息,请参阅此tutorial有关设计分区的信息。

  

documentDb中是否有任何逻辑可供我们清楚地看到当前分区键是否最佳(即数据是否真正分布在所有分区上)

根据您的要求,我假设您可以为DocumentDB工作负载实施性能测试,并评估您当前的DocumentDB是否已为高性能方案做好准备。有关更多详细信息,您可以使用此官方tutorial进行Azure DocumentDB的性能和比例测试。