理解天蓝色的表

时间:2012-10-31 06:20:35

标签: azure azure-sql-database azure-storage azure-table-storage

我想了解Partion键和Row Key。?

我理解这些定义 PartitionKey自动在许多存储节点上分发表的实体。相同的PartitionKey存储在同一节点上。 Ť RowKey是它所属分区中实体的唯一ID。

所以,如果我有像这样的记录:

StudentName:
StudentId:

Date:
Attendence:
Attendance signed by Teacher:

在这种情况下如何定义此表。我真的不明白实现中的partitionkey和Row键。从定义我理解他们。根据记录,我想插入如何定义它们。

1 个答案:

答案 0 :(得分:1)

这不是严格正确的,但是您可以查看分区键的方式是定义“组”,行键标识该组中的特定记录。

了解Azure存储的工作原理非常重要,以便最有效地建模数据。你是正确的,分区存储在同一节点上,你拥有的唯一索引(快速查找)是分区键和行键。

在您的学生记录示例中,该记录的用途是什么,或者更确切地说,记录如何“分组”在一起?如果这是一个课堂出勤列表,可能您的PartitionKey是课程ID,而RowKey是个人学生ID(PartitionKey = CourseId,RowKey = StudentId)。在这种情况下,您可以获取整个分区并获取完整的课程名单,或者您可以使用PartitionKey + RowKey查找单个学生。

另一种方法可能是给每个学生自己的分区(PartitionKey = StudentId),然后行键是特定日期(RowKey = Date)。使用此模型,您可以通过仅查询PartitionKey快速获取学生的整个出勤历史记录,或者如果您想查看他们是否在特定日期参加,请查询PartitionKey + RowKey(StudentId + Date)。

为数据建模有多种方法。这取决于您如何使用这些特定记录来获得最佳效果。