Docs 菜单

具有可移动集合的多租户架构

8.0版本新增

在多租户架构中,应用程序的单个实例为多个用户提供服务。 多租户用户股票资源,属于同一租户的数据通常保存在单个分片上。

如果您的多租户配置中每个数据库只有一个租户,并且其大部分工作负载发生在单个分片片上,则您可以将经常访问的集合移至其他分片,以实现更均匀的工作负载分布。 这减少了原始分片片上的集合数量,并提高了整个系统的性能。

注意

非分片集群

如果您的多租户部署是副本集,则可以将其转换为分片分片集群,并添加其他分片以更均匀地分配工作负载。 有关更多信息,请参阅:

  • 移动集合会产生操作开销。 在移动集合之前,请查看sh.moveCollection()文档以了解性能注意事项。

  • 最佳的多租户配置取决于您的工作负载和应用程序需求。 将集合移动到新分片的可扩展的不如具有共享集合的单个数据库中的多租户。 但是,让每个数据库对应一个租户可以实现更多可定制的安全性和访问权限模式。

  • 要优化跨集合操作(如$lookup或访问权限多个集合的事务)的性能,请将给定租户的所有集合放在同一个分分片上。