Azure表存储 - 索引?

jon*_*ers 5 .net c# azure azure-storage azure-table-storage

我有一个实体表,例如"故事".它将包含一大堆人们可以投票的"故事".

我的应用程序的主要功能是用户阅读"顶级"故事,这些故事的投票率最高(最终可能还有其他算法).

我对Azure表结构的第一个想法是:

  • RowKey =唯一ID
  • PartitionKey = ??? (也许是用户ID,因为您可以查看用户的故事列表)
  • 标题
  • 描述
  • 用户身份
  • 网址

如何有效地查询被认为是"顶级"故事的故事?大部分流量都将用于查询热门故事,否则不需要提取各种故事.我想要的是一种索引顶级故事的方法,但索引不是表存储的功能.我想保留第二张桌子,但如果用户在另一张桌子上更新故事,那可能会变得毛茸茸.

这是我第一次使用Azure Table Storage进行挂断,应用程序的其余部分将运行良好.由于这个问题,我讨厌升级到使用完整的SQL Azure.

PS - 我愿意将"顶级"故事存放在除Azure表之外的其他地方,如果它有意义的话.我的服务器将运行C#web api,但可能没什么区别.

小智 7

Azure存储表设计指南将引导您完成创建您自己的辅助indicies不同的方法.它还提供了在设计NoSQL数据库和实施指南时考虑的原则.

  • 这是很好的信息,其他人可能想知道@Jason是作者.我不认为他需要-1,但是,+1. (4认同)

Bre*_*key 4

Azure 表存储是一种扁平的非关系数据存储。因此,存储和建模数据的方式截然不同。一种常见的模式是为不同类型的访问建模两个不同的数据存储。因此,一张表代表最近的,另一张表代表“最喜欢”的更新。