使用Azure存储表构建类似博客发布系统的图像。 用户发布消息并且数据库记录用户的区域,城市和语言。Azure存储表记录过滤建议
之后,用户可以浏览所有其他用户的帖子,并且可以通过区域,城市和语言的任意组合来筛选它们。或者两者都看不到。
我看到几个解决方案:
- 把每一个消息在8个不同的分区与区域 - 城市 - 语言的组合(优点:在读快如闪电的点查询;缺点:每封邮件的8笔上写)。
- 将每条消息放在4个不同的分区中,并使用Region-City和分区扫描功能进行分组扫描,以便通过语言进行筛选(优点:比(1)更少的事务处理;缺点:分区扫描,每条消息4个事务)。
- 根据用户ID(优点:每条消息的单个事务;每个消息都使用慢速表扫描和分区扫描)将每条消息放入分区。
的路上我看到它:
- 速读,慢(也许是昂贵的)写道。
- 平衡读取/写入/成本。
- 快写,慢(但便宜)的读取。
“成本/便宜”我的意思是基于交易(而不是空间)的定价。 而“平衡”我的意思是在这些变种之中。
想到使用索引表,但看不到他们在这里如何帮助。 所以问题是,也许还有另一种更好的方法?
这真是意见征集和广泛 - 没有正确的答案。您需要进行基准测试,并为您的特定应用选择正确的组合。不知道你的意思是“索引表”(也许你指的是额外的存储表,特定的索引属性作为分区/行键?)。 –
是的。索引表就像你所描述的。我问是否有任何其他可能的解决方案。 –