我正在用 Erlang 构建一个 Reddit 克隆。我正在考虑使用一些 erlang web 框架,但这不是问题。
我在选择数据库时遇到问题。
这个怎么运作;
我有多个专用的 reddit。例子,科学,有趣,企业,运动。您可以将它们视为子reddits。每个子 reddit 都有类别。
用户可以发布以下信息:
标题,类别标签,描述,类别, 未来日期,
并添加图片,链接。视频
与 Reddit 一样,用户将能够对故事和评论进行投票。评论也将有投票系统。
问题如何;
我不知道要使用什么 NoSQL 数据库,该站点将存在 Mysql 的可扩展性问题(相信我,它不会建议使用 sql)如果不是更多,将有大约 10,000-20,000 个并发连接。
现在我需要什么;
1) 用户将前往体育版块,
他们将希望查看所有带有Future Date的故事,例如 NFL 类别或 Soccer World Cup 类别,他们可能希望查看所有带有未来日期的故事,这些故事 表明即将到来的比赛或事件。
但是由于人们可能会发布废话,我需要说按未来日期排序,然后按超过 5 票的帖子过滤结果,然后我需要显示最近的即将发生的事件。
因此,如果周末有一场比赛,而下一场比赛又是 3 周,那么最接近的比赛需要首先出现。
2)所以上面的问题是使用一个数据库
1) 在 subreddit: Sport中查找所有帖子。2) 查找NFL类别中的所有帖子。3)查找所有具有未来日期的帖子。按大多数投票对这些帖子进行排序,并显示与今天最接近的故事。
我认为 couchdb 看起来是个不错的候选人,但我不确定
但是 Cassandra、Hbase、Riak、neo4j 呢?
我要疯了,想弄清楚这一点。
我需要能够扩展和处理大量用户的东西。