2 zhangsh029 zhangsh029 于 2015.06.08 15:32 提问

多用户系统的数据库(MongoDB)设计

各位大神好,现在公司需要做这么一个平台,这个平台是提供给个人开发者的,个人开发者可以注册登陆到这个平台,登陆后,可以自己创建集合,通过我们提供的公有rest API,对自己创建的集合 进行增删改查。创建自定义集合的数量不受限。
我们现在的思路是:创建2个集合,一个集合保存用户自定义集合的名称,字段,以及字段类型等等信息,另一个集合存储自定义集合的数据。这种思路的问题是,单集合数据量过大,如果有成千上万的开发者,每个开发者都创建多个自定义集合,这个数据量太多了。
另一种思路是:用户的每个自定义集合,都单独创建一个集合。这种思路的问题是,成千上万的开发者,如果每个开发者都创建多个集合,这样,数据库里面的 集合数目又太多了。gg
有没有人有这方面的设计经验? 提前谢谢各位大神。

2个回答

caozhy
caozhy   Ds   Rxr 2015.06.08 15:40
已采纳

你这个不叫多用户,叫多租户,自己google,Multi-tenant MongoDB,有很多解决方案

zhangsh029
zhangsh029 谢谢您,其实我们就是想做一个 SaaS的平台,您的回答一下子解决我的问题,我已经在google上搜到解决方案了,再次非常感谢您。
2 年多之前 回复
zhangsh029
zhangsh029 非常感谢您的回答,我看看
2 年多之前 回复
sxjiangdongqin
sxjiangdongqin   2015.06.09 22:08

这样写不知道你能不能明白。。。如果你会基本的查询应该想想就明白了。。。
users (hash)
userid:1
roleA : 1 (set)
add , edit , del

Csdn user default icon
上传中...
上传图片
插入图片