首页 > 解决方案 > 如何存储用于编译排行榜的数据?

问题描述

首先,我想指出我目前只使用 1 个节点,因为它可以很好地处理我当前的需求。而且,我正在使用 nodejs 来完成所有这些工作。

现在,这是我的问题。有一个 cassandra 表“playerdata”,它在视频游戏中存储了数百万玩家的数据。

我想编译排行榜,我很清楚我无法通过这张表来这样做。

我需要检索每个人的数据,然后以不同的方式循环并编译各种排行榜。

但是,还有另一种性能好的方法吗?

我的第一个想法是地图,但后来我意识到这些是有限度的。最好的选择是切换到用于排行榜的 SQL 数据库吗?

标签: cassandranosqlcassandra-2.1

解决方案


您可以使用 Cassandra 对 order by 子句的支持。但 order by 仅支持集群键。因此,如果您想根据游戏积分创建排行榜,您可以创建类似 - ((gameId)、userId、Points) 的模式。


推荐阅读