Docs Menu

Config Database

config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ปฌ๋ ‰์…˜์€ ๋‹ค์Œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ 

์ƒค๋”ฉ๋œ cluster๋Š” mongos ์— ์—ฐ๊ฒฐํ•˜๋Š”์ง€ ๋˜๋Š” mongod์— ์—ฐ๊ฒฐํ•˜๋Š”์ง€์— ๋”ฐ๋ผ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ค๋ฅธ collection์ด ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • mongos์—์„œ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” collections ๋˜๋Š” chunks์™€ ๊ฐ™์€ config ์„œ๋ฒ„์— ์žˆ๋Š” ์ปฌ๋ ‰์…˜์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  • mongod์—์„œ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” migrationCoordinators ๋˜๋Š” rangeDeletions ์™€ ๊ฐ™์ด ์ง€์ •๋œ ์ƒค๋“œ์™€ ๊ด€๋ จ๋œ ์ปฌ๋ ‰์…˜์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค

config ์„œ๋ฒ„์™€ ์ƒค๋“œ๊ฐ€ ๋™์ผํ•œ ๋…ธ๋“œ์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๊ฒฝ์šฐ mongos ๊ฐ€ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๋ถ€ ์ƒค๋“œ ๋กœ์ปฌ collection์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB 5.0๋ถ€ํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ๊ธฐ ๊ณ ๋ ค ์‚ฌํ•ญ ๋ฐ ์˜ต์…˜์ด ์žˆ๋Š” config.transactions ์ปฌ๋ ‰์…˜์—์„œ ํŠธ๋žœ์žญ์…˜์ด ์•„๋‹Œ ์ฝ๊ธฐ๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ค‘์š”

config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ๋Š” ๋‚ด๋ถ€์ ์ด๋ฉฐ, ๋ฆด๋ฆฌ์Šค ๊ฐ„์— ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” API๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๋˜๋Š” ์œ ์ง€ ๊ด€๋ฆฌ ๊ณผ์ •์—์„œ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ 

๋‹ค์ค‘ ๋ฌธ์„œ ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ปฌ๋ ‰์…˜์—๋Š” ์ฝ๊ธฐ/์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜์—ฌ ์ƒค๋”ฉ ์ž‘์—…์„ ์ง€์›ํ•˜๋Š” ์ปฌ๋ ‰์…˜ ๋ชฉ๋ก์„ ๋ณด๋ ค๋ฉด mongosh๋ฅผ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ mongos ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ  ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

use config
show collections

์ฐธ๊ณ 

์•ก์„ธ์Šค ์ œ์–ด์™€ ํ•จ๊ป˜ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด listCollections ์กฐ์น˜๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.ํ•ฉ๋‹ˆ๋‹ค.

config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ฃผ๋กœ ๋‚ด๋ถ€์šฉ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ผ๋ฐ˜์ ์ธ ์ž‘์—… ์ค‘์— ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์ €์žฅํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ config ์„œ๋ฒ„์˜ ์“ฐ๊ธฐ ๊ฐ€์šฉ์„ฑ์„ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์ด๋ฆ„์˜ ์ปฌ๋ ‰์…˜์ด ์ด๋ฏธ ์กด์žฌํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•œ ํ›„ ํ…Œ์ŠคํŠธ ์ปฌ๋ ‰์…˜์— ๋ฌธ์„œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

์ž‘๋™ ์ค‘์ธ ์‹œ์Šคํ…œ์—์„œ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•ด์ง€๊ฑฐ๋‚˜ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ mongodump๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ „์ฒด ๋ฐฑ์—…์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

db.testConfigServerWriteAvail.insertOne( { a : 1 } )

์ž‘์—…์ด ์„ฑ๊ณตํ•˜๋ฉด config ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์“ฐ๊ธฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ–ฅํ›„ ์„œ๋ฒ„ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ค๋ฅธ ์ปฌ๋ ‰์…˜์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ…Œ์ŠคํŠธ ์ปฌ๋ ‰์…˜์˜ ์ด๋ฆ„์„ ์„ ํƒํ•  ๋•Œ ์ฃผ์˜ํ•˜์„ธ์š”.

