首页 新闻 会员 周边

Mongodb多数据库结构代替复杂的collection是否可取?

0
悬赏园豆:100 [已解决问题] 解决于 2017-11-08 17:56

有这样一个场景,我们的产品要提供给很多客户,所有客户使用同一个服务器,但每个客户的数据库要相对独立,怎样设计才好?

目前有两种方案:

  1. 每个Collection中都带有一个(客户id)
  2. 为每个客户创建一个Database

我觉得2方案更独立美观,但考虑的客户可能会比较多,比如5000个客户就需要5000个database? 请大侠提供些意见和方案!

不浮躁的主页 不浮躁 | 初学一级 | 园豆:144
提问于:2017-11-08 14:01
< >
分享
最佳答案
0

1 首先判断为每个客户创建一个Database的情况

..不是美观的问题,就说维护升级副本集之类的,维护起来多麻烦啊,再说这有啥美观的..mongodb是非关系型的数据库,在一个collection里多个不同的客户信息是正常的啊.

2 每个Collection中都带有一个(客户id)

这个我觉得是可取的,本来bson文件(collection)就支持collection嵌套collection,一个collection类似关系型数据库的表,那你嵌套一层,把里面的collection当做表,外面的那层不也是相当于是数据库层面了?而真正的mongosb数据库是在更外面包了一层

收获园豆:100
猝不及防 | 老鸟四级 |园豆:2781 | 2017-11-08 16:54
其他回答(3)
0

1.使用大量collections的话 有弊端,就是查数据的时候可能会很慢

2.独立建库,要看你们每个客户的数据性质,原则上不建议单独建库

竹尖凝露 | 园豆:204 (菜鸟二级) | 2017-11-08 14:29
0

不可取,总结完毕.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-11-08 14:52
0

那就不要用MongoDB了呗。

本来人家的优势就是可以Document Style Free。

你这样做,不如用普通的RelationShip可能更加适合。

灰毛毛 | 园豆:223 (菜鸟二级) | 2017-11-08 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册