我想将目前在mysql上的db迁移到C*。目前我有一张桌子,我很难想象如何“迁移”它。
实体
其中热得分为f(s,d) = log10 + (s.t/45000)。S是分数,t是时代的时间戳。
从本质上讲,我想要查询的是该实体的前20名。通过mysql和cron的工作,我每分钟都会更新热记分。因此,热记分不能适用于分区键。我在试着在搬到c*之前,看看能不能做到这一点。据我所知,像(id, hotscore)
这样的主键是不好的,因为它意味着C*必须扫描每个条目。
发布于 2015-10-05 12:13:07
当Cassandra3.0发布时,您很快就可以使用物化视图处理这个用例了。
请参见在物化视图这里和这里中排序行的示例。
它的工作方式是在您的基表中--您不使用得分作为群集列,但在物化视图中使用它作为群集列。然后,在更新基表时,将自动更新视图中的排序。
https://stackoverflow.com/questions/32938333
复制相似问题