MongoDB๋Š” ์ƒค๋”ฉ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋‹ค์Œ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

config.changelog

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

changelog ์ปฌ๋ ‰์…˜์€ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” changelog ์ปฌ๋ ‰์…˜์—์„œ ๋ถ„ํ• ๋œ ์ฒญํฌ์˜ ๋‹จ์ผ ๋ ˆ์ฝ”๋“œ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

{
"_id" : "<hostname>-<timestamp>-<increment>",
"server" : "<hostname><:port>",
"clientAddr" : "127.0.0.1:63381",
"time" : ISODate("2012-12-11T14:09:21.039Z"),
"what" : "split",
"ns" : "<database>.<collection>",
"details" : {
"before" : {
"min" : {
"<database>" : { $minKey : 1 }
},
"max" : {
"<database>" : { $maxKey : 1 }
},
"lastmod" : Timestamp(1000, 0),
"lastmodEpoch" : ObjectId("000000000000000000000000")
},
"left" : {
"min" : {
"<database>" : { $minKey : 1 }
},
"max" : {
"<database>" : "<value>"
},
"lastmod" : Timestamp(1000, 1),
"lastmodEpoch" : ObjectId(<...>)
},
"right" : {
"min" : {
"<database>" : "<value>"
},
"max" : {
"<database>" : { $maxKey : 1 }
},
"lastmod" : Timestamp(1000, 2),
"lastmodEpoch" : ObjectId("<...>")
},
"owningShard" : "<value>"
}
}

changelog ์ปฌ๋ ‰์…˜์˜ ๊ฐ ๋ฌธ์„œ์—๋Š” ๋‹ค์Œ ํ•„๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

config.changelog._id

changelog._id์˜ ๊ฐ’์€ <hostname>-<timestamp>-<increment>์ž…๋‹ˆ๋‹ค.

config.changelog.server

์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ์„œ๋ฒ„์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

config.changelog.clientAddr

ํด๋ผ์ด์–ธํŠธ์˜ ์ฃผ์†Œ๋ฅผ ๋ณด์œ ํ•˜๋Š” ๋ฌธ์ž์—ด๋กœ, ์ด ๋ณ€๊ฒฝ์„ ์‹œ์ž‘ํ•˜๋Š” mongos ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

config.changelog.time

๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•œ ์‹œ์ ์„ ๋ฐ˜์˜ํ•˜๋Š” ISODate ํƒ€์ž„์Šคํƒฌํ”„์ž…๋‹ˆ๋‹ค.

config.changelog.what

๊ธฐ๋ก๋œ ๋ณ€๊ฒฝ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • dropCollection

  • dropCollection.start

  • dropDatabase

  • dropDatabase.start

  • moveChunk.start

  • moveChunk.commit

  • split

  • multi-split

config.changelog.ns

๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

config.changelog.details

๋ณ€๊ฒฝ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. details ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋Š” ๋ณ€๊ฒฝ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

config.chunks

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

config.chunks ์ปฌ๋ ‰์…˜์€ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ์ฒญํฌ์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์‹œ๋Š” ๋ฌธ์„œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

{
_id: ObjectId('65a954c0de11596e08e7c1dc'),
uuid: UUID('a4479215-a38d-478f-a82b-e5e95d455e55'),
min: { a: Long('121204345') },
max: { a: Long('993849349') },
shard: 'shard01',
lastmod: Timestamp({ t: 1, i: 0 }),
history: [
{
validAfter: Timestamp({ t: 1705596095, i: 14 }),
shard: 'shard01'
}
]
}

๋ฌธ์„œ์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • _id๋Š” ์ฒญํฌ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค.

  • min ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ช…์‹œ์ ์œผ๋กœ ์•”์‹œํ•˜๋ฉฐ max์€(๋Š”) ์ฒญํฌ์˜ ์ƒค๋“œ ํ‚ค์— ๋Œ€ํ•œ ๊ฐ’ ๋ฒ”์œ„์ž…๋‹ˆ๋‹ค.

  • shard์€(๋Š”) ํด๋Ÿฌ์Šคํ„ฐ์— ์ฒญํฌ๋ฅผ ์ €์žฅํ•˜๋Š” ์ƒค๋“œ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

