在NoSQL数据库上建立投票系统是否可行/合理? 例如,如何将StackOverflow问题存储到NoSQL数据库中。 除了问题/投票/用户之间的关系如何工作之外,我几乎可以很容易地想象出一切。其他所有内容都可以存储在一个文档中,比如标签,评论(假设帖子上的评论数量相对较少,在我的情况下我也不会有评论),用户信息等......但无法想象如何存储用户投票作为文件将变得巨大。其中一个选择是我可以将投票存储在单独的集合/文档中,但这意味着在加载问题时,需要发送另一个请求来检查用户是否已投票给某个问题。
答案 0 :(得分:1)
一个很好的参考是关于Embedded documents vs Referenced documents的MongoDB文档,因为这些是你似乎在提到你的问题。没有完美的解决方案,因为两者都有其权衡。您只需根据您希望在数据库上运行的操作/查询类型及其频率做出最佳决策。
老实说,在您的数据库开始获得一些严重的流量之前,SQL和NoSQL之间的区别并不重要。预优化最终可能会带来更多弊大于利,所以我会选择最容易部署的那个,而且开始时你会感觉更舒服。