MongoDB - 分片命令

MongoDB - 分片命令 首页 / MongoDB入门教程 / MongoDB - 分片命令

分片是一种在不同机器上分发数据的方法。 MongoDB可以使用分片来支持在非常大规模的数据集和高吞吐量操作上进行部署。

MongoDB Sharding Commands

MongoDB sh.addShard(<url>) command

使用此命令将碎片副本设置添加到分片群集。如果无涯教程在集群碎片中添加它。它开始传输块以平衡群集。

<replica_set>/<hostname><:port>,<hostname><:port>, ...

语法:

sh.addShard("<replica_set>/<hostname><:port>")

示例:

sh.addShard("repl0/mongodb3.example.net:27327")

输出:

MongoDB Sharding Commands

它将添加分片以指定副本集的名称和副本集的至少一个成员的主机名。

mongodb sh.addShardTag()命令

此命令用碎片中的标记或标识符备份。 mongodb 使用这些标识符将落在标记范围内的线程发送到指定的碎片。

示例:

sh.addShardTag("shard0000", "NYC")
sh.addShardTag("shard0001", "LAX")
sh.addShardTag("shard0002", "NRT")

它将为三个不同的碎片添加三个标签。

MongoDB Sharding Commands

MongoDB sh.addShardToZone(shared,zone)

此命令将指定的分片添加到指定区域。此命令在3.4版中引入。只分配那些块被分配给区域覆盖的碎片。

示例:

sh.addShardToZone("shard0000", "JFK")
sh.addShardToZone("shard0001", "LAX")
sh.addShardToZone("shard0002", "NRT")

//将LGA与Shard0000关联:

sh.addShardToZone("shard0000", "LGA")

// shard0000与LGA区域和JFK区域的关联。

mongodb sh.addTagRange(namespace,min,max,tag)命令

使用此命令将连接一系列分片键值。区域范围始终排除上限并包括下限。

示例:

无涯教程有一个{state:1,zip:1}的碎片键,下面的示例在加利福尼亚州的邮政编码中生成特定标签范围:

sh.addTagRange( "statedb.collection",
                { state: "CA", zip: MinKey },
                { state: "CA", zip: MaxKey },
                "NY"
              )

mongodb sh.disableBalancing(name_space)命令

使用此命令将禁用参数中指定分片的平衡器。它对块的平衡没有任何影响,但在同一群集中的其他分片集合。

MongoDB sh.enableBalancing(namespace)命令

该命令使参数中指定的碎片允许平衡器。它对块的平衡没有任何影响,但在同一群集中的其他分片集合。

mongodb sh.disableAutoSplit命令

此命令在配置设置集合中删除自动困难标志。随机群群组启用了自动分割选项时,它将在MongoDB基于分片键值自动拼接块。

sh.disableAutoSplit()只能从连接到指定的mongos实例的mongo shell执行。如果在Mongod实例上运行,则sh.disableAutoSplit()命令返回错误

mongodb updateZoneKeyRange命令

在此命令的帮助下,将创建或删除一系列分片键值和区域之间的关系。使用db.runCommand({<command>})方法来运行updateZoneKeyRange。您必须在管理数据库上运行addShardToZone。

语法:

{
  updateZoneKeyRange: <string>,
  min: <document>,
  max: <document>,
  zone: <string> | <null>
}

示例:

以下示例创建一个范围,其中一个下限为1和alpha区域上的10个上限:

admin = db.getSiblingDB("admin")
admin.runCommand(
   {
      updateZoneKeyRange : "exampledb.collection",
      min : { a : 1 },
      max : { a : 10 },
      zone : "alpha"
   }
)

以下查询通过将null传递到区域字段来删除先前创建的范围。

admin = db.getSiblingDB("admin")
admin.runCommand(
   {
      updateZoneKeyRange : "exampledb.collection",
      min : { a : 1 },
      max : { a : 10 },
      zone : null
   }
)

现在检查碎片状态:

无涯教程网

MongoDB Sharding Commands

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术与商业案例解读 -〔徐飞〕

算法面试通关40讲 -〔覃超〕

接口测试入门课 -〔陈磊〕

视觉笔记入门课 -〔高伟〕

如何落地业务建模 -〔徐昊〕

PyTorch深度学习实战 -〔方远〕

李智慧 · 高并发架构实战课 -〔李智慧〕

Kubernetes入门实战课 -〔罗剑锋〕

现代C++20实战高手课 -〔卢誉声〕

好记忆不如烂笔头。留下您的足迹吧 :)