zhangsh029
2015-06-08 07:32
采纳率: 100%
浏览 3.2k

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2015-06-08 07:40
    已采纳

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

    已采纳该答案
    打赏 评论
  • 45度向上倾斜 2015-06-09 14:08

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

    打赏 评论

相关推荐 更多相似问题