azure table 存储中的分区键和行键

partitionkey and rowkey in azure table storage

我了解 Azure table 存储中分区键的好处。但是,考虑到我的关系数据库背景,我对如何仅给定 rowkey 从 azure table 存储中检索实体感到有点困惑。据我所知,这是不可能的。这意味着我必须将分区 key/rowkey 对存储在某处以获取给定行键的实体。我是否应该只引入一个 'sharding' table 和一个任意分区键,这样我就可以在给定 rowkey 的情况下查找分区键?

这是可能的,但会导致 table 扫描,如 MSDN section 中所述。

如果您不需要多个分区,那么如果您的数据不会很大并且需要多个分区的可伸缩性,那么使用单个分区(例如使用常量)绝对没问题。

另一种可能的方法是将您当前的 RowKey 用作 PartitionKey,这将为您提供高度可扩展的解决方案,但如果您需要查询行范围,则会导致性能不佳。

链接的 MSDN 页面讨论了两者的优缺点,因此我认为根据您对特定问题领域的了解,您应该能够找到一个平衡的解决方案。