我在寻找最合适的数据反规范化解决方案。
我在mysql中有5个表-posts,posts到groups,groups(许多posts和groups之间的关系),posts评论和posts投票。
我需要快速加载一些来自特定组的帖子,这些组在特定的时间范围内(now-n(hours))拥有最多的(评论+投票)数量。对我来说,表演是第一标准。
现在我在考虑用hbase或cassandra来解决问题。
例如,如果我有1篇文章,而这篇文章与3个组相关联,我可以用一个行键- group_id.post_id.timestamp
但我不知道如何在hbase中计算在飞行的时间范围内评论+投票的最大数量。
我相信有最好的方法,所以我会很感激你的建议和对这个任务的想法。
1条答案
按热度按时间x7yiwoj41#
你说过表演是关键。但是还有更多,因为您希望执行聚合,而不仅仅是使用键进行搜索(这就是为什么要使用hbase)。另外,当您尝试添加的所有行的格式都不相同时,hbase也很好。我没有发现任何这些在你的要求去hbase。
另外,您正在尝试将5个表合并到一个表中,并希望hbase在其上提供聚合。可能太多了。Hive就是用来做这些事情的。反规范化工作。但这是用来搜索容易与键和值。您的需求超出了非规范化和在其上执行聚合的范围。就连我也在等待这方面更好的答案。快乐学习