我用Cassandra来保存单词和频率。
表架构如下
CREATE TABLE keywords_rate (
some_id int,
keyword Text,
frequency counter,
PRIMARY KEY (some_id, keyword)
);
问题是,我有数以百万计的记录,我需要得到前100个关键字为每个 some_id
但要做到这一点,我需要得到给定的所有关键字 some_id
并在后端(python)对它们进行排序,然后得到前100条记录。这对我来说是一个非常昂贵的手术。
所以我的问题是:我能把Cassandra的柜台分类吗?如果不是,那么最好的解决方案是什么?
谢谢。
1条答案
按热度按时间qoefvg9y1#
如果你只是在这个用例中使用cassandra,如果你还没有在这个用例上进行大量的投资,我最好的建议是。。。选择其他数据库。:)Cassandra不是为这个而设计的。
如果你需要使用cassandra,那么看看这个答案,它是基于ebay如何组织他们的数据。
但是,如果您有选择的话,请为这个用例使用另一种技术。这在Cassandra会很混乱。