我一直在考虑Tinder如何设置他们的数据模型 - 尤其是选择要显示的候选人的部分(我不是在讨论决定顺序的算法,而是仅讨论如何获得所有可能的候选人首先)。此过程应仅显示当前用户尚未投票的其他配置文件。 所以我可以想象这个: 用户表(> 40mio条目)和另一个用于滑动的表(每天> 15亿条新条目)。 选择候选人时,可以加入两个表(+显然应用某些其他选择标准,如位置,年龄范围等),并仅返回当前用户尚未刷过的用户。
但是:那规模吗?这两个表都相当庞大 - 所以我想在某些时候你会遇到问题,对吗?
此外,我读到Tinder正在使用AWS DynamoDB - 所以不是关系模型。这让我觉得更难......
所以我的问题是:你对Tinder如何完成这项工作有所了解吗?