0

我想了解分区键和行键。?

我理解 PartitionKey 的定义,以自动将表的实体分布在许多存储节点上。相同的 PartitionKey 存储在同一个节点上。T RowKey 是实体在其所属分区内的唯一 ID。

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

StudentName:
StudentId:

Date:
Attendence:
Attendance signed by Teacher:

在这种情况下,我如何定义这个表。我真的不明白实现中的partitionkey和Row key。从定义我理解他们。给定我要插入的记录,我该如何定义它们。

4

1 回答 1

1

这并不完全正确,但是您可以查看分区键的方式是它们定义了一个“组”,并且行键标识该组中的特定记录。

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

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

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

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

于 2012-10-31T06:36:21.730 回答