在MongoDB v8.0 之前,对集合分片是不可逆的动作。从 v8.0 开始,您可以将集合取消分集合到您选择的分片。
何时对集合取消分片
以下场景受益于跨分片移动未分片集合。
更正无意中对集合进行分片的分片
如果发现分片是不必要的或导致性能问题,则可以使用“unshardCollection”命令将整个集合重写为未分片集合。
简化基于区域的隔离性
如果您使用 区域将分片的集合保留在单个分片上,则现在可以对该集合取消集合以降低集群的复杂性。
整合之前分片的小型集合
如果您对小型集合分片的以有效利用多个分片上的资源,则可以取消分片并将集合移动到您选择的分片。这样做可以降低部署的复杂性,同时保持适当的资源分配。
命令语法
sh.unshardCollection("database.collection", "shardName")
以下示例对 taxi数据库中的 riders集合取消分片,并将该集合移动到 shard1。
db.adminCommand({unshardCollection:"taxi.riders", toShard: "shard1"})
点击放大