我有一个数据模型,其属性如A,B,C,D..G。该模型具有复合键(A,B,C,D)。我需要将此数据模型的实体存储到azure存储中。 我应该连接(A + B + C + D)然后将结果存储为分区键的值(以便更快地进行检索操作?)。
在这种情况下选择分区键/行键的最佳做法是什么?
答案 0 :(得分:1)
我应该连接(A + B + C + D)然后将结果存储为分区键的值(以便更快地进行检索操作吗?)
正如这位官员document提到的有关考虑查询的问题:
了解您将使用的查询将允许您确定哪些属性对于PartitionKey非常重要。查询中使用的属性是PartitionKey的候选属性。 如果实体具有两个以上的键属性,则可以使用连接值的复合键。
在这种情况下选择分区键/行键的最佳做法是什么?
为了获得更好的查询性能,您需要将查询中使用的属性视为PartitionKey或RowKey的候选对象。以下是一个简单的示例,供您更好地理解选择PK / RK:
有一个名为Product的表,它具有以下属性:
| ID | Name | CategoryID | SubCategoryID | DeliveryType | Price | Status | SalesRegion |
如果查询经常基于CategoryID
和SubCategoryID
,我们可以将CategoryID_SubCategoryID
组合为PartitionKey,以快速找到特定分区并检索特定类别中的所有产品。对于RowKey,我们可以设置ID
来查询特定产品ID或SalesRegion_Price_DeliveryType
以按SalesRegion,Price,DeliveryType的顺序过滤产品。
此外,您可以按照此tutorial关于设计可扩展且高性能的Azure存储表。
答案 1 :(得分:-1)