cassandra - 如何存储用于编译排行榜的数据?
问题描述
首先,我想指出我目前只使用 1 个节点,因为它可以很好地处理我当前的需求。而且,我正在使用 nodejs 来完成所有这些工作。
现在,这是我的问题。有一个 cassandra 表“playerdata”,它在视频游戏中存储了数百万玩家的数据。
我想编译排行榜,我很清楚我无法通过这张表来这样做。
我需要检索每个人的数据,然后以不同的方式循环并编译各种排行榜。
但是,还有另一种性能好的方法吗?
我的第一个想法是地图,但后来我意识到这些是有限度的。最好的选择是切换到用于排行榜的 SQL 数据库吗?
解决方案
您可以使用 Cassandra 对 order by 子句的支持。但 order by 仅支持集群键。因此,如果您想根据游戏积分创建排行榜,您可以创建类似 - ((gameId)、userId、Points) 的模式。
推荐阅读
- excel - Excel计算文本值中包含数字1的列数
- python - Python exe 文件由于 ModuleNotFoundError: Numpy 而失败。这很令人困惑,因为 numpy 已经安装并且程序在 Pycharm 中运行
- angular - 如何从另一个 Angular 项目加载模块?
- git - Jenkins 多分支管道在项目存储库中使用变量
- linux - 错误:Ubuntu 中 Qemu 上的虚拟 Raspbian
- c# - 无法将 x 类型的对象转换为 y 类型
- c++ - 如何从 malloc 编辑的 std::string 创建一个 std::string?
- python - 如何将视频流从一个 Python 传递到另一个?
- javascript - 如何在 vueJS 中滚动查看新添加的列表项
- arrays - 快速钻取子数组