mysql - NoSQL 投票系统

标签 mysql mongodb database-design database nosql

在 NoSQL 数据库上建立投票系统是否可能/合理? 例如,如何将 StackOverflow 问题存储到 NoSQL 数据库中。 我可以轻松想象几乎所有事情,除了问题/投票/用户之间的关系如何运作。其他所有内容都可以存储在一个文档中,例如标签、评论(假设帖子上的评论数量相对较少,在我的情况下我不会有评论)、用户信息等......但无法想象如何存储用户投票作为文档将会变得巨大。其中一个选项是我可以将投票存储在单独的集合/文档中,但这意味着在加载问题时需要发送另一个请求来检查用户是否对问题投票。

最佳答案

关于 Embedded documents 的 MongoDB 文档是一个很好的引用。与 Referenced documents ,因为这些似乎是您在问题中提到的内容。没有完美的解决方案,因为两者都有其权衡。您只需根据您期望在数据库上运行的操作/查询的类型及其频率做出最佳决策。

老实说,在您的数据库开始获得大量流量之前,SQL 和 NoSQL 之间的差异并不重要。预优化最终可能弊大于利,所以我会选择最容易部署并且您一开始就更舒服的优化。

关于mysql - NoSQL 投票系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19456943/

相关文章:

mysql - Yii2如何将where子句中的级联选择转换为activequery?

php - 如何将参数数组传递给bind_param?

javascript - 如何将字符串转换为 int MongoDB 数组

node.js - 使用 Mongoose 批量删除

c# - 主键应该总是从1开始吗?

MySQL - 在同一个表中相乘字段,存储在同一个表中

mysql - 如何在 MySQL 中连接整个结果集?

mongodb - mongoexport 到 json 文件时缺少 NumberLong

mysql - 对于公交车时刻表,我应该为所有公交车准备一个数据表并将时间表存储在一列中,还是为每辆公交车创建单独的表?

python - 如何在 Django 中的关系中指定唯一性