我应该使用MySQL还是MongoDB?

时间:2015-07-10 20:27:44

标签: mysql mongodb

我正处于移动应用程序开发的计划阶段,我需要你的帮助来决定我应该使用MySQL或MongoDB。首先让我描述一下数据:

我有一组项目(例如电影),用户可以通过不同的方式浏览和评分。物品总数约为20 000,不会增长或缩小。

每个用户都能够为每个项目(数值)打分并写下分配给每个项目的评论。我希望普通用户可能会得到40个不同的项目,但我希望更高!

典型的查询将是

  1. 给我所有满足某些条件的项目,让我浏览它们。示例:给我在00年代期间在欧洲生产的所有惊悚片。

  2. 向我提供特定用户评分的所有电影。

  3. 我还想做一些服务器端计算,例如每部电影的平均分数,每次用户总结一个项目的新分数时,应该更新该平均值。

    对于MySQL,我会有一个包含3个不同表格的数据库(项目,用户,分数),对于MongoDB,我正在考虑一个包含1个集合的数据库,如下所示:

    {
      "name":"Inception"
      "year":2010
      "director":"Christopher Nolan"
      "scores" : [
        {
           "user_id": 1234
           "scoreA" : 3,
           "scoreB" : 5,
           "scoreC" : 4,
    
        },
        {
           "user_id": 1235
           "scoreA" : 4,
           "scoreB" : 3
        },
    }
    {
      "name":"Titanic"
      "year":1997
      "director":"James Cameron"
      "scores" : [
        {
           "user_id": 1201
           "scoreB" : 5,
           "scoreC" : 5
        },
        {
           "user_id": 1220
           "scoreA" : 4,
           "scoreC" : 5
        },
    }
    ...
    

    问题:鉴于我的用例,我使用MySQL或MongoDB是否重要?

    提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用像mysql这样的关系数据库,除非你想尝试一下,否则不需要在这里使用MongoDb。

由于generell建议使用NoSQL(尤其是MongoDb),因此无法再改进RDMS。

另请看一下这个精彩的演示文稿:http://www.thedotpost.com/2015/06/neha-narula-consistency-and-candy-crush