在具有2个分片的分片副本集中写入会导致第二个分片的主要分区上的相同卷的奇怪读取

时间:2011-09-13 16:37:06

标签: mongodb

我意识到这个问题令人困惑。我正在测试我的分片拓扑,我有:

Shard A.    (node1(主要),node2(次要),node3(次要))

Shard B.    (node4(主要),node5(次要),node6(次要))

对于0数据库活动,如果我开始将大量数据写入分片集合,我会在分片A中的所有节点上看到所有写入活动(因为这个特定的块正在那里写入)。奇怪的是,在node4(shard B中的主要部分)上,我看到在对shard A进行写入的同时进行了相同数量的 read 查询。可能导致这种情况行为?

1 个答案:

答案 0 :(得分:0)

如果所有写入都转到Shard A,那么您应该看到的唯一主要活动是在这些节点上。 (即:写入node1,getmores到node2 / 3)。

两个大问题:

  1. 你是如何获得统计数据的? (mongostat?)
  2. 您的导入过程是否在插入之前检查现有条目?您是否可能发送需要针对两个分片运行的查询?任何不在分片键上的查询都可能导致查询转到两个(所有)分片。