ํŒ

์ปฌ๋ ‰์…˜์—์„œ ์ฒญํฌ๋ฅผ ์ฐพ์œผ๋ ค๋ฉด config.collections ์ปฌ๋ ‰์…˜์—์„œ ์ปฌ๋ ‰์…˜์˜ uuid ์‹๋ณ„์ž๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ uuid๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ config.chunks ์ปฌ๋ ‰์…˜์—์„œ ๋™์ผํ•œ uuid๋ฅผ ๊ฐ€์ง„ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

config.collections

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

MongoDB 8.0๋ถ€ํ„ฐ config.collections๋Š” moveCollection์œผ๋กœ ์ด๋™๋œ ๋ชจ๋“  ์ƒค๋”ฉ๋œ ์ปฌ๋ ‰์…˜ ๋ฐ ์ƒค๋”ฉ๋˜์ง€ ์•Š์€ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

8.0 ์ด์ „์˜ MongoDB ๋ฒ„์ „์—์„œ config.collections๋Š” ์ƒค๋”ฉ๋œ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

config.collections์€(๋Š”) ์ปฌ๋ ‰์…˜์— ์ €์žฅ๋œ ๋ฌธ์„œ๊ฐ€ ์•„๋‹Œ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

records ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— pets ๋ผ๋Š” ์ปฌ๋ ‰์…˜์ด ์žˆ๋Š” ๊ฒฝ์šฐ collections ์ปฌ๋ ‰์…˜์˜ ๋ฌธ์„œ๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

{
"_id" : "records.pets",
"lastmod" : ISODate("2021-07-21T15:48:15.193Z"),
"timestamp": Timestamp(1626882495, 1),
"key" : {
"a" : 1
},
"unique" : false,
"lastmodEpoch" : ObjectId("5078407bd58b175c5c225fdc"),
"uuid" : UUID("f8669e52-5c1b-4ea2-bbdc-a00189b341da")
}
config.csrs.indexes

๋ฒ„์ „ 7.0์— ์ถ”๊ฐ€.

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

indexes ์ปฌ๋ ‰์…˜์€ ์ƒค๋“œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ ๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜์˜ ๊ฐ ๋ฌธ์„œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•„๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„๋“œ
๋ฐ์ดํ„ฐ ์œ ํ˜•
์„ค๋ช…

name

๋ฌธ์ž์—ด

๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

keyPattern

๋ฌธ์„œ

์ธ๋ฑ์Šค ํ‚ค ์‚ฌ์–‘์ž…๋‹ˆ๋‹ค.

options

๋ฌธ์„œ

์ธ๋ฑ์Šค๊ฐ€ ๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค์ธ์ง€ ์—ฌ๋ถ€ ๋“ฑ ์ง€์ •๋œ ์ธ๋ฑ์Šค ์˜ต์…˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

lastmod

ํƒ€์ž„์Šคํƒฌํ”„

์ธ๋ฑ์Šค๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆ˜์ •๋œ ์‹œ์ ๊ณผ ์ธ๋ฑ์Šค ๋ฒ„์ „์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ํƒ€์ž„์Šคํƒฌํ”„์ž…๋‹ˆ๋‹ค.

collectionUUID

UUID

์ƒค๋”ฉ๋œ ์ปฌ๋ ‰์…˜์˜ UUID.

indexCollectionUUID

UUID

๊ธ€๋กœ๋ฒŒ ์ธ๋ฑ์Šค๋ฅผ ์ถ”์ ํ•˜๋Š” ์„ธ์ปจ๋”๋ฆฌ ์ปฌ๋ ‰์…˜์˜ UUID.

config.databases

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

databases ์ปฌ๋ ‰์…˜์€ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ํ•ด๋‹น ๋ฌธ์„œ์—๋Š” ์ด๋ฆ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ”„๋ผ์ด๋จธ๋ฆฌ ์ƒค๋“œ ๋ฐ ๋ฒ„์ „์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

