【发布时间】:2020-11-06 22:16:58
【问题描述】:
我是这样配置的:
* configDB 1
* configDB 2
* configDB 3
* Mongos
* mongod (cluster_1)
* mongod (cluster_2)
shardkey : num (field)
shardkeyrange: 1~5 -> cluster1
shardkeyrange: 6~10 -> cluster2
我使用下面的查询在 db (mongos) 中插入了 10 个数据
db.A.insert({"num":1});
db.A.insert({"num":2});
db.A.insert({"num":3});
db.A.insert({"num":4});
db.A.insert({"num":5});
db.A.insert({"num":6});
db.A.insert({"num":7});
db.A.insert({"num":8});
db.A.insert({"num":9});
db.A.insert({"num":10});
在 mongod(cluster_1, cluster_2) 中查找查询
db.A.find({}).count; // cluster_1
> 5
db.A.find({}).count; //cluster_2
> 3
预期值:
>5
>5
可以看出,每个分片服务器中存储了5条数据。 但是当我查询每个集群时,cluster_1 有 5 个数据,cluster_2 有 3 个数据。 这并不总是发生。这种现象似乎偶尔会发生。
有没有可能出现类似现象的情况? 在数据库中执行特定操作时会发生这种情况吗?像块迁移.. 我想知道可能导致上述现象的各种情况或原因
【问题讨论】:
-
将您运行的查询及其结果添加到问题中。
标签: mongodb sharding chunks mongodb-replica-set