์ค๋ฉ๋ ํด๋ฌ์คํฐ ๋ฌธ์ ํด๊ฒฐ
์ด ํ์ด์ง์ ๋ด์ฉ
- ์์ํ๊ธฐ ์ ์
- ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ ๋๋
์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
- ์ค๋ ๋ณต์ ๋ณธ ์ธํธ์์ ๋จ์ผ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
- ์ค๋์ ๋ชจ๋ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
- ๊ตฌ์ฑ ์๋ฒ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
- ์ค๋๋ ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ก ์ธํด ์ปค์ ์คํจ
- ์ค๋ ํค
- ํด๋ฌ์คํฐ ๊ฐ์ฉ์ฑ
- Config Database String Error
- ๊ตฌ์ฑ ์๋ฒ ์ด๋ ์ ๋ค์ดํ์ ๋ฐฉ์ง
moveChunk commit failed
์ค๋ฅ- ์ผ๊ด์ฑ ์๋ ์ค๋ฉ ๋ฉํ๋ฐ์ดํฐ
์ด ํ์ด์ง์์๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ ๋ฐฐํฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ผ๋ฐ์ ์ธ ์ ๋ต์ ์ค๋ช ํฉ๋๋ค.
์์ํ๊ธฐ ์ ์
MongoDB 8.0 ๋ถํฐ๋ directShardOperations
์ญํ ์ ์ฌ์ฉํ์ฌ ์ค๋ ์ ๋ํด ์ง์ ๋ช
๋ น์ ์คํํด์ผ ํ๋ ์ ์ง ๊ด๋ฆฌ ์์
์ ์ํํ ์ ์์ต๋๋ค.
๊ฒฝ๊ณ
directShardOperations
์ญํ ์ ์ฌ์ฉํ์ฌ ๋ช
๋ น์ ์คํํ๋ฉด ํด๋ฌ์คํฐ ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ์ง ์๊ณ ๋ฐ์ดํฐ๊ฐ ์์๋ ์ ์์ต๋๋ค. directShardOperations
์ญํ ์ ์ ์ง ๊ด๋ฆฌ ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉํ๊ฑฐ๋ MongoDB ์ง์ ์ ์ง์นจ ์ ๋ฐ๋ผ ์ฌ์ฉํ์ธ์. ์ ์ง ๊ด๋ฆฌ ์์
์ํ์ด ์๋ฃ๋๋ฉด directShardOperations
์ญํ ์ฌ์ฉ์ ์ค์งํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
์๋ฒ ๋๋ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ mongos
๋จ
๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ์ ์์ฒด mongos
์ธ์คํด์ค๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ณ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋ํ mongos
์ธ์คํด์ค๋ ์๊ตฌ ์ํ๋ฅผ ์ ์งํ์ง ์์ผ๋ฉฐ ์ํ๋ ๋ฐ์ดํฐ ์์ค ์์ด ๋ค์ ์์ํ์ฌ ์ฌ์ฉํ ์ ์๊ฒ ๋ ์ ์์ต๋๋ค. mongos
์ธ์คํด์ค๊ฐ ์์๋๋ฉด ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ๋ณธ์ ๊ฒ์ํ๊ณ ์ฟผ๋ฆฌ ๋ผ์ฐํ
์ ์์ํ ์ ์์ต๋๋ค.
์ค๋ ๋ณต์ ๋ณธ ์ธํธ์์ ๋จ์ผ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
๋ณต์ ๋ณธ ์ธํธ๋ ์ค๋์ ๊ณ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉํ ์ ์๋ mongod
๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ์ธ ๊ฒฝ์ฐ ๋ณต์ ๋ณธ ์ธํธ๊ฐ ์ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์ ์ถํฉ๋๋ค. ์ฌ์ฉํ ์ ์๋ mongod
๊ฐ ์ธ์ปจ๋๋ฆฌ์ธ ๊ฒฝ์ฐ, ํ๋ผ์ด๋จธ๋ฆฌ์์ ์ฐ๊ฒฐ์ด ๋์ด์ง๊ณ ์ธ์ปจ๋๋ฆฌ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๊ณ์ํด์ ๋ณด์กด๋ฉ๋๋ค. ์ธ ๋ฉค๋ฒ๋ก ์ด๋ฃจ์ด์ง ๋ณต์ ๋ณธ ์ธํธ์์๋ ์ธํธ์ ํ ๋ฉค๋ฒ๊ฐ ์น๋ช
์ ์ธ ์ฅ์ ๋ฅผ ๊ฒฝํํ๋๋ผ๋ ๋ค๋ฅธ ๋ ๋ฉค๋ฒ๋ ๋ฐ์ดํฐ์ ์ ์ฒด ์ฌ๋ณธ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. [1]
ํญ์ ๊ฐ์ฉ์ฑ ์ค๋จ ๋ฐ ์ฅ์ ๋ฅผ ์กฐ์ฌํฉ๋๋ค. ์์คํ ์ ๋ณต๊ตฌํ ์ ์๋ ๊ฒฝ์ฐ ์์คํ ์ ๊ต์ฒดํ๊ณ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ๋ณต์ ๋ณธ ์ธํธ์ ์ ๋ฉค๋ฒ๋ฅผ ์์ฑํ์ฌ ์์ค๋ ์ด์ค ํ๊ฒฝ์ ๊ต์ฒดํฉ๋๋ค.
[1] | ์ฌ์ฉํ ์ ์๋ ์ธ์ปจ๋๋ฆฌ๊ฐ ํ์ฌ oplog ํญ๋ชฉ์ด ๋จ์ ์๋ ์ํ์์ ์ฌ์ฉ ๊ฐ๋ฅํด์ง๋ฉด ์ผ๋ฐ ๋ณต์ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ธํธ์ ์ต์ ์ํ๋ฅผ ๋ฐ๋ผ์ก์ ์ ์์ง๋ง, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ด๊ธฐ ๋๊ธฐํ๋ฅผ ์ํํด์ผ ํฉ๋๋ค. |
์ค๋์ ๋ชจ๋ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
์ค๋ฉ๋ ํด๋ฌ์คํฐ์์ mongod
๋ฐ mongos
์ธ์คํด์ค๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ๋ชจ๋ํฐ๋งํฉ๋๋ค (์: ์ค๋ ๋ณต์ ๋ณธ ์ธํธ, ๊ตฌ์ฑ ์๋ฒ ๋ณต์ ๋ณธ ์ธํธ).
๋ณต์ ๋ณธ ์ธํธ ์ค๋์ ๋ชจ๋ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ํด๋น ์ค๋์ ๋ณด๊ด๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ๋ชจ๋ ์ค๋์ ๋ฐ์ดํฐ๋ ๊ณ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ ๋ค๋ฅธ ์ค๋์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ถ๋ถ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ฉฐ ์ค๋จ ์์ธ์ ์กฐ์ฌํ๊ณ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ค๋ ๋ณต๊ตฌ๋ฅผ ์๋ํด์ผ ํฉ๋๋ค.
๊ตฌ์ฑ ์๋ฒ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
๋ณต์ ๋ณธ ์ธํธ๋ ๊ตฌ์ฑ ์๋ฒ์ ๊ณ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉํ ์ ์๋ ๊ตฌ์ฑ ์๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ์ธ ๊ฒฝ์ฐ ๋ณต์ ๋ณธ ์ธํธ๊ฐ ์ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์ ์ถํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ์๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์์ ํ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์ ์ถํ ์ ์๋ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ์ ๋ฉํ๋ฐ์ดํฐ๋ ์ฝ๊ธฐ ์ ์ฉ์ด ๋ฉ๋๋ค. ์ค๋์์ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ ์ฝ๊ณ ์ธ ์ ์์ง๋ง, ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ ๋๊น์ง ์ฒญํฌ ๋ง์ด๊ทธ๋ ์ด์ ๋๋ ์ฒญํฌ ๋ถํ ์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
์ฐธ๊ณ
๋ ๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ์ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์์ ๋ถ์ฐํ๋ฉด ๋จ์ผ ๋ฐ์ดํฐ ์ผํฐ์ ๋นํด ์ด์ ์ด ์์ต๋๋ค. ๋ ๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ๋ก ๋ถ์ฐ๋ ๊ฒฝ์ฐ,
๋ฐ์ดํฐ ์ผํฐ ์ค ํ๋๊ฐ ๋ค์ด๋๋๋ผ๋ ๋จ์ผ ๋ฐ์ดํฐ ์ผํฐ ๋ฐฐํฌํ๊ณผ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.
์์์ ๊ตฌ์ฑ์์ด ์๋ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ๋ค์ด๋๋๋ผ๋ ๋ณต์ ๋ณธ ์ธํธ๋ ์ฝ๊ธฐ ์์ ๋ฟ๋ง ์๋๋ผ ์ฐ๊ธฐ ์์ ๋ ๊ณ์ ์ํํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋๋ค์์ ๊ตฌ์ฑ์์ด ์๋ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ๋ค์ด๋๋ฉด ๋ณต์ ๋ณธ ์ธํธ๋ ์ฝ๊ธฐ ์ ์ฉ์ด ๋ฉ๋๋ค.
๊ฐ๋ฅํ๋ค๋ฉด ์ต์ 3๊ฐ ์ด์์ ๋ฐ์ดํฐ ์ผํฐ์ ๊ตฌ์ฑ์์ ๋ฐฐํฌํ์ธ์. ๊ตฌ์ฑ ์๋ฒ ๋ณต์ ๋ณธ ์ธํธ(CSRS)์ ๊ฒฝ์ฐ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ 3๊ฐ(๋๋ ๊ตฌ์ฑ์ ์์ ๋ฐ๋ผ ๊ทธ ์ด์) ์ผํฐ์ ๋ฐฐํฌํ๋ ๊ฒ์ ๋๋ค. ์ธ ๋ฒ์งธ ๋ฐ์ดํฐ ์ผํฐ์ ๋น์ฉ์ด ๋ถ๋ด์ค๋ฌ์ด ๊ฒฝ์ฐ, ํ์ฌ ์ ์ฑ ์ด ํ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ๋ณด์ ๋ฉค๋ฒ๋ฅผ ๋ ๋ฐ์ดํฐ ์ผํฐ์ ๊ท ๋ฑํ๊ฒ ๋ถ์ฐํ๊ณ ๋๋จธ์ง ๋ฉค๋ฒ๋ ํด๋ผ์ฐ๋์ ์ ์ฅํ๋ ๊ฒ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋๋ค.
์ฐธ๊ณ
์ค๋ฉ๋ ํด๋ฌ์คํฐ๋ฅผ ์ฒ์ ์์ํ ๋ ๋ชจ๋ ๊ตฌ์ฑ ์๋ฒ๊ฐ ์คํ ์ค์ด๊ณ ์ฌ์ฉ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
์ค๋๋ ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ก ์ธํด ์ปค์ ์คํจ
mongos
์ธ์คํด์ค ์ค ํ๋ ์ด์์ด ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํด๋ฌ์คํฐ์ ๋ฉํ๋ฐ์ดํฐ ์บ์๋ฅผ ์์ง ์
๋ฐ์ดํธํ์ง ์์ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ์์ ๋ค์ ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํฉ๋๋ค:
could not initialize cursor across all shards because : stale config detected
์ด ๊ฒฝ๊ณ ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์ ์ ํ๋์ด์๋ ์ ๋ฉ๋๋ค. ๊ฒฝ๊ณ ๋ ๋ชจ๋ mongos
์ธ์คํด์ค๊ฐ ์บ์๋ฅผ ์๋ก ๊ณ ์น ๋๊น์ง ๋ฐ๋ณต๋ฉ๋๋ค. ์ธ์คํด์ค๊ฐ ์บ์๋ฅผ ๊ฐ์ ๋ก ์๋ก ๊ณ ์น๋๋ก ํ๋ ค๋ฉด flushRouterConfig
๋ช
๋ น์ ์คํํฉ๋๋ค.
์ค๋ ํค
์ค๋ ํค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ค๋ ํค ๋ฌธ์ ํด๊ฒฐ์ ์ฐธ์กฐํ์ธ์.
ํด๋ฌ์คํฐ ๊ฐ์ฉ์ฑ
ํด๋ฌ์คํฐ ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํ๋ ค๋ฉด ๋ค์์ ๋ฐ๋ฆ ๋๋ค:
๊ฐ ์ค๋๋ ๋ณต์ ๋ณธ ์ธํธ์ฌ์ผ ํ๋ฉฐ, ํน์
mongod
์ธ์คํด์ค๊ฐ ์คํจํ๋ฉด ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ๋ค๋ฅธ ์ค๋๋ฅผ ํ๋ผ์ด๋จธ๋ฆฌ๋ก ์ ์ถํ๊ณ ์์ ์ ๊ณ์ํฉ๋๋ค. ํ์ง๋ง ์ ์ฒด ์ค๋์ ์ ์ํ ์ ์๊ฑฐ๋ ์ด๋ค ์ด์ ๋ก๋ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.์ค๋ ํค๋
mongos
๊ฐ ๋๋ถ๋ถ์ ์์ ์ ๋จ์ผ ์ค๋๋ก ๊ฒฉ๋ฆฌํ ์ ์๋๋ก ํ์ฉํด์ผ ํฉ๋๋ค. ๋จ์ผ ์ค๋์์ ์์ ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฒฝ์ฐ ๋จ์ผ ์ค๋์ ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ์ผ๋ถ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ์์ ์์ ์ฟผ๋ฆฌ๋ฅผ ์ํด ๋ชจ๋ ์ค๋์ ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ ์ค๋ ํ๋๊ฐ ์คํจํ๋ฉด ์ ์ฒด ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
Config Database String Error
config ์๋ฒ๋ ๋ณต์ ๋ณธ ์ธํธ๋ก ๋ฐฐํฌํด์ผ ํฉ๋๋ค. ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ mongos
์ธ์คํด์ค๋ ๋์ผํ config ์๋ฒ ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ์ ์ง์ ํด์ผ ํ์ง๋ง, ๋ณต์ ๋ณธ ์ธํธ์ ๋ํ ๋ค๋ฅธ ๋
ธ๋์ ํธ์คํธ ์ด๋ฆ๊ณผ ํฌํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ์๋ฒ์ ๋ํด 3๊ฐ์ ๋ฏธ๋ฌ๋ง๋ mongod
์ธ์คํด์ค์ ํ ํด๋ก์ง๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ฒ์ ์ MongoDB ์ค๋ฉ๋ ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ mongos
์ธ์คํด์ค๋ ๋์ผํ configDB
๋ฌธ์์ด์ ์ง์ ํด์ผ ํฉ๋๋ค.
๊ตฌ์ฑ ์๋ฒ ์ด๋ ์ ๋ค์ดํ์ ๋ฐฉ์ง
CNAME์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ์ ๋ํ config ์๋ฒ๋ฅผ ์๋ณํ๋ฉด ๊ฐ๋ ์ค์ง ์๊ฐ ์์ด ๊ตฌ์ฑ ์๋ฒ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ณ ๋ฒํธ๋ฅผ ๋ค์ ์ง์ ํ ์ ์์ต๋๋ค.
moveChunk commit failed
์ค๋ฅ
์ฒญํฌ ๋ง์ด๊ทธ๋ ์ด์ ์ด ๋๋๋ฉด ์ค๋๋ ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ์ฌ ํด๋ฌ์คํฐ ๋ฉํ๋ฐ์ดํฐ์์ ์ฒญํฌ์ ๊ธฐ๋ก์ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค. ์ค๋๊ฐ ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ์ง ๋ชปํ๋ฉด MongoDB๋ ๋ค์ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค:
ERROR: moveChunk commit failed: version is at <n>|<nn> instead of <N>|<NN>" and "ERROR: TERMINATING"
์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณดํธํ๊ธฐ ์ํด ์ค๋ ๋ณต์ ๋ณธ ์ธํธ์ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ๊ฐ ์ข ๋ฃ๋ฉ๋๋ค. ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๊ฐ ๊ตฌ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ, ํฌํ ํ ์ค๋์ ๋ฐ์ดํฐ์ ๋ค์ ์ก์ธ์คํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ฌ์ฉ์๋ ์ฒญํฌ ๋ง์ด๊ทธ๋ ์ด์ ์คํจ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ํด๊ฒฐํด์ผ ํฉ๋๋ค. ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ MongoDB Community ๋๋ MongoDB ์ง์ํ์ ๋ฌธ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ํ์ธ์.
์ผ๊ด์ฑ ์๋ ์ค๋ฉ ๋ฉํ๋ฐ์ดํฐ
MongoDB 7.0๋ถํฐ๋ checkMetadataConsistency
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ด์ ๋ฒ์ ์ MongoDB์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ก ์ธํด ์ค๋ฉ ๋ฉํ๋ฐ์ดํฐ์ ๋ถ์ผ์น ๋ฐ ์์์ด ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ค๋ฉ ๋ฉํ๋ฐ์ดํฐ์ ๋ถ์ผ์น๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ๋ฐ์ํ ์ ์์ต๋๋ค.
MongoDB 5.0 ์ด์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ทธ๋ ์ด๋๋ ํด๋ฌ์คํฐ๋ก, ๊ณผ๊ฑฐ DDL ์์ ์ผ๋ก ์ธํด ๋ฐ์ดํฐ๊ฐ ์์๋์์ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ๊ฑฐ๋
mongos
๋ฅผ ์ฐํํ์ฌ ์ค๋์ ์ง์ ์ฐ๋ ๋ฑ์ ์๋ ๊ฐ์ ์ ๋๋ค.์ ๊ทธ๋ ์ด๋ ๋๋ ๋ค์ด๊ทธ๋ ์ด๋ ์ ์ฐจ์ ๊ฐ์ ์ ์ง ๊ด๋ฆฌ ์์ ์ ๋๋ค.
์ด๋ฌํ ๋ถ์ผ์น๋ก ์ธํด ์๋ชป๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ๋๋ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ค๋ฉ ๋ฉํ๋ฐ์ดํฐ์ ๋ถ์ผ์น๊ฐ ์๋์ง ํ์ธํ๋ ค๋ฉด checkMetadataConsistency
๋ช
๋ น์ ์คํํฉ๋๋ค.
db.runCommand( { checkMetadataConsistency: 1 } )
{ cursor: { id: Long("0"), ns: "test.$cmd.aggregate", firstBatch: [ { type: "MisplacedCollection", description: "Unsharded collection found on shard different from database primary shard", details: { namespace: "test.authors", shard: "shard02", localUUID: new UUID("1ad56770-61e2-48e9-83c6-8ecefe73cfc4") } } ], }, ok: 1 }
checkMetadataConsistency
๋ช
๋ น์ด ๋ฐํํ ๋ฌธ์๋ ํด๋ฌ์คํฐ์ ์ค๋ฉ ๋ฉํ๋ฐ์ดํฐ์์ MongoDB๊ฐ ์๋ณํ ๋ถ์ผ์น๋ฅผ ๋ํ๋
๋๋ค.
checkMetadataConsistency
๋ช
๋ น์ด ๋ฐํํ๋ ๋ถ์ผ์น ๋ฌธ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ถ์ผ์น ์ ํ์ ์ฐธ์กฐํ์ธ์.