์ฐ๊ธฐ ๊ณ ๋ ค
์ด ํ์ด์ง์ ๋ด์ฉ
์ฐ๊ธฐ ๊ณ ๋ ค๋ ๋
๋ฆฝํ mongod
, ๋ณต์ ๋ณธ ์ธํธ ๋๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ ์ ๋ํ ์ฐ๊ธฐ (write) ์์
์ ๋ํด MongoDB ์์ ์์ฒญํ๋ ์น์ธ ์์ค์ ์ค๋ช
ํฉ๋๋ค. ์ค๋ฉ๋ ํด๋ฌ์คํฐ์์ mongos
์ธ์คํด์ค๋ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๊ณ ๋ ค๋ฅผ ์ค๋์ ์ ๋ฌํฉ๋๋ค.
์ฐธ๊ณ
๋ค์ค ๋ฌธ์ ํธ๋์ญ์ ์ ๊ฒฝ์ฐ ๊ฐ๋ณ ์์ ์์ค์ด ์๋ ํธ๋์ญ์ ์์ค์์ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ค์ ํฉ๋๋ค. ํธ๋์ญ์ ์์ ๊ฐ๋ณ ์ฐ๊ธฐ ์์ ์ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๋ช ์์ ์ผ๋ก ์ค์ ํ๋ฉด ์ ๋ฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ์ ์ค๋ฉ๋ ํด๋ฌ์คํฐ๋ ๊ธ๋ก๋ฒ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค ์ค์ ์ ์ง์ํฉ๋๋ค. ๋ช
์์ ์ธ ์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ ์ง์ ๋์ง ์์ ์์
์๋ ๊ธ๋ก๋ฒ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค ์ค์ ์ด ์ ์ฉ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ setDefaultRWConcern
์ ์ฐธ์กฐํ์ธ์.
MongoDB Atlas์์ ํธ์คํ ๋๋ ๋ฐฐํฌ์๋ฒ์ ๋ํ ์ฐ๊ธฐ ๊ณ ๋ ค ์ค์ ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด MongoDB Atlas๋ฅผ ์ฌ์ฉํด ํ๋ณต ํ๋ ฅ์ฑ์ ๊ฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ฐธ์กฐํ์ธ์.
์ฐ๊ธฐ ๊ณ ๋ ค ์ฌ์
์ฐ๊ธฐ ๊ณ ๋ ค์๋ ๋ค์ ํ๋๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
{ w: <value>, j: <boolean>, wtimeout: <number> }
w ์ต์ ์ ์ฐ๊ธฐ ์์ ์ด ์ง์ ๋ ์์
mongod
์ธ์คํด์ค๋ก ์ ํ๋์๊ฑฐ๋ ์ง์ ๋ ํ๊ทธ๋ฅผ ๊ฐ์งmongod
์ธ์คํด์ค๋ก ์ ํ๋์์์ ํ์ธ ์์ฒญํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.์ฐ๊ธฐ ์์ ์ด ์จ๋์คํฌ ์ ๋์ ๊ธฐ๋ก๋์๋ค๋ ํ์ธ์ ์์ฒญํ๋ j ์ต์ ๋ฐ
์ฐ๊ธฐ ์์ ์ด ๋ฌด๊ธฐํ ์ฐจ๋จ๋์ง ์๋๋ก ์๊ฐ ์ ํ์ ์ง์ ํ๋ wtimeout ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
w
์ต์
w
์ต์
์ ์ฐ๊ธฐ ์์
์ด ์ง์ ๋ ๊ฐ์์ mongod
์ธ์คํด์ค ๋๋ ํ๊ทธ๊ฐ ์ง์ ๋ mongod
์ธ์คํด์ค๋ก ์ ํ๋์์์ ํ์ธํ๋๋ก ์์ฒญํฉ๋๋ค. ์ฐ๊ธฐ ๊ณ ๋ ค์ w
ํ๋๊ฐ ์๋ ๊ฒฝ์ฐ, MongoDB๋ w
์ต์
์ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค ์ค์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
์ฐธ๊ณ
setDefaultRWConcern
์ ์ฌ์ฉํด ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ค์ ํ๋ ๊ฒฝ์ฐ, ๋ฐ๋์ w
ํ๋ ๊ฐ์ ์ง์ ํด์ผ ํฉ๋๋ค.
w
์ต์
์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ w: <value>
์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฐ | ์ค๋ช
|
---|---|
๋ฐ์ดํฐ ๋ณด์ ํฌํ ๋ฉค๋ฒ์ ๊ณ์ฐ๋ ๊ณผ๋ฐ์๊ฐ ๋ก์ปฌ oplog ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ง์์ ์ผ๋ก ๊ธฐ๋กํ์์ ํ์ธ ์์ฒญํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ฉค๋ฒ๋ ๋ก์ปฌ oplog์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ์ ๋ ๋น๋๊ธฐ์ ์ผ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉ . 8.0 ๋ฒ์ ๋ณ๊ฒฝ ์ฌํญ: MongoDB๋ ์ด์ ๋ฆด๋ฆฌ์ค์์์ฒ๋ผ ๋ฉค๋ฒ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฐ๊ธฐ๋ฅผ ์น์ธํฉ๋๋ค. ๋ณต์ ๋ณธ ์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ ํฌํ ๋ฉค๋ฒ๋ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ ๊ทธ๋ฆฌ๊ณ ์์ธํ ๋ด์ฉ์ { w: "majority" } ์ฐ๊ธฐ ํ ์ฝ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ ๋ค์ด 3 ๊ฐ์ ํฌํ ๋ฉค๋ฒ๊ฐ ์๋ ๋ณต์ ๋ณธ ์ธํธ ํ๋ผ์ด๋จธ๋ฆฌ-์ธ์ปจ๋๋ฆฌ-์ธ์ปจ๋๋ฆฌ(PSS)๋ฅผ ์๊ฐํด ๋ณด์ธ์. ์ด ๋ณต์ ๋ณธ ์ธํธ ์ ๊ฒฝ์ฐ ๊ณ์ฐ๋ ๊ณผ๋ฐ์๋ 2์ด๋ฉฐ, ์ฐ๊ธฐ (write) ํ๋ผ์ด๋จธ๋ฆฌ ์ ํ๋์ ์ธ์ปจ๋๋ฆฌ oplog๋ก ์ ํ๋์ด์ผ ํด๋ผ์ด์ธํธ ์ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern) ์๋ฆด ์ ์์ต๋๋ค. ๊ฐ ์ง์ฐ๋ ์ธ์ปจ๋๋ฆฌ๋ ๊ตฌ์ฑ๋ ์ฐ๊ธฐ (write) ์์
์ด ํด๋ผ์ด์ธํธ ์ ๋ํ ์น์ธ๊ณผ ํจ๊ป ๋ฐํ๋
์ธ์คํด์ค๊ฐ | |
์ฐ๊ธฐ ์์
์ด ์ง์ ๋ ์์
์๋ฅผ ๋ค์ด, 1๊ฐ์ ํ๋ผ์ด๋จธ๋ฆฌ์ 2๊ฐ์ ์ธ์ปจ๋๋ฆฌ๊ฐ ์๋ 3๊ฐ์ ๋ฉค๋ฒ๋ฅผ ๊ฐ์ง ๋ณต์ ๋ณธ ์ธํธ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ด
์๋ค. Hidden, ์ง์ฐ ๋ฐ ์ฐ์ ์์ 0 ๋ฉค๋ฒ๋ ์ฐ๊ธฐ (write) ์์
์ ์ง์ฐ๋ ์ธ์ปจ๋๋ฆฌ๋ ๊ตฌ์ฑ๋ ์ธ์คํด์ค๊ฐ | |
์ฐ๊ธฐ ์์
์ด ์ฌ์ฉ์ ์ง์ ์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ์ ์ธ์ ๋ง์ ์๊ตฌํ๊ณ , ์ฐ๊ธฐ ์์ ์ด ์ธ์ปจ๋๋ฆฌ์ ๋ณต์ ๋๊ธฐ ์ ์ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๊ฐ๋ฑ๋์์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๊ฐ ๋กค๋ฐฑ๋ ์ ์์ต๋๋ค. ์ธ์คํด์ค๊ฐ |
๋ค์๋ ์ฐธ์กฐํ์ธ์.
j
์ต์
j
์ต์
์ MongoDB์ ์ฐ๊ธฐ ์์
์ด ์จ๋์คํฌ ์ ๋์ ์์ฑ๋์์์ ํ์ธ ์์ฒญํฉ๋๋ค.
์ธ
|
์ฐธ๊ณ
์ ๋๋ง ์์ด ์คํ๋๋
mongod
์ธ์คํด์ค์j: true
๋ฅผ ํฌํจํ๋ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ง์ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.์ ๋๋ง์ด ํ์ฑํ๋ ๊ฒฝ์ฐ
w: "majority"
๋j: true
์ผ ์ ์์ต๋๋ค.writeConcernMajorityJournalDefault
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์ ์ด๋ป๊ฒ ์ค์ ํ๋๋์ ๋ฐ๋ผ ๋์์ด ๊ฒฐ์ ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํ์ธ ๋์์ ์ฐธ์กฐํ์ธ์.j: true
๋ฅผ ํฌํจํ๊ฑฐ๋ ์์ํ๋ ์ฐ๊ธฐ ๊ณ ๋ ค๋ ์ฆ์ ์ ๋ ๋๊ธฐํ๋ฅผ ์ ๋ฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ๋๋ง ํ๋ก์ธ์ค๋ฅผ ์ฐธ์กฐํ์ธ์.
wtimeout
์ด ์ต์
์ ์ฐ๊ธฐ ๊ณ ๋ ค์ ์๊ฐ์ ํ์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ง์ ํฉ๋๋ค. wtimeout
์ w
๊ฐ 1
๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋ฉ๋๋ค.
wtimeout
์ ํ์ํ ์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ ์ต์ข
์ ์ผ๋ก ์ฑ๊ณตํ๋๋ผ๋ ์ง์ ๋ ์ ํ ์๊ฐ์ด ๊ฒฝ๊ณผํ ํ์ ์ฐ๊ธฐ ์์
์ ์ฐ๊ธฐ ๊ณ ๋ ค ์ค๋ฅ์ ํจ๊ป ๋ฐํํ๋๋ก ํฉ๋๋ค. ์ด๋ฌํ ์ฐ๊ธฐ ์์
์ด ๋ฐํ๋๋ฉด MongoDB๋ ์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ wtimeout
์๊ฐ ์ ํ์ ์ด๊ณผํ๊ธฐ ์ ์ ์ํ๋ ์ฑ๊ณต์ ์ธ ๋ฐ์ดํฐ ์์ ์ ๋๋๋ฆฌ์ง ์์ต๋๋ค.
wtimeout
์ต์
์ ์ง์ ํ์ง ์์๊ณ ์ฐ๊ธฐ ๊ณ ๋ ค ์์ค์ ๋ฌ์ฑํ ์ ์๋ ๊ฒฝ์ฐ, ์ฐ๊ธฐ ์์
์ ๋ฌด๊ธฐํ์ผ๋ก ์ฐจ๋จ๋ฉ๋๋ค. wtimeout
๊ฐ์ 0
์ผ๋ก ์ง์ ํ๋ฉด wtimeout
์ต์
์ด ์๋ ์ฐ๊ธฐ ๊ณ ๋ ค์ ๋์ผํด์ง๋๋ค.
์์ธํ ๋ด์ฉ์ ์์์ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ์ธ์.
MongoDB 5.0๋ถํฐ๋ w: majority
๊ฐ ์์์ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค๋ก ์ค์ ๋์ด ์์ต๋๋ค. ํ์ง๋ง ์ค์ฌ์๊ฐ ํฌํจ๋ ๋ฐฐํฌ์ ๊ฒฝ์ฐ ํน๋ณํ ๊ณ ๋ คํด์ผ ํ ์ ๋ค์ด ์์ต๋๋ค.
๋ณต์ ์ธํธ์ ํฌํ ๊ณผ๋ฐ์๋ 1์ ํฌํ ํ์ ์์ ์ ๋ฐ์ ๋ฐ์ฌ๋ฆผํ ๊ฐ์ ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ํฌํ ๊ตฌ์ฑ์์ ์๊ฐ ํฌํ ๊ณผ๋ฐ์๋ณด๋ค ๋ง์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๋ฌธ์ ๋
{ w: 1 }
์ ๋๋ค.๋ค๋ฅธ ๋ชจ๋ ์๋๋ฆฌ์ค์์ ๊ธฐ๋ณธ ์ฐ๊ธฐ ์ฐ๋ ค๋
{ w: "majority" }
์ ๋๋ค.
ํนํ MongoDB๋ ๋ค์ ๊ณต์์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๋ฌธ์ ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
if [ (#arbiters > 0) AND (#non-arbiters <= majority(#voting-nodes)) ] defaultWriteConcern = { w: 1 } else defaultWriteConcern = { w: "majority" }
์๋ฅผ ๋ค์ด ๋ค์ ๋ฐฐํฌ์ ํด๋น ๊ธฐ๋ณธ ์ฐ๊ธฐ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด๋ณด์ธ์.
Non-Arbiters | ์ค์ฌ์ | ํฌํ ๋
ธ๋ | ๊ณผ๋ฐ์ ํฌํ ๋
ธ๋ | ์์ธํ ๋ด์ฉ์ ์์์ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ์ธ์. |
---|---|---|---|---|
2 | 1 | 3 | 2 |
|
4 | 1 | 5 | 3 |
|
์ฒซ ๋ฒ์งธ ์์์์๋
์ด 3๊ฐ์ ํฌํ ๋ ธ๋์๋ 2๋ช ์ ๋น์ค์ฌ์์ 1๋ช ์ ์ค์ฌ์๊ฐ ์์ต๋๋ค.
ํฌํ ๋ ธ๋์ ๋๋ค์(1 + 3์ ์ ๋ฐ, ๋ฐ๋ด๋ฆผ)๋ 2์ ๋๋ค.
๋น์ค์ฌ์ ์(2)๋ ๋๋ค์์ ํฌํ ๋ ธ๋(2)์ ๋์ผํ๋ฏ๋ก
{ w: 1 }
์ ์์์ ์ฐ๊ธฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ ๋ฒ์งธ ์์์์๋
์ด 5๊ฐ์ ํฌํ ๋ ธ๋์๋ 4๋ช ์ ๋น์ค์ฌ์์ 1๋ช ์ ์ค์ฌ์๊ฐ ์์ต๋๋ค.
ํฌํ ๋ ธ๋์ ๋๋ค์(1 + 5์ ์ ๋ฐ, ๋ฐ๋ด๋ฆผ)๋ 3์ ๋๋ค.
๋น ์ค์ฌ์ (4) ์ ์๊ฐ ํฌํ ๋ ธ๋ (3) ์ ๊ณผ๋ฐ์๋ณด๋ค ๋ง์์ ์๋ฌต์ ์ธ ์ฐ๊ธฐ ๋ฌธ์ ๊ฐ
{ w: "majority" }
๋ฐ์ํฉ๋๋ค.
์ค๋ฉ๋ ํด๋ฌ์คํฐ์์ DDL(๋ฐ์ดํฐ ์ ์ ์ธ์ด) ์์
์ ์ฐ๊ธฐ ๊ณ ๋ ค "majority"
๋ก ์คํ๋ฉ๋๋ค. ๋ค๋ฅธ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ง์ ํ๋ ๊ฒฝ์ฐ ์์
์ ์ ๊ณต๋ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ "majority"
๋ก ๋์ฒดํฉ๋๋ค.
์น์ธ ๋์
w ์ต์
๊ณผ j ์ต์
์ mongod
์ธ์คํด์ค๊ฐ ์ฐ๊ธฐ ์ฐ์ฐ์ ์น์ธํ๋ ์๊ธฐ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
๋ ๋ฆฝํ
๋
๋ฆฝํ mongod
๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ธฐ๋ฅผ ์ ์ฉํ๊ฑฐ๋ ๋์คํฌ ์ ๋์ ์ฐ๊ธฐ๋ฅผ ์๋ฃํ ํ ์ฐ๊ธฐ ์์
์ ํ์ธํฉ๋๋ค. ๋ค์ ํ์๋ ๋
๋ฆฝํ์ ํ์ธ ๋์๊ณผ ๊ด๋ จ๋ ์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ ์ค๋ช
๋์ด ์์ต๋๋ค.
j ๋ ์ง์ ๋์ง ์์ | j:true | j:false | |
---|---|---|---|
| inMemory | On-disk journal | inMemory |
| ์ ๋๋ง์ ์ฌ์ฉํ์ฌ ์คํํ๋ ๊ฒฝ์ฐ ์จ๋์คํฌ ์ ๋ | On-disk journal | inMemory |
์ฐธ๊ณ
writeConcernMajorityJournalDefault
๋ฅผ false
๋ก ์ค์ ํ๋ฉด MongoDB๋ w: "majority"
์ฐ๊ธฐ๊ฐ ๋์คํฌ ์ ๋์ ์์ฑ๋๋ ๊ฒ์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฐ๊ธฐ๋ฅผ ํ์ธํฉ๋๋ค. ๋ฐ๋ผ์ ์ฃผ์ด์ง ๋ณต์ ๋ณธ ์ธํธ์ ๋
ธ๋ ๊ณผ๋ฐ์ ์ด์์ด ์ผ์์ ์ผ๋ก ์์ค๋ ๊ฒฝ์ฐ(์ถฉ๋, ์ฌ์์ ๋ฑ), "majority"
์ฐ๊ธฐ ์์
์ด ๋กค๋ฐฑ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
๋ณต์ ๋ณธ ์ธํธ
w์ ์ง์ ๋ ๊ฐ์ ์ฑ๊ณต์ ๋ฐํํ๊ธฐ ์ ์ ์ฐ๊ธฐ๋ฅผ ์น์ธํด์ผ ํ๋ ๋ณต์ ๋ณธ ์ธํธ ๋ ธ๋์ ์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ๊ฐ ์ ๊ฒฉ ๋ณต์ ๋ณธ ์ธํธ ๋ ธ๋์ ๋ํด j ์ต์ ์ ๋ ธ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ธฐ ์ฐ์ฐ์ ์ ์ฉํ ํ ์ฐ๊ธฐ๋ฅผ ์น์ธํ ์ง, ์๋๋ฉด ์จ๋์คํฌ ์ ๋์ ์ฐ๊ธฐ๋ฅผ ์ํํ ํ ์ฐ๊ธฐ๋ฅผ ์น์ธํ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
w: "majority"
๋ณต์ ๋ณธ ์ธํธ์ ๋ฐ์ดํฐ ๋ณด์ ํฌํ ๋ฉค๋ฒ๋ ๋ชจ๋
"majority"
์ฐ๊ธฐ ์์ ์ ์ฐ๊ธฐ ์น์ธ์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.๋ค์ ํ์๋ ๋ฉค๋ฒ๊ฐ j ๊ฐ์ ๋ฐ๋ผ ์ฐ๊ธฐ๋ฅผ ํ์ธํ ์ ์๋ ์์ ์ด ์ ์๋์ด ์์ต๋๋ค.
j
๋ ์ง์ ๋์ง ์์ํ์ธ์
writeConcernMajorityJournalDefault
์ ๊ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.true
์ธ ๊ฒฝ์ฐ, ํ์ธ์๋ ์จ๋์คํฌ ์ ๋์ ์ํ๋ ์ฐ๊ธฐ ์์ ์ด ํ์ํฉ๋๋ค(j: true
).writeConcernMajorityJournalDefault
๊ธฐ๋ณธ๊ฐtrue
false
์ธ ๊ฒฝ์ฐ, ํ์ธ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ํ๋ ์ฐ๊ธฐ ์์ ์ด ํ์ํฉ๋๋ค(j: false
).
j: true
ํ์ธ์๋ ์จ๋์คํฌ ์ ๋์ ์ํ๋ ์ฐ๊ธฐ ์์ ์ด ํ์ํฉ๋๋ค.
j: false
ํ์ธ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ํ๋ ์ฐ๊ธฐ ์์ ์ด ํ์ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก
j: false
์ด ์ค์ ํ๋ค ๊ฒฝ์ฐ ๋์คํฌ ์์ ์ ๋ ์ ์์ ์ ์ธ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋writeConcernMajorityJournalDefault: true
์ด ์ค์ ํ๋ค ์์ผ๋ฉดj: false
์ด ์ค์ ํ๋ค ์๋๋ผ๋ ์ ๋ ์ ์์ ์ ๊ธฐ๋กํด์ผ ํฉ๋๋ค.j: false
๋ฐwriteConcernMajorityJournalDefault: true
์ด ์ค์ ํ๋ค ๋๋ฉด ์ฐ๊ธฐ (write) ์์ ์ด ์ ๋ ์ ๋น๋๊ธฐ์ ์ผ๋ก ๊ธฐ๋ก๋ฉ๋๋ค.w: majority
์ด ์ค์ ํ๋ค ์ฐ๊ธฐ๋ ์ ๋ ์ด ๋์คํฌ๋ก ํ๋ฌ์๋ ๋๊น์ง ์๋ฃ๋ ๊ฒ์ผ๋ก ํ์ธ๋์ง ์์ต๋๋ค.w: majority
์ฐ๊ธฐ๋j
์ค์ ์ ๊ด๊ณ์์ด"majority"
์ฝ๊ธฐ ์ค๋ ์ท ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด๋writeConcernMajorityJournalDefault: true
๋ก ์ค์ ํ๋ค ๋๋ฉด ๋๋ค์ ์ฝ๊ธฐ ์ค๋ ์ท ์ด ๋๋ถ๋ถ์ ์ ๋๋ง๋ ์ฐ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.์ฐ๊ธฐ (write) ์์ ์ด ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์
w: majority
์น์ธ๊ณผ ํจ๊ป ๋ฐํ๋ ํmajority
์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๊ฐ ์ค์ ํ๋ค ์์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฐ๊ธฐ (write) ๊ฒฐ๊ณผ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.
๋์์ ๋ํ ์์ธํ ๋ด์ฉ์
w: "majority"
๋์์ ์ฐธ์กฐํ์ธ์.w: <number>
๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ณต์ ๋ณธ ์ธํธ์ ๋ชจ๋ ๋ฉค๋ฒ๋ w: <number> ์ฐ๊ธฐ ์์ ์ ์ฐ๊ธฐ ํ์ธ์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.
๋ค์ ํ์๋ ๋ฉค๋ฒ๊ฐ j ๊ฐ์ ๋ฐ๋ผ ์ฐ๊ธฐ๋ฅผ ํ์ธํ ์ ์๋ ์์ ์ด ์ ์๋์ด ์์ต๋๋ค.
j
๋ ์ง์ ๋์ง ์์ํ์ธ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ํ๋ ์ฐ๊ธฐ ์์ ์ด ํ์ํฉ๋๋ค(
j: false
).j: true
ํ์ธ์๋ ์จ๋์คํฌ ์ ๋์ ์ํ๋ ์ฐ๊ธฐ ์์ ์ด ํ์ํฉ๋๋ค.
j: false
ํ์ธ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ํ๋ ์ฐ๊ธฐ ์์ ์ด ํ์ํฉ๋๋ค.
์ฐธ๊ณ
์จ๊ฒจ์ง๊ฑฐ๋, ์ง์ฐ๋๊ฑฐ๋, ์ฐ์ ์์ 0์ธ ๋ฉค๋ฒ๋ w: <number>
์ฐ๊ธฐ ์์
์ ํ์ธํ ์ ์์ต๋๋ค.
์ง์ฐ๋ ์ธ์ปจ๋๋ฆฌ๋ ๊ตฌ์ฑ๋ secondaryDelaySecs
๋ณด๋ค ์ด์ ์ ์๋ฃ๋ ์ฐ๊ธฐ ํ์ธ์ ๋ฐํํ ์ ์์ต๋๋ค.
{ w: "majority" } ์ฐ๊ธฐ ํ ์ฝ๊ธฐ
MongoDB 8.0, { w: "majority" }
์ฐ๊ธฐ๋ ๋๋ค์์ ๋ฐ์ดํฐ ๋ณด์ ๋ฉค๋ฒ๊ฐ oplog ํญ๋ชฉ์ ์์ ์ ์ผ๋ก ์์ฑํ ํ ์น์ธ์ ๋ฐํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์, ๋ฉค๋ฒ๋ค์ ๋ก์ปฌ oplog์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ์ผ๋ฉด์ ๋น๋๊ธฐ์ ์ผ๋ก ์ ์ฉํฉ๋๋ค. ์ด์ ๋ฆด๋ฆฌ์ค์์ MongoDB๋ ๋ฉค๋ฒ๊ฐ ์ฐ๊ธฐ๋ฅผ ์ ์ฉํ ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ์น์ธ์ ๋ฐํํ์ต๋๋ค.
{ w: "majority" }
์ฐ๊ธฐ ์งํ์ ์ธ์ปจ๋๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฟผ๋ฆฌ๋ ์น์ธ์ ๋ฐํํ๊ณ ์ธ์ปจ๋๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฐ๊ธฐ์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๊ธฐ ์ ์ ์ปฌ๋ ์
์์ ์ฝ์ ์ ์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
์ด ์ธ์ปจ๋๋ฆฌ์์ ์ฝ๊ณ { w: "majority" }
์ฐ๊ธฐ์์ ๋ณ๊ฒฝ๋ ์ฌํญ์ ์ฆ์ ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ ์ด๋ฌํ ์์
์ ์ธ๊ณผ์ ์ผ๊ด์ฑ ์ธ์
์์ ์คํํ์ธ์.
์ถ๊ฐ ์ ๋ณด
์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๊ณ ๋ ค ๊ถ์ฅ ์ฌํญ
ํ๋ผ์ด๋จธ๋ฆฌ์์ ์์ ์ ์ฐ๊ธฐ๋ฅผ ์ฝ์ผ๋ ค๋ฉด, ์ผ๋ฐ์ ์ผ๋ก "majority"
์ฝ๊ธฐ ๊ณ ๋ ค(read concern)๋ฅผ ์ฌ์ฉํ๊ณ {
w: "majority" }
์ฐ๊ธฐ ๊ณ ๋ ค(write concern)๋ก ์ฐ๊ธฐ๋ฅผ ์ํํฉ๋๋ค.
{ w: n }
์ฐ๊ธฐ ๊ณ ๋ ค(write concern)๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฉฐ n
์ด ํด๋ฌ์คํฐ ๋
ธ๋์ ๊ณ์ฐ๋ ๊ณผ๋ฐ์๋ณด๋ค ํฌ๊ณ ํด๋ฌ์คํฐ๊ฐ ๊ธฐ๋ณธ ์ค์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ฐ๊ธฐ ๊ณ ๋ ค "j" ์ต์
์ด ์ ๋์ ๋ํ ์ฐ๊ธฐ๋ฅผ ์น์ธํ๋๋ก ํ์ฑํ๋์ด ์๋์ง ํ์ธํ์ธ์. ์ด๋ "majority"
์ฝ๊ธฐ ๊ณ ๋ ค(read concern)๊ฐ ๋ณต์ ๋ณธ ์ธํธ์ ๊ณผ๋ฐ์ ๋
ธ๋์์ ์ง์ํ ์
๋ฐ์ดํธ๋ง ์ฝ์ ์ ์๋๋ก ํ์ฉํ๊ธฐ ๋๋ฌธ์
๋๋ค.
์ฐธ๊ณ
๊ธฐ๋ณธ ํด๋ฌ์คํฐ ์ค์ ๊ณผ ์ ๋๋ง ์์ด { w: n }
์ฐ๊ธฐ ๊ณ ๋ ค๋ก ์ฐ๊ธฐ๋ฅผ ์ํํ๊ณ n
์ด ๊ณ์ฐ๋ ๊ณผ๋ฐ์๋ณด๋ค ํฌ๋ฉด, ๋๋ถ๋ถ์ ๋
ธ๋์์ ์ฐ๊ธฐ๊ฐ ์ง์ํ์ผ๋ก ์ ์ฅ๋๊ธฐ ์ ์ ์ฐ๊ธฐ ์น์ธ์ ๋ฐ์ ์ ์์ต๋๋ค.
์ธ๊ณผ์ ์ผ๋ก ์ผ๊ด๋ ์ธ์ ๋ฐ ์ฐ๊ธฐ ๊ณ ๋ ค
์ธ๊ณผ์ ์ผ๋ก ์ผ๊ด๋ ํด๋ผ์ด์ธํธ ์ธ์ ์ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ ์ธ์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํฉ๋๋ค.
๊ด๋ จ๋ ์ฝ๊ธฐ ์์ ์
"majority"
์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.๊ด๋ จ๋ ์ฐ๊ธฐ ์์ ์
"majority"
์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ์ฐธ์กฐํ์ธ์.
w: "majority"
ํ๋
writeConcernMajorityJournalDefault
๋ฅผfalse
๋ก ์ค์ ํ๋ฉด MongoDB๋w: "majority"
์ฐ๊ธฐ๊ฐ ๋์คํฌ ์ ๋์ ์์ฑ๋๋ ๊ฒ์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฐ๊ธฐ๋ฅผ ํ์ธํฉ๋๋ค. ๋ฐ๋ผ์ ์ฃผ์ด์ง ๋ณต์ ๋ณธ ์ธํธ์ ๋ ธ๋ ๊ณผ๋ฐ์ ์ด์์ด ์ผ์์ ์ผ๋ก ์์ค๋ ๊ฒฝ์ฐ(์ถฉ๋, ์ฌ์์ ๋ฑ),"majority"
์ฐ๊ธฐ ์์ ์ด ๋กค๋ฐฑ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.members[n].votes
๊ฐ0
๋ณด๋ค ํฌ๊ณ ์จ๊ฒจ์ง๊ฑฐ๋, ์ง์ฐ๋๊ฑฐ๋, ์ฐ์ ์์๊ฐ 0์ธ ๋ฉค๋ฒ๋"majority"
์ฐ๊ธฐ ์์ ์ ํ์ธํ ์ ์์ต๋๋ค.์ง์ฐ๋ ์ธ์ปจ๋๋ฆฌ๋ ๊ตฌ์ฑ๋
secondaryDelaySecs
๋ณด๋ค ์ด์ ์ ์๋ฃ๋ ์ฐ๊ธฐ ํ์ธ์ ๋ฐํํ ์ ์์ต๋๋ค.
MongoDB 5.0๋ถํฐ
STARTUP2
์ํ์ ๋ณต์ ๋ณธ ์งํฉ ๋ฉค๋ฒ๋ ์ฐ๊ธฐ ๊ณผ๋ฐ์์ ์ฐธ์ฌํ์ง ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ local
์ง์๋์ง ์์
๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. MongoDB๋ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ปฌ๋ ์ ์์์ ์์ ์ ๋ํด ๊ตฌ์ฑ๋ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์๋์ผ๋ก ๋ฌด์ํฉ๋๋ค.
์ฐ๊ธฐ ๊ณ ๋ ค์ ๋ํ ๊ณผ๋ฐ์ ๊ณ์ฐ
ํ
rs.status()
๋ ๊ณ์ฐ๋ ๊ณผ๋ฐ์๊ฐ ํฌํจ๋ writeMajorityCount
ํ๋๋ฅผ ๋ฐํํฉ๋๋ค.
์ฐ๊ธฐ ๊ณ ๋ ค์ ๊ณผ๋ฐ์ "majority"
๋ ๋ค์ ๊ฐ ์ค ๋ ์์ ๊ฐ์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค.
๋ชจ๋ ํฌํ ๋ฉค๋ฒ์ ๊ณผ๋ฐ์(์ค์ฌ์ ํฌํจ)์
๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ ๋ชจ๋ ํฌํ ๋ฉค๋ฒ ์์ ๋น๊ต์ ๋๋ค.
๊ฒฝ๊ณ
๊ณ์ฐ๋ ๊ณผ๋ฐ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ๋ชจ๋ ํฌํ ๊ตฌ์ฑ์์ ์์ ๋์ผํ ์ํฉ(3๊ฐ์ ๊ตฌ์ฑ์์ ๊ฐ์ง ํ๋ผ์ด๋จธ๋ฆฌ-์ธ์ปจ๋๋ฆฌ-์ค์ฌ์ ๋ฐฐํฌ์์ ๋ฑ)์์, ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ํฌํ ๊ตฌ์ฑ์์ด ๋ค์ด๋๊ฑฐ๋ ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ ์ฐ๊ธฐ ๊ณ ๋ ค "majority"
(์)๋ ํ์์์๋๊ฑฐ๋ ์ธ์ ๋์ง ์์ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ๋ค๋ฉด ์ค์ฌ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ํฌํ ๊ตฌ์ฑ์์ ์ฌ์ฉํ์ธ์.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํด ๋ณด์ธ์.
3๊ฐ์ ํฌํ ๊ตฌ์ฑ์, P-S-S(ํ๋ผ์ด๋จธ๋ฆฌ-์ธ์ปจ๋๋ฆฌ-์ธ์ปจ๋๋ฆฌ)๊ฐ ์๋ ๋ณต์ ๋ณธ ์ธํธ:
๋ชจ๋ ํฌํ ๋ฉค๋ฒ์ ๊ณผ๋ฐ์๋ 2๋ช ์ ๋๋ค.
๋ชจ๋ ๋ฐ์ดํฐ ๋ณด์ ํฌํ ๋ฉค๋ฒ์ ์๋ 3๋ช ์ ๋๋ค.
The calculated majority is 2, the minimum of 2 and 3. The write must propagate to the primary and one of the secondaries to acknowledge the write concern"majority"
to the client.๋ณต์ ๋ณธ ์ธํธ์๋ ํฌํ ๋ฉค๋ฒ 3๋ช ์ด ์์ผ๋ฉฐ, ํ๋ผ์ด๋จธ๋ฆฌ-์ธ์ปจ๋๋ฆฌ-์ค์ฌ์(P-S-A)์ ๋๋ค.
๋ชจ๋ ํฌํ ๋ฉค๋ฒ์ ๊ณผ๋ฐ์๋ 2๋ช ์ ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ ๋ชจ๋ ํฌํ ๋ฉค๋ฒ ์๋ 2์ ๋๋ค.
The calculated majority is 2, the minimum of 2 and 2. Since the write can only be applied to data-bearing members, the write must propagate to the primary and the secondary to acknowledge the write concern"majority"
to the client.ํ
๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ ๋ชจ๋ ํฌํ๊ถ ์๋ ๋ฉค๋ฒ๊ฐ ์ฐ๊ธฐ๋ฅผ ์น์ธํ ์ ์์ด์ผ ํ๋ (P-S-A) ๋๋ ๊ธฐํ ํ ํด๋ก์ง์
"majority"
์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํ์ง ๋ง์ธ์."majority"
์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํ ๋ ๋ด๊ตฌ์ฑ์ด ๋ณด์ฅ๋๊ธฐ๋ฅผ ์ํ๋ ๊ณ ๊ฐ์ ๋์ P-S-S์ ๊ฐ์ด ๋ชจ๋ ๋ฐ์ดํฐ ๋ณด์ ํฌํ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์๋ ํ ํด๋ก์ง๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ฒฝ๊ณ
๋ณต์ ๋ณธ ์ธํธ์ ๋ ๊ฐ ์ด์์ ์ค์ฌ์๋ฅผ ๋ฐฐ์นํ์ง ๋ง์ธ์. ๋ณต์ ์ค์ฌ์ ๊ด๋ จ ์ฐ๋ ค ์ฌํญ์ ์ฐธ์กฐํ์ธ์.
๊ธฐ์กด ๋ ํ๋ฆฌ์นด ์ธํธ์ ์ค์ฌ์๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ธ์:
์ผ๋ฐ์ ์ผ๋ก ๋ณต์ ๋ณธ ์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ๋ ๋ฉค๋ฒ๊ฐ ๋ ๊ฐ ์ดํ์ธ ๊ฒฝ์ฐ ๋จผ์ ๋ณต์ ๋ณธ ์ธํธ์ ๋ํ ํด๋ฌ์คํฐ ์ ์ฒด ์ฐ๊ธฐ ์ฐ๋ ค๋ฅผ ์ค์ ํด์ผ ํ ์ ์์ต๋๋ค.
ํด๋ฌ์คํฐ ์ ์ฒด ์ฐ๊ธฐ ์ฐ๋ ค๋ฅผ ์ค์ ํด์ผ ํ๋ ์ด์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํด๋ฌ์คํฐ ์ ์ฒด ์ฐ๊ธฐ ์ฐ๋ ค๋ฅผ ์ฐธ์กฐํ์ธ์.
์ค์ฌ์๋ก ์๋ก์ด ๋ณต์ ์ธํธ๋ฅผ ์์ํ๊ธฐ ์ ์ ํด๋ฌ์คํฐ ์ ์ฒด์ ์ฐ๊ธฐ ๊ณ ๋ ค ์ค์ ์ ๋ณ๊ฒฝํ ํ์๋ ์์ต๋๋ค.
๋ค์๋ ์ฐธ์กฐํ์ธ์.
์ฐ๋ ค ์ฌํญ ์ถ์ฒ ์์ฑ
MongoDB๋ ํน์ ์ฐ๊ธฐ ๊ณ ๋ ค์ ์์ธ์ ๋ํ๋ด๋ ์ฐ๊ธฐ ๊ณ ๋ ค provenance
๋ฅผ ์ถ์ ํฉ๋๋ค. provenance
๋ getLastError
๋ฉํธ๋ฆญ, ์ฝ๊ธฐ ๊ณ ๋ ค ์ค๋ฅ ๊ฐ์ฒด, MongoDB ๋ก๊ทธ์ ํ์๋ฉ๋๋ค.
๋ค์ ํ๋ ๊ฐ๋ฅํ ์ฐ๊ธฐ ๊ณ ๋ ค provenance
์ ๊ฐ๊ณผ ๊ทธ ์ค์์ฑ์ ๋ณด์ฌ์ค๋๋ค.
์ถ์ฒ | ์ค๋ช
|
---|---|
| ์ฐ๊ธฐ ์ฐ๋ ค ์ฌํญ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ง์ ๋์์ต๋๋ค. |
| ์ฐ๊ธฐ ๊ณ ๋ ค๋ ์ฌ์ฉ์ ์ ์๋ ๊ธฐ๋ณธ๊ฐ์์ ๋น๋กฏ๋ ๊ฒ์
๋๋ค. |
| ์ฐ๊ธฐ ๊ณ ๋ ค๋ ๋ณต์ ๋ณธ ์ธํธ์ |
| ์ฐ๊ธฐ ๊ณ ๋ ค๋ ๋ค๋ฅธ ๋ชจ๋ ์ฐ๊ธฐ ๊ณ ๋ ค ์ฌ์์ด ์๋ ์ํ์์ ์๋ฒ์์ ๋ฐ์ํ์ต๋๋ค. |
์ฟผ๋ผ ์ปค๋ฐ๊ณผ ๋์กฐ๋๋ ์ฐ๊ธฐ ๊ณ ๋ ค
์ฟผ๋ผ ์ปค๋ฐ๊ณผ ์ฐ๊ธฐ ๊ณ ๋ ค(write concern) ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ์ค์ํ ์ฐจ์ด์ ์ด ์์ต๋๋ค.
์ธ๋ฑ์ค ๋น๋๋ ์ฟผ๋ผ ์ปค๋ฐ ์ฌ์ฉํฉ๋๋ค.
์ฐ๊ธฐ ์์ ์ ์ฐ๊ธฐ ๊ณ ๋ ค ์ฌ์ฉํฉ๋๋ค.
ํด๋ฌ์คํฐ ๋ด์ ๊ฐ ๋ฐ์ดํฐ ๋ณด์ ๋ ธ๋๋ ํฌํ๊ถ์ ๊ฐ์ง ๋ ธ๋์ ๋๋ค.
์ปค๋ฐ ์ฟผ๋ผ์ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ๋ฅผ ํฌํจํ์ฌ ๋ช ๊ฐ์ ๋ฐ์ดํฐ ๋ณด์ ํฌํ ๋ฉค๋ฒ ๋๋ ์ด๋ค ํฌํ ๋ฉค๋ฒ๊ฐ ๋์ ์ธ๋ฑ์ค ๋น๋๋ฅผ ์ปค๋ฐํ ์ค๋น๊ฐ ๋์ด ์์ด์ผ ํ๋์ง๋ฅผ ์ง์ ํฉ๋๋ค. ์ด ์ค๋น๊ฐ ์๋ฃ๋๋ฉด ํ๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ๊ฐ ์ปค๋ฐ์ ์คํํฉ๋๋ค.
์ฐ๊ธฐ ๊ณ ๋ ค๋ ์ฐ๊ธฐ ์์ ์ด ์ง์ ๋ ์์ ์ธ์คํด์ค๋ก ์ ํ๋์๋ค๋ ํ์ธ ์์ค์ ๋๋ค.
8.0 ๋ฒ์ ๋ณ๊ฒฝ ์ฌํญ: ์ปค๋ฐ ์ฟผ๋ผ์ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ์ธ๋ฑ์ค ๋น๋๋ฅผ ์ปค๋ฐํ๊ธฐ ์ ์ ์ธ๋ฑ์ค ๋น๋๋ฅผ ์๋ฃํ ์ค๋น๊ฐ ๋์ด ์์ด์ผ ํ๋ ๋ ธ๋ ์๋ฅผ ์ง์ ํฉ๋๋ค. ๋ฐ๋๋ก ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ์ธ๋ฑ์ค ๋น๋๋ฅผ ์ปค๋ฐํ ๊ฒฝ์ฐ ์ฐ๊ธฐ ๊ณ ๋ ค๋ ๋ช ๋ น์ด ์ฑ๊ณต์ ๋ฐํํ๊ธฐ ์ ์ ์ธ๋ฑ์ค ๋น๋ oplog ํญ๋ชฉ์ ๋ณต์ ํด์ผ ํ๋ ๋ ธ๋ ์๋ฅผ ์ง์ ํฉ๋๋ค.
์ด์ ๋ฆด๋ฆฌ์ค์์๋ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ์ธ๋ฑ์ค ๋น๋๋ฅผ ์ปค๋ฐํ์ ๋ ์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ ๋ช ๋ น์ด ์ฑ๊ณต์ ์ผ๋ก ๋ฐํ๋๊ธฐ ์ ์ ์ธ๋ฑ์ค ๋น๋๋ฅผ ์๋ฃํด์ผ ํ๋ ๋ ธ๋ ์๋ฅผ ์ง์ ํ์ต๋๋ค.