{ "_id" : "test", "primary" : "shardA", "version" : { "uuid" : UUID("516a5f79-5eb9-4844-8ee9-b8e9de91b760"), "timestamp" : Timestamp(1626894204, 1), "lastMod" : 1 } }
{ "_id" : "hr", "primary" : "shardA", "version" : { "uuid" : UUID("8e39d61d-6259-4c33-a5ed-bcd2ae317b6f"), "timestamp" : Timestamp(1626895015, 1), "lastMod" : 1 } }
{ "_id" : "reporting", "primary" : "shardB", "version" : { "uuid" : UUID("07c63242-51b3-460c-865f-a67b3372d792"), "timestamp" : Timestamp(1626895826, 1), "lastMod" : 1 } }

sh.status() ๋ฉ”์„œ๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„น์…˜์— ์ด ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

config.migrationCoordinators

migrationCoordinators ์ปฌ๋ ‰์…˜์€ ๊ฐ ์ƒค๋“œ์— ์กด์žฌํ•˜๋ฉฐ ์ด ์ƒค๋“œ์—์„œ ๋‹ค๋ฅธ ์ƒค๋“œ๋กœ ์ง„ํ–‰ ์ค‘์ธ ๊ฐ ์ฒญํฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ๋ฅผ ์ƒค๋“œ์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ์— ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋…ธ๋“œ์— ์“ธ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ฒญํฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์™„๋ฃŒ๋˜๋ฉด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

config.mongos

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

mongos ์ปฌ๋ ‰์…˜์€ ํด๋Ÿฌ์Šคํ„ฐ์™€ ์—ฐ๊ฒฐ๋œ ๊ฐ mongos ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋ณด๊ณ  ๋ชฉ์ ์œผ๋กœ ์ด ์ปฌ๋ ‰์…˜์„ ์œ ์ง€ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

mongos ์ปฌ๋ ‰์…˜์˜ ๊ฐ ๋ฌธ์„œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•„๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„๋“œ
๋ฐ์ดํ„ฐ ์œ ํ˜•
์„ค๋ช…

_id

๋ฌธ์ž์—ด

mongos ์‹คํ–‰ ์ค‘์ธ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฐ ํฌํŠธ์ž…๋‹ˆ๋‹ค. ํ˜•์‹์€ _id <hostname>:<port>๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

advisoryHostFQDNs

๋ฌธ์ž์—ด ๋ฐฐ์—ด

mongos์˜ ์ •๊ทœํ™”๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„ (FQDN) ์˜ ๋ฐฐ์—ด.

created

๋‚ ์งœ

mongos๊ฐ€ ์‹œ์ž‘๋œ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

๋ฒ„์ „ 5.2์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

mongoVersion

๋ฌธ์ž์—ด

mongos๊ฐ€ ์‹คํ–‰ ์ค‘์ธ MongoDB ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

ping

๋‚ ์งœ

mongos ์ธ์Šคํ„ด์Šค๋Š” 30์ดˆ๋งˆ๋‹ค ๊ตฌ์„ฑ ์„œ๋ฒ„์— ping์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๋Š” ๋งˆ์ง€๋ง‰ ํ•‘ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

up

NumberLong

๋งˆ์ง€๋ง‰ ํ•‘์„ ๊ธฐ์ค€์œผ๋กœ mongos๊ฐ€ ์ž‘๋™ํ•œ ์‹œ๊ฐ„ (์ดˆ) ์ž…๋‹ˆ๋‹ค.

waiting

๋ถ€์šธ

์ด ํ•„๋“œ๋Š” ํ•ญ์ƒ true์ด๋ฉฐ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด์„œ๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ฌธ์„œ๋Š” example.com:27017์—์„œ ์‹คํ–‰๋˜๋Š” mongos ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

[
{
_id: 'example.com:27017',
advisoryHostFQDNs: [ "example.com" ],
created: ISODate("2021-11-22T16:32:13.708Z"),
mongoVersion: "5.2.0",
ping: ISODate("2021-12-15T22:09:23.161Z"),
up: Long("2007429"),
waiting: true
}
]
config.rangeDeletions

