【发布时间】:2015-05-24 19:30:03
【问题描述】:
我目前正在研究可扩展游戏后端的数据库。从操作的角度来看,Riak 看起来非常好。我可以很容易地看到如何在 Riak 中对用户和游戏数据和统计数据进行建模。但我在排行榜/排名列表方面遇到了问题。
假设我们有数百万玩家并且排名将基于单个高分整数,那么存储排名列表的“最佳”方式是什么?我们需要获取玩家的个人排名和所有玩家的分页列表,比如排名 1-100 或 14500-14600。分数会经常更新,玩家的排名会实时更新。
Map/Reduce 应该可以工作,但我想它对于实时结果来说会有点重。我可能完全不在这里,因为我没有做过任何基准测试。
Riak 搜索呢?我根本不了解 Solr,所以可能有一种方法可以做到,我在阅读文档时完全错过了。
This blog post 使用一组集合方法。来自 Basho 工程师,这很可能是一个很好的解决方案。但这是在 Riak 中唯一可行的方法吗?能不能做点“优雅”一点的?
感谢您的宝贵时间!
【问题讨论】:
-
真是个好问题。当你说一些更“优雅”的东西时,你想到了什么?下次我们有回顾时,我会在 riak 用户列表上分享这个!
-
谢谢。我将“优雅”放在引号中,因为我不确定会发生什么。链接的示例似乎为一个相当简单的任务做了很多工作。至少与 Redis 排序集之类的东西相比。但我想这就是您所获得的可扩展性和易于操作性。
-
公平点。我注意到腿部工作通常是快速查询的权衡。不将所有内容都保存在内存中会在查询时产生一组非常不同的假设。我会在内部保留这个想法——随时与我们联系! @mjbrender 在 Twitter 上。
标签: solr ranking riak leaderboard