我想在行中存储一个值:guid。但我必须设置对:PartitionKey和RowKey,所以我的对是: “guidValue”,some_guid 什么应该是PartitionKey:guid还是const string?
所以结构应该是这样的:
PartitionKey: "guidValue"
RowKey: 951FE9AE-50FA-48F6-96C8-81D10271E36D
PartitionKey: "guidValue"
RowKey: 951FE9AE-50FA-48F6-96C8-81D10271E37D
PartitionKey: "guidValue"
RowKey: 951FE9AE-50FA-48F6-96C8-81D10271E38D
...
或者那样:
PartitionKey: 951FE9AE-50FA-48F6-96C8-81D10271E36D
RowKey: "guidValue"
PartitionKey: 951FE9AE-50FA-48F6-96C8-81D10271E37D
RowKey: "guidValue"
PartitionKey: 951FE9AE-50FA-48F6-96C8-81D10271E38D
RowKey: "guidValue"
我的情景是:我保存一次guid并多次阅读。
答案 0 :(得分:2)
你的阅读场景是什么?列出所有现有的GUID?或检查是否存在一个GUID?您是否希望通过一个请求编写多个GUID以节省写入的交易成本并使写入性能更好?
第一个选项将允许您使用EntityGroupTransaction批量插入GUID,但是只有一个分区键的表无法负载平衡到Azure Storage后端中的多个服务。如果你想批量插入GUID并且总GUID数量不是太多,我建议你选择选项1;否则,选项2更好。
答案 1 :(得分:1)
PartitionKey
会影响每个存储服务的负载平衡和可伸缩性。
实体的分区键是帐户名+表名+分区键,其中分区键是实体所需的用户定义的PartitionKey属性的值。具有相同分区键值的所有实体将分组到同一分区中,并由同一分区服务器提供服务。这是设计应用程序时需要了解的重点。您的应用程序应该平衡跨多个分区传播实体的可伸缩性优势,以及在单个分区中对实体进行分组的数据访问优势。
另外,
如果您希望对一组实体执行批处理操作,请考虑使用相同的分区键对它们进行分组。
对于可伸缩性和性能目标,我建议您使用第一个结构。