logo

当你使用 DynamoDB(NoSQL)设计排行榜时,如何通过 GSI + Scatter-Gather 模式实现 Top N 查询?它的优缺点是什么?

When using DynamoDB for leaderboards, how do you use GSI + the scatter-gather pattern to compute Top N, and what are the trade-offs?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: system-design, nosql

标签: dynamodb, gsi, scatter-gather, ranking

参考答案摘要

TL;DR DynamoDB 可用 GSI 以 score 作为 sort key 来支持按分数排序查询;当数据被分区后,需要对各分区分别查询(scatter),在应用层合并排序(gather)得到 Top N。优点是托管、可扩展;缺点是模式复杂、合并排序成本高。 实现思路 使用 DynamoDB 存储玩家分数记录 建立 GSI : score 作为 sort key, player_id 或其他...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

当你使用 DynamoDB(NoSQL)设计排行榜时,如何通过 GSI + Scatter-Gather 模式实现 Top N 查询?它的优缺点是什么?

Hardsystem-designaws

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案