Повторное сегментирование не влияет должным образом в MongoDB - PullRequest
0 голосов
/ 13 июля 2020

У меня была сегментированная коллекция в MongoDB со 100 документами, разделенными на два сегмента в соотношении 100: 0, т.е. 100 документов в сегменте 1 и 0 документов в сегменте 2. Я выполнил sh .splitAt () следующим образом *

mongos> sh.splitAt("test.col", {AGE:50})
{
"ok" : 1,
"operationTime" : Timestamp(1594623118, 1),
"$clusterTime" : {
    "clusterTime" : Timestamp(1594623125, 4),
    "signature" : {
        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
        "keyId" : NumberLong(0)
    }
 }
}

Это было сделано с целью разделения документов в соотношении 50:50, т.е. 50 документов в сегменте 1 и 50 в сегменте 2. Когда я запускаю команду sh .status (), отображается следующее

mongos > sh.status()
....other data
 test.col
                    shard key: { "AGE" : 1 }
                    unique: false
                    balancing: true
                    chunks:
                            s0  1
                            s1  1
                    { "AGE" : { "$minKey" : 1 } } -->> { "AGE" : 50 } on : shard1 Timestamp(3, 0)
                    { "AGE" : 50 } -->> { "AGE" : { "$maxKey" : 1 } } on : shard2 Timestamp(3, 1)

Таким образом, видно, что от 1 до 50 находится в сегменте 1, а с 50 - в сегменте 2. Но когда я проверяю getShardedDistribution (), он не показывает документов в сегменте 1.

 mongos > db.col.getShardDistribution()
 Shard s0 at s0/localhost:37017,localhost:37018,localhost:37019
 data : 0B docs : 0 chunks : 1
 estimated data per chunk : 0B
 estimated docs per chunk : 0

Shard s1 at s1/localhost:47017,localhost:47018,localhost:47019
 data : 5KiB docs : 100 chunks : 1
 estimated data per chunk : 5KiB
 estimated docs per chunk : 100

Totals
 data : 5KiB docs : 100 chunks : 2
 Shard s0 contains 0% data, 0% docs in cluster, avg obj size on shard : 0B
 Shard s1 contains 100% data, 100% docs in cluster, avg obj size on shard : 53B

Почему это неправильно перенаправлено? Что мне здесь не хватает? Может ли кто-нибудь мне помочь

...