๊ตฌ์ฑ ์ค๋
์ด ํ์ด์ง์ ๋ด์ฉ
MongoDB 8.0 ๋ถํฐ๋ ์ผ๋ฐ์ ์ธ ์ค๋ฉ๋ ํด๋ฌ์คํฐ ๋ฉํ๋ฐ์ดํฐ ์ธ์ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ํ๋๋ก config ์๋ฒ ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. config ์๋ฒ ์ ์ค๋ ์๋ฒ ๊ธฐ๋ฅ์ ๋ชจ๋ ์ ๊ณตํ๋ mongod
๋
ธ๋ ๋ฅผ config ์ค๋ ๋ผ๊ณ ํฉ๋๋ค. ์ค๋ ์๋ฒ ๊ธฐ๋ฅ ์์ด ๋
๋ฆฝํ --configsvr
๋ก ์คํ๋๋
mongod
๋
ธ๋ ๋ฅผ ์ ์ฉ config ์๋ฒ ๋ผ๊ณ ํฉ๋๋ค.
์ค๋ฉ๋ ํด๋ฌ์คํฐ ์๋ config ์๋ฒ ๊ฐ ์์ด์ผ ํ์ง๋ง, config ์ค๋ (๋ด์ฅ๋ config ์๋ฒ) ๋๋ ์ ์ฉ config ์๋ฒ ์ผ ์ ์์ต๋๋ค. config ์ค๋ ๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ํ ๋ ธ๋ ์๊ฐ ์ค์ด๋ค๊ณ ๋ฐฐํฌ์๋ฒ ๊ฐ ๊ฐ์ํ๋ ์ ์์ต๋๋ค. config ์ค๋ ํด๋ฌ์คํฐ ๋ ์๋ฒ ๋๋ config ์๋ฒ ํด๋ฌ์คํฐ ๋ผ๊ณ ๋ ํฉ๋๋ค. ์ฌ๋ฌ ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ ๋์ผํ config ์๋ฒ ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก
ํด๋ฌ์คํฐ ์ 3๊ฐ ์ดํ์ ์ค๋๊ฐ ์๋ ๊ฒฝ์ฐ config ์ค๋ ์ฌ์ฉ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ๊น๋ค๋ก์ด ๊ฐ์ฉ์ฑ ๋ฐ ๋ณต์๋ ฅ ์๊ตฌ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ์ ์ฉ config ์๋ฒ ๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ ์ฉ config ์๋ฒ ๋ ์ค์ํ ํด๋ฌ์คํฐ ์์ ์ ์ํ ๊ฒฉ๋ฆฌ, ์ ์ฉ ๋ฆฌ์์ค ๋ฐ ์ผ๊ด์ ์ธ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๋ค์ ์กฐ๊ฑด ์ค ํ๋ ์ด์์ ์ถฉ์กฑํ๋ ๊ฒฝ์ฐ ์ ์ฉ config ์๋ฒ ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
3๊ฐ ์ด์์ ์ค๋๋ฅผ ์ฌ์ฉํ ๊ณํ์ ๋๋ค.
Time series ์ปฌ๋ ์ ๋๋ Queryable Encryption ์ปฌ๋ ์ ์ ์ฌ์ฉํ ๊ณํ์ ๋๋ค.
์ฟผ๋ฆฌ ๊ฐ๋ฅ ๋ฐฑ์ (์จํ๋ ๋ฏธ์ค)์ ์ฌ์ฉํ ๊ณํ์ ๋๋ค.
ํ๋
๋ด์ฅ๋ config ์๋ฒ ํด๋ฌ์คํฐ ์์๋ config ์ค๋ ๊ฐ ํด๋ฌ์คํฐ ๋ฉํ๋ฐ์ดํฐ ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ค๋ฉ๋ ํด๋ฌ์คํฐ ๋ฐฐํฌ์๋ฒ ์ ๋ณต์ก์ฑ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ค๋ฉ๋ ์ปฌ๋ ์ ๋ฐ์ดํฐ์ ์ค๋ฉ๋ ๋์ง ์์ ์ปฌ๋ ์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑ ์ค๋ ์ ์ ์ฅ ์ ์์ต๋๋ค. config ์๋ฒ ์ญํ ์ ํ ๋ฟ๋ง ์๋๋ผ ์ค๋ ์ ๋ชจ๋ ์์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๊ตฌ์ฑ ์ค๋ ์ฌ์ฉ ํ์ธ
์ค๋ฉ๋ ํด๋ฌ์คํฐ config ์ค๋ ์ฌ์ฉํ๋์ง listShards
ํ์ธํ๋ ค๋ฉด ์ ์ฐ๊ฒฐ๋ ์ํ์์ admin
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ํด ๋ช
๋ น์ mongos
์คํ _id
๊ฐ "config"
๋ก ์ค์ ํ๋ค ๋ฌธ์ ์ ์ถ๋ ฅ์ ๊ฒ์ฌํฉ๋๋ค. listShards
์ถ๋ ฅ์ _id
๊ฐ "config"
๋ก ์ค์ ํ๋ค ๋ฌธ์ ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ, ํด๋ฌ์คํฐ ๋ ๊ตฌ์ฑ ์ค๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.
๋ค์ ์์ listShards
๋ช
๋ น์ ์คํํ๊ณ _id
๊ฐ "config"
๋ก ์ค์ ํ๋ค ๋ฌธ์ ์ฐพ์ผ๋ ค๊ณ ํฉ๋๋ค.
db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")
์ด ์์ ์์ ๋ฐํ๋ ๋ฌธ์ ์๋ _id
์ด(๊ฐ) "config"
(์ผ)๋ก ์ค์ ํ๋ค ์์ด ์ด ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์ค๋ ์ฌ์ฉํ๊ณ ์์์ ํ์ธํฉ๋๋ค.
{ _id: "config", host: "configRepl/localhost:27018", state: 1, topologyTime: Timestamp({ t: 1732218671, i: 13 }), replSetConfigVersion: Long('-1') }
๋ช ๋ น.
์ ์ฉ config ์๋ฒ ๋ฅผ config ์ค๋ ๋ก ์คํ ํ๋๋ก ๊ตฌ์ฑํ๋ ค๋ฉด transitionFromDedicatedConfigServer
๋ช
๋ น์ ์คํ ํฉ๋๋ค.
์ ์ฉ config ์๋ฒ ๋ก ์คํ config ์ค๋ ๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด transitionToDedicatedConfigServer
๋ช
๋ น์ ์คํ ํฉ๋๋ค.