可移动集合
8.0版本新增。
从MongoDB 8.0开始,您可以使用 { moveCollection
命令将未分片的集合移动到不同的分片。
用例
将未分片集合移动到任何分分片可以:
优化更大、更复杂的工作负载的性能。
实现更好的资源利用率。
在各分片之间更均匀地分布数据。
考虑以下情况:
某公司运行的电子商务平台具有多个未分片集合,例如单个分片上的
products
、orders
和users
。orders
集合开始变得明显大于其他集合,从而导致分片出现性能分片。 为了提高性能并平衡集群中的负载,管理员可以使用moveCollection
命令将较小的products
和users
集合移动到不同的分分片。全球应用程序将位于北美、欧洲和亚洲的用户的用户数据存储在一个分片上的三个独立的未分片分片中。 为了减少用户延迟,管理员可以将这些集合移动到位于同一分片集群每个地区的分片。
某个应用程序经常在位于不同分片的两个未分片集合
orders
和customers
之间执行$lookup
操作。 为了提高查询性能,数据库管理员可以将这两个集合移动到同一个分分片。
开始体验
访问控制
要在强制执行身份验证的部署上移动未分片的集合,您必须以至少具有enableSharding
角色的用户身份进行身份验证。