📅  最后修改于: 2023-12-03 15:03:02.163000             🧑  作者: Mango
MongoDB分片是一种水平扩展的解决方案,允许我们将一个集合分成多个分片,每个分片存储部分数据。分片可以帮助我们应对数据量的快速增长,实现大规模数据存储和查询。
MongoDB的分片架构由以下几个重要组件构成:
本文将介绍MongoDB的常用分片命令,帮助程序员快速上手MongoDB分片。
在启用分片之前,需要先开启mongod服务。mongod是MongoDB的主进程,负责处理数据存储和查询。
mongod --shardsvr --port 27017 --dbpath \data\db\shard1
必须同时开启三个config server,用于保存metadata信息。
mongod --configsvr --port 27017 --dbpath \data\db\config1
mongod --configsvr --port 27018 --dbpath \data\db\config2
mongod --configsvr --port 27019 --dbpath \data\db\config3
mongos 负责将请求路由到合适的 shard,需要指定它连接的 config server 地址。
mongos --configdb configsvr1:27017,configsvr2:27018,configsvr3:27019
在开启mongod服务之后,需要将其添加到分片集合中。
sh.addShard("localhost:27017")
创建集合,并开启分片特性。
db.createCollection("orders")
sh.enableSharding("test")
sh.shardCollection("test.orders", {"name":1})
查看当前分片集群的状态
sh.status()
将数据加入到集合中,并观察数据是否已被分片存储。
db.orders.insert({"name":"order1","price":100})
db.orders.insert({"name":"order2","price":200})
db.orders.insert({"name":"order3","price":300})
db.orders.insert({"name":"order4","price":400})
db.orders.find().forEach(printjson)
本文介绍了MongoDB的常用分片命令,包括启用分片、添加分片、开启集合分片、查看集群信息和分片数据。通过学习这些命令,可以快速上手MongoDB分片,应对大规模数据存储和查询的需求。