rangeDeletions ์ปฌ๋ ‰์…˜์€ ๊ฐ ์ƒค๋“œ์— ์กด์žฌํ•˜๋ฉฐ ๊ณ ์•„ ๋ฌธ์„œ๊ฐ€ ํฌํ•จ๋œ ๊ฐ ์ฒญํฌ ๋ฒ”์œ„์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ๋ฅผ ์ƒค๋“œ์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ์— ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋…ธ๋“œ์— ์“ธ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ฒญํฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๋ถ„๋ฆฌ๋œ ์ฒญํฌ ๋ฒ”์œ„๊ฐ€ ์ •๋ฆฌ๋˜๋ฉด ๋ฒ”์œ„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ์ปฌ๋ ‰์…˜์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

config.settings

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

settings ์ปฌ๋ ‰์…˜์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒค๋”ฉ ๊ตฌ์„ฑ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฒ”์œ„ ํฌ๊ธฐ. ๋ฒ”์œ„ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ฒ”์œ„ ํฌ๊ธฐ ์ˆ˜์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์ง€์ •ํ•œ chunksize ๊ฐ’์€ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.

  • ๋ฐธ๋Ÿฐ์„œ ์„ค์ •. ๋ฐธ๋Ÿฐ์„œ ์ƒํƒœ๋ฅผ ํฌํ•จํ•œ ๋ฐธ๋Ÿฐ์„œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฐธ๋Ÿฐ์„œ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • Autosplit:

    MongoDB 6.0.3๋ถ€ํ„ฐ ์ž๋™ ์ฒญํฌ ๋ถ„ํ• ์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐธ๋Ÿฐ์‹ฑ ์ •์ฑ… ๊ฐœ์„  ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ž๋™ ๋ถ„ํ•  ๋ช…๋ น์ด ์—ฌ์ „ํžˆ ์กด์žฌํ•˜์ง€๋งŒ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    6.1 ์ด์ „ MongoDB ๋ฒ„์ „์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    • balancerStart์€(๋Š”) ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ž๋™ ๋ถ„ํ• ๋„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

    • balancerStop์€ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ž๋™ ๋ถ„ํ• ๋„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

    • ์ž๋™ ๋ถ„ํ•  ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™œ์„ฑํ™” ๋˜๋Š” ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ํ•ด๋‹น sh.enableAutoSplit() ๋ฉ”์„œ๋“œ ๋˜๋Š” sh.disableAutoSplit() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

settings ์ปฌ๋ ‰์…˜ ๋‚ด์˜ ์˜ˆ์‹œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

{ "_id" : "chunksize", "value" : 64 }
{ "_id" : "balancer", "mode" : "full", "stopped" : false }
config.shards

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

shards ์ปฌ๋ ‰์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ์ƒค๋“œ๋ฅผ ๋ณ„๋„์˜ ๋ฌธ์„œ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

{ "_id" : "shard0000", "host" : "localhost:30000", "state" : 1 }

์ƒค๋“œ๊ฐ€ ๋ณต์ œ๋ณธ ์„ธํŠธ์ธ ๊ฒฝ์šฐ host ํ•„๋“œ์—๋Š” ๋‹ค์Œ ์˜ˆ์™€ ๊ฐ™์ด ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ์ด๋ฆ„๊ณผ ์Šฌ๋ž˜์‹œ, ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๊ฐ ๋ฉค๋ฒ„์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

{ "_id" : "shard0001", "host" : "shard0001/localhost:27018,localhost:27019,localhost:27020", "state" : 1 }

์ƒค๋“œ์— ๊ตฌ์—ญ์ด ํ• ๋‹น๋œ ๊ฒฝ์šฐ ์ด ๋ฌธ์„œ์—๋Š” ๋‹ค์Œ ์˜ˆ์™€ ๊ฐ™์ด ๊ตฌ์—ญ์ด ํ• ๋‹น๋œ ๊ตฌ์—ญ์˜ ๋ฐฐ์—ด์ด ํฌํ•จ๋œ tags ํ•„๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

