Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 如何使用MongoDB为多租户分析设计集合?_Database Design_Mongodb_Multi Tenant - Fatal编程技术网

Database design 如何使用MongoDB为多租户分析设计集合?

Database design 如何使用MongoDB为多租户分析设计集合?,database-design,mongodb,multi-tenant,Database Design,Mongodb,Multi Tenant,我看到了几篇关于Mongo的多租户方法的帖子,但希望我能得到更多关于更具体需求的具体反馈 以下是我从业务方面了解到的情况: 免费评估:应允许免费轻松注册新租户客户;他们中的许多人将在系统中长期处于低活动和低容量状态。 [每个租户]的分析是解决方案的关键组成部分。没有迫切需要实时分析,而且大多数分析都可以在每个租户的批处理中完成。 可能还需要一些跨租户的内部分析处理,但在以后的阶段。 我假设轻量级分配新租户的需求与按租户分配数据库的方法不一致 假设我在同一数据库中为不同租户保留不同的集合: 与对多

我看到了几篇关于Mongo的多租户方法的帖子,但希望我能得到更多关于更具体需求的具体反馈

以下是我从业务方面了解到的情况:

免费评估:应允许免费轻松注册新租户客户;他们中的许多人将在系统中长期处于低活动和低容量状态。 [每个租户]的分析是解决方案的关键组成部分。没有迫切需要实时分析,而且大多数分析都可以在每个租户的批处理中完成。 可能还需要一些跨租户的内部分析处理,但在以后的阶段。 我假设轻量级分配新租户的需求与按租户分配数据库的方法不一致

假设我在同一数据库中为不同租户保留不同的集合:

与对多租户集合进行一次大扫描相比,为每个租户的集合安排如此多的map reduce聚合是否有效 是否有任何实用的方法跨多个集合执行分析计算? 在集合和索引总数超出限制的情况下,是否存在集合数量过多的其他问题?比如,失去了对某些库和工具的支持,而这些库和工具是为处理固定集合而设计的? 或者,在管理固定集多租户集合时:

集合结构的最佳实践是什么?我是否应该在多租户集合中的每个文档中通过引用保留租户文档? 在这种情况下,运行map reduce的最佳实践是什么?我应该尝试一个大型map reduce,还是运行多个map reduce任务来过滤每个租户的集合? 谢谢,
Max

为什么不是每个租户一个db?这个博客展示了为什么基于集合的多租户更轻量级:为什么不是每个租户一个db?这个博客展示了为什么基于集合的多租户更轻量级: