Azure表:当实体只有一个键时,如何使用分区键和行键?

时间:2014-01-08 23:13:11

标签: azure azure-storage azure-table-storage

我的理解是,在Azure表中,每个实体都有一个由分区键行键组成的复合键,以及分区键< / strong>应该用作按实体分组的类别,行键是类别中特定实体的唯一ID。

但是,我想存储一个非常简单的实体表,它只有一个简单的键,我不确定分区键行键应该为这样的实体发挥作用。

例如

part : { id: '00001',
         name: 'wotsit',
         weight: '50kg' }

从语义上讲,将id存储为行键是最正确的,并且对所有实体使用相同的,可能是空白的分区键(即它们'全部在同一个默认类别中)。但是,我对获得最大查找性能比表语义更感兴趣。我可以轻松地在代码中抽象出来。

所以我的问题是,当实体只有一个简单的密钥以获得最大的查找性能时,我应该如何使用分区键/行键?

我的猜测是,将id存储为分区键,并为每个实体使用空白<​​strong>行键,最好是首先在查询中查找分区键

1 个答案:

答案 0 :(得分:2)

查看Azure表的一种方法是识别实际上只有一个复合键,分为分区和行子键,以支持用户确定的可伸缩性策略。

因此,根据数据的性质决定,你可以根据它们如何最佳缩放来任意分割你的单个键。

在您的示例中,您可以将ID拆分为Partition Key =“00”和Row Key =“001”。这可能在您的键范围内似乎没有用,但更长的键可能更有意义。