我正在寻找最合适的数据非规范化解决方案。
我在MySQL中有5个表 - 帖子,posts_to_groups,组(帖子和组之间的MANY_2_MANY关系),posts_comments和posts_votes。
我需要从特定时间范围内具有最大数量(评论+投票)的特定组中快速加载一些帖子 - (Now-N(小时))。对我来说,表现是第一标准。
现在我正在考虑使用HBase或Cassandra的解决方案。
例如,如果我有1个帖子并且此帖子与3个组相关联,我可以为每个评论存储或投票将此帖子3(1 *组号)新记录存入Hbase并使用行键 - {{1但是我不确定如何在动态时间范围内计算Hbase中最大数量的评论+投票。
我确信有最好的方法,所以我很感激您对此任务的建议和想法。
答案 0 :(得分:1)
你说性能是关键。但是还有更多内容,因为您希望执行聚合,而不仅仅是使用密钥进行搜索(这就是使用Hbase的原因)。此外,如果您没有为要添加的所有行添加类似格式,则Hbase很好。我没有找到任何这些要求去Hbase。
此外,您正在尝试将5个表合并为一个,并期望Hbase为您提供聚合。可能太多了。 Hive旨在做那些事情。非规范化有效。但这用于轻松搜索键和值。您的要求超出了非规范化并在其上执行聚合。即使我在这方面等待更多好的答案。快乐学习