$shardedDataDistribution (์ง๊ณ)
์ด ํ์ด์ง์ ๋ด์ฉ
์ ์
$shardedDataDistribution
๋ฒ์ 6.0.3์ ์ถ๊ฐ๋์์ต๋๋ค.
์ค๋ ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ ๋ถํฌ์ ๋ํ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค.
์ฐธ๊ณ
์ด ์ง๊ณ ๋จ๊ณ๋
mongos
์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ์ง๊ณ ๋จ๊ณ๋
admin
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํํด์ผ ํฉ๋๋ค. ์ฌ์ฉ์์๊ฒshardedDataDistribution
๊ถํ ์กฐ์น๊ฐ ์์ด์ผ ํฉ๋๋ค.
๊ตฌ๋ฌธ
shardedDataDistribution
๋จ๊ณ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ๋ฌธ์ด ์์ต๋๋ค.
db.aggregate( [ { $shardedDataDistribution: { } } ] )
์ถ๋ ฅ ํ๋
$shardedDataDistribution
๋จ๊ณ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ฐ ์ค๋ฉ๋ ์ปฌ๋ ์
์ ๋ํ ๋ฌธ์ ๋ฐฐ์ด ์ ์ถ๋ ฅํฉ๋๋ค. ์ด๋ฌํ ๋ฌธ์์๋ ๋ค์ ํ๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
ํ๋ ์ด๋ฆ | ๋ฐ์ดํฐ ์ ํ | ์ค๋ช
|
---|---|---|
| ๋ฌธ์์ด | ์ค๋๋ ์ปฌ๋ ์ ์ ๋ค์์คํ์ด์ค์ ๋๋ค. |
| ๋ฐฐ์ด | ์ปฌ๋ ์ ์ ์ค๋์ ๊ฐ ์ค๋์ ๋ํ ๋ฐ์ดํฐ ๋ฐฐํฌ ์ ๋ณด์ ๋๋ค. |
| integer | ์ค๋ ๋ด ๊ณ ์ ๋ฌธ์ ์์ ๋๋ค. |
| integer | ์ค๋๊ฐ ์์ ํ ๋ฌธ์ ์์ ๋๋ค. |
| integer | ์์ถ ํด์ ์ ์ค๋ ๊ฐ ์์ ํ ๋ฌธ์์ ํฌ๊ธฐ(๋จ์: ๋ฐ์ดํธ)์ ๋๋ค. |
| integer | ์์ถ์ ํ์ง ์์์ ๋ ์ค๋ ์ ์๋ ๊ณ ์ ๋ฌธ์์ ํฌ๊ธฐ(๋จ์: ๋ฐ์ดํธ)์ ๋๋ค. |
ํ๋
Wired Tiger ์คํ ๋ฆฌ์ง ์์ง ์ ์ฌ์ฉํ์ฌ
mongod
๋ฅผ ๋น์ ์์ ์ผ๋ก ์ข
๋ฃํ ํ ์์ ๋ณด๊ณ ํ ํฌ๊ธฐ ๋ฐ ๊ฐ์ ํต๊ณ๊ฐ $shardedDataDistribution
๋ถ์ ํํ ์ ์์ต๋๋ค.
ํธ์ฐจ์ ์ ๋๋ ๋ง์ง๋ง ์ฒดํฌํฌ์ธํธ์ ๋น์ ์ ์ข
๋ฃ ์ฌ์ด์ ์ํ๋ ์ฝ์
, ์
๋ฐ์ดํธ ๋๋ ์ญ์ ์์
์ ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ฒดํฌํฌ์ธํธ๋ ๋ณดํต 60์ด๋ง๋ค ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋mongod
๊ธฐ๋ณธ๊ฐ์ด ์๋ --syncdelay
์ค์ ์ผ๋ก ์คํ๋๋ ์ธ์คํด์ค๋ ์ฒดํฌํฌ์ธํธ๊ฐ ๋ค์ ๋น๋ฒํ๊ฒ ๋ฐ์ํ ์ ์์ต๋๋ค.
mongod
์ ๊ฐ ์ปฌ๋ ์
์์ validate
๋ฅผ ์คํํ์ฌ ๋น์ ์ ์ข
๋ฃ ํ ํต๊ณ๋ฅผ ๋ณต์ํฉ๋๋ค.
๋น์ ์ ์ข ๋ฃ ํ
์์
๋ชจ๋ ์ค๋ฉ๋ ๋ฐ์ดํฐ ๋ถ์ฐ ๋ฉํธ๋ฆญ ๋ฐํ
์ค๋ฉ๋ ๋ฐ์ดํฐ ๋ฐฐํฌ ์งํ๋ฅผ ๋ชจ๋ ๋ฐํํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
db.aggregate([ { $shardedDataDistribution: { } } ])
์ถ๋ ฅ ์์:
[ { "ns": "test.names", "shards": [ { "shardName": "shard-1", "numOrphanedDocs": 0, "numOwnedDocuments": 6, "ownedSizeBytes": 366, "orphanedSizeBytes": 0 }, { "shardName": "shard-2", "numOrphanedDocs": 0, "numOwnedDocuments": 6, "ownedSizeBytes": 366, "orphanedSizeBytes": 0 } ] } ]
ํน์ ์ค๋์ ๋ํ ์งํ ๋ฐํ
ํน์ ์ค๋์ ๋ํด ์ค๋ฉ๋ ๋ฐ์ดํฐ ๋ถํฌ ์งํ๋ฅผ ๋ฐํํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
db.aggregate([ { $shardedDataDistribution: { } }, { $match: { "shards.shardName": "<name of the shard>" } } ])
๋ค์์คํ์ด์ค์ ๋ํ ๋ฐํ ์งํ
๋ค์์คํ์ด์ค์ ๋ํ ์ค๋ฉ๋ ๋ฐ์ดํฐ ๋ถํฌ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
db.aggregate([ { $shardedDataDistribution: { } }, { $match: { "ns": "<database>.<collection>" } } ])
๊ณ ์ ๋ฌธ์๊ฐ ๋จ์ ์์ง ์์์ง ํ์ธ
MongoDB 6.0.3๋ถํฐ $shardedDataDistribution
๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ์ง๊ณ๋ฅผ ์คํํํด ๊ณ ์ ๋ฌธ์๊ฐ ๋จ์ ์์ง ์์์ง ํ์ธํ ์ ์์ต๋๋ค.
db.aggregate([ { $shardedDataDistribution: { } }, { $match: { "ns": "<database>.<collection>" } } ])
$shardedDataDistribution
์ ์ถ๋ ฅ์ ๋ค์๊ณผ ์ ์ฌํฉ๋๋ค.
[ { "ns": "test.names", "shards": [ { "shardName": "shard-1", "numOrphanedDocs": 0, "numOwnedDocuments": 6, "ownedSizeBytes": 366, "orphanedSizeBytes": 0 }, { "shardName": "shard-2", "numOrphanedDocs": 0, "numOwnedDocuments": 6, "ownedSizeBytes": 366, "orphanedSizeBytes": 0 } ] } ]
ํด๋ฌ์คํฐ์ ๊ฐ ์ค๋์ ๋ํด "numOrphanedDocs"
๊ฐ 0
์ธ์ง ํ์ธํฉ๋๋ค.