0

一般来说,Azure Table IO 性能会随着使用更多分区而提高(我不会在延续令牌和批量更新方面进行一些权衡)。

由于分区键始终是一个字符串,我正在考虑使用基于分区键子集的“自然”负载平衡技术GetHashCode(),并将该子集附加到分区键本身。这将允许以很少的开销和轻松地计算所有直接 PK/RK 查询。批量更新可能只需要一个中间人在提交之前将类似的 PK 组合在一起。

问题:

  • 我应该用它GetHashCode()来计算分区键吗?有更好的功能吗?

  • 如果我使用GetHashCode()我的 PK 使用哪个角色有关系吗?

  • Azure 表和 Blob 存储是否已经为我做了这个抽象?

4

1 回答 1

1

不,不要使用GetHashCode,因为它的值只保证在当前的 AppDomain 中是稳定的。否则,它可以随时更改。

使用您控制或标准化的散列函数。谷歌为此目的推出了一组哈希,包括“杂音哈希”。

你应该对什么进行分区(和散列)?这取决于您的查询模式。如果不查看您的查询模式,绝对无法回答。通常,尝试对几乎所有查询中的谓词进行分区。

于 2012-11-20T20:41:43.970 回答