MongoDB:标记感知分片,作为预分割数据的一种方式

时间:2014-01-07 17:22:56

标签: mongodb split sharding chunks

我们有一个工作处理系统,工作人员将在我们的mongodb中并行地批量插入数十万个文档。每个工作人员都会插入数据批处理,每个批处理将属于同一个group_id。我为我们的数据库设置了3个分片,我想以循环方式预分割这些group_id。例如:

  

group_id:1 - > shard1

     

group_id:2 - > shard2

     

group_id:3 - > shard3

     

group_id:4 - > shard1

     

group_id:5 - > shard2

     

...等

想法是增加写入吞吐量,工作人员将逐步处理组,因此通过这种预分裂,理论上3工作者应该能够并行批量插入而无需相互等待(我们有一个本地mongos服务器对每个工人而言。)

我使用标记的分片sh.addTagRange()命令实现了上述想法。但是这些块没有正确分割?一切都在主要分片中结束,这破坏了预分割数据的整个目的。如果标记感知分片不是实现密钥值循环分配的正确方法,那么有人会如何以这种方式预先分割数据?我将不胜感激任何帮助!

0 个答案:

没有答案