为什么“实时排行榜”用纯关系型数据库在大规模下会变慢?
Why does a pure relational database approach get slow for real-time leaderboards at large scale?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: System Design
标签: RDBMS, performance, leaderboard
参考答案摘要
答案 核心原因是实时排名需要频繁排序/扫描:计算某个玩家排名往往要比较大量记录(甚至全表扫描/复杂嵌套查询),数据量到千万级时延迟显著;为了加速会建索引,但索引会降低写入性能;同时分数持续变化导致缓存很难命中且容易过期。最终关系库更适合持久化与分析,而不适合作为高频实时排名的主存储。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。