带有可移动集合的多租户架构
新版本8.0.
在多租户架构中,单个应用程序实例为多个用户服务。多租户用户共享资源,并且通常将同一租户的数据保留在单个分片中。
如果您多租户配置中每个数据库只有一个租户,并且其大部分工作负载发生在单个分片上,您可以将频繁访问的集合移动到其他分片以实现更均匀的工作负载分布。这减少了原始分片上的集合数量,并提高了整个系统的性能。
注意事项
移动集合会产生操作开销。在移动集合之前,请查阅
sh.moveCollection()
文档以了解性能考虑因素。最佳的多租户配置取决于您的工作负载和应用需求。将集合移动到新分片不如单个数据库中的共享集合多租户可扩展。但是,每个数据库对应一个租户可以提供更多可定制的安全性和访问模式。
为了优化跨集合操作(如
$lookup
或访问多个集合的事务)的性能,请将特定租户的所有集合放在同一分片上。