我对如何构建数据库有疑问。我有一个reddit'esque投票系统。物品可以获得投票。但每个项目属于一个主题,每个主题属于一个类别。虽然只有项目可以获得投票,但我希望能够访问主题内和类别中的投票数。有关如何完成此任务的任何建议?
我看到了4种主要方法:
额外信息:我正在使用Rails,目前我只知道MYSQL。这是我应该学习像Mongo这样的东西吗?这只能通过Hadoop实现吗?我可以在MySQL中完成此任务。谢谢!
答案 0 :(得分:1)
创建单独的“投票”模型。投票属于物品,物品 主题和类别主题。然后我可以查询数量 每当我需要访问任何东西时,都会通过链条投票。
这是做你正在谈论的最灵活的方式。
学习使用NoSQL数据库系统。
不适合您当前的项目。
这是我应该学习像Mongo这样的东西吗?
没有
这只能通过Hadoop实现吗?
没有。任何SQL数据库都可以这样做。任何SQL数据库是否可以管理您正在计划的任何内容都是一个不同的问题。不同的平台规模不同。
我可以在MySQL中完成此任务。
是的,很容易。
答案 1 :(得分:1)
我认为你应该选择2。
无论如何,您需要创建一个投票模型,因为您可能希望限制用户对每个项目进行一次投票。
如果以后出现性能问题,您可以随时缓存项目,主题或类别中的投票数。
如何更新这些数字应该仔细考虑。对自动更新上述所有数字的投票触发器可能会导致写入操作过多。另一种方法可能是定期运行统计存储过程。
无论如何,真正的观点是 - 在您知道存在问题之前不要进行优化。