请教一个mongodb数据结构设计的问题

qq_4dqozxpa MongoDB 索引 最后由 qq_4dqozxpa 于2015年10月28日回复

  • 2 回答
  • 2.4k 浏览

首先,先谢谢老师,讲得很好,听到这里,受益良多。

有一个问题请教老师,现在我想设计一个文章的评论列表,想用mongodb 存储,但是设计有两个问题:

  1. 所有评论是存储在一条文档记录里合适,还是每条评论一条文档记录合适(应该是后者吧)?
  2. 第2个更重要的问题是,评论里的用户名称和头像应该冗余存储在评论文档中吗,如果冗余存储,当用户修改了名称或头像时怎么办,每次修改用户信息都更新所有评论(感觉这样效率太低,也太麻烦)?如果不存名称和头像又无法高效关联查得结果。


再次谢谢老师作答。

  • 极客学院_ASMITA 2015年10月27日 回答 #1楼
  • 你这个问题说实话是个数据库都是这样的,我个人在实际项目中是这样解决的,如果量很大,我就把用户信息单独存储起来,然后关联查询,非关系型数据库的单记录查询速度比关系型数据库的查询速度快多了,如果公司有条件,甚至可以把你认为经常读取的热点数据全部集中到内存里面,这样更快速。
    
    如果你冗余存储,那么更新就必须要做了,个人不建议这种方式,可蛋可蛋疼了,而且还不容易排出错误
    
  • 0 评论
  • qq_4dqozxpa 2015年10月28日 回答 #2楼
  • #1楼  @极客学院_ASMITA 

    不冗余存储,热点数据集中在内存里的话,在集群环境下也没法弄……用户数据更新时你只能更新到一台……多台还是麻烦……

  • 0 评论