{ "_id" : "shard0002", "host" : "localhost:30002", "state" : 1, "tags": [ "NYC" ] }
config.tags

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

tags ์ปฌ๋ ‰์…˜์€ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ์˜์—ญ ๋ฒ”์œ„์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค. tags ์ปฌ๋ ‰์…˜์˜ ๋ฌธ์„œ๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

{
"_id" : { "ns" : "records.users", "min" : { "zipcode" : "10001" } },
"ns" : "records.users",
"min" : { "zipcode" : "10001" },
"max" : { "zipcode" : "10281" },
"tag" : "NYC"
}
config.version

ํŒ

๋‚ด๋ถ€ MongoDB ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ฆฌ์ž๋Š” ์ •์ƒ์ ์ธ ์šด์˜ ๊ณผ์ •์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

version ์ปฌ๋ ‰์…˜์—๋Š” ํ˜„์žฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฒ„์ „ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ปฌ๋ ‰์…˜์—๋Š” ๋ฌธ์„œ๊ฐ€ ํ•˜๋‚˜๋งŒ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ:

{ "_id" : 1, "minCompatibleVersion" : 5, "currentVersion" : 6, "clusterId" : ObjectId("5d8bc01a690d8abbd2014ddd") }

version ์ปฌ๋ ‰์…˜์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด db.getCollection() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ปฌ๋ ‰์…˜์˜ ๋ฌธ์„œ๋ฅผ ์กฐํšŒํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

db.getCollection("version").find()

config ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ๋…๋ฆฝํ˜•, ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฐ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•ด ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€์ ์ธ ์„ธ์…˜๊ณผ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฐ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•ด ์žฌ์‹œ๋„ ๊ฐ€๋Šฅ ์“ฐ๊ธฐ ๋ฐ ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด๋ถ€ ์ปฌ๋ ‰์…˜์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

์ด๋Ÿฌํ•œ ์ปฌ๋ ‰์…˜์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

mongod ๋˜๋Š” mongos ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•ด ์ด๋Ÿฌํ•œ ์ปฌ๋ ‰์…˜์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด mongosh๋ฅผ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

config.system.sessions

system.sessions ์ปฌ๋ ‰์…˜์€ ๋ฐฐํฌ์˜ ๋ชจ๋“  ๋ฉค๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ์…˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ mongod ๋˜๋Š” mongos ์ธ์Šคํ„ด์Šค์—์„œ ์„ธ์…˜์„ ๋งŒ๋“ค๋ฉด ์„ธ์…˜์ฒ˜์Œ์—๋Š” ์˜ ๊ธฐ๋ก์ด ์ธ์Šคํ„ด์Šค์˜ ์ธ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ์บ์‹œ๋œ ์„ธ์…˜์„ system.sessions ์ปฌ๋ ‰์…˜์— ๋™๊ธฐํ™”ํ•˜๋ฉฐ, ์ด ๋•Œ ๋ฐฐํฌ์˜ ๋ชจ๋“  ๋ฉค๋ฒ„๊ฐ€ ํ•ด๋‹น ์„ธ์…˜์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

system.sessions ์ปฌ๋ ‰์…˜์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ณด๋ ค๋ฉด $listSessions๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

system.sessions ์ปฌ๋ ‰์…˜์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ๋Š” system.sessions collection์ด ์ƒค๋”ฉ๋ฉ๋‹ˆ๋‹ค.

์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์— ์ƒค๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ, ์ถ”๊ฐ€ํ•  ์ƒค๋“œ์— ์ž์ฒด system.sessions ์ปฌ๋ ‰์…˜์ด ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด MongoDB๋Š” ์ถ”๊ฐ€ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์ƒˆ ์ƒค๋“œ์˜ system.sessions ์ปฌ๋ ‰์…˜์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

config.transactions

์ปฌ๋ ‰์…˜์€ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฐ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์— transactions ๋Œ€ํ•ด ์žฌ์‹œ๋„ ๊ฐ€๋Šฅ ์“ฐ๊ธฐ ๋ฐ ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ก์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

transactions ์ปฌ๋ ‰์…˜์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.