๋ฌธ์ ํ โ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ โ MongoDB ๋งค๋ด์ผ
๊ธฐ๋ณธ MongoDB ์ฝ๊ธฐ ๊ณ ๋ ค/์ฐ๊ธฐ ๊ณ ๋ ค
์ด ํ์ด์ง์ ๋ด์ฉ
readConcern
๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค
๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด์ | ๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค |
---|---|
ํ๋ผ์ด๋จธ๋ฆฌ์ ๋ํด ์ฝ๊ธฐ | ์ฐธ๊ณ
|
์ธ์ปจ๋๋ฆฌ์์ ์ฝ๊ธฐ | ์ฐธ๊ณ
|
์ฝ๊ธฐ ๊ณ ๋ ค ์ง์ : MongoDB ๋๋ผ์ด๋ฒ
์ถ๊ฐ ์ ๋ณด
์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๊ธฐ ๊ณ ๋ ค์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฐ๊ธฐ ๊ณ ๋ ค
๋ํดํธ ์ฐ๊ธฐ ๊ณ ๋ ค
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" }
์๋ฅผ ๋ค์ด ๋ค์ ๋ฐฐํฌ์ ํด๋น ๊ธฐ๋ณธ ์ฐ๊ธฐ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด๋ณด์ธ์.
๋น์ค์ฌ์ธ | ์ค์ฌ์ | ํฌํ ๋
ธ๋ | ๊ณผ๋ฐ์ ํฌํ ๋
ธ๋ | ์์ธํ ๋ด์ฉ์ ์์์ ๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ์ธ์. |
---|---|---|---|---|
2 | 1 | 3 | 2 | { w: 1 } |
4 | 1 | 5 | 3 | { w: "majority" } |
์ฒซ ๋ฒ์งธ ์์ ์์๋
์ด 3๊ฐ์ ํฌํ ๋ ธ๋์๋ 2๋ช ์ ๋น์ค์ฌ์์ 1๋ช ์ ์ค์ฌ์๊ฐ ์์ต๋๋ค.
ํฌํ ๋ ธ๋์ ๋๋ค์(1 + 3์ ์ ๋ฐ, ๋ฐ๋ด๋ฆผ)๋ 2์ ๋๋ค.
๋น์ค์ฌ์ ์(2)๋ ๋๋ค์์ ํฌํ ๋ ธ๋(2)์ ๋์ผํ๋ฏ๋ก
{ w: 1 }
์ ์์์ ์ฐ๊ธฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ ๋ฒ์งธ ์์ ์์๋
์ด 5๊ฐ์ ํฌํ ๋ ธ๋์๋ 4๋ช ์ ๋น์ค์ฌ์์ 1๋ช ์ ์ค์ฌ์๊ฐ ์์ต๋๋ค.
ํฌํ ๋ ธ๋์ ๋๋ค์(1 + 5์ ์ ๋ฐ, ๋ฐ๋ด๋ฆผ)๋ 3์ ๋๋ค.
๋น ์ค์ฌ์ (4) ์ ์๊ฐ ํฌํ ๋ ธ๋ (3) ์ ๊ณผ๋ฐ์๋ณด๋ค ๋ง์์ ์๋ฌต์ ์ธ ์ฐ๊ธฐ ๋ฌธ์ ๊ฐ
{ w: "majority" }
๋ฐ์ํฉ๋๋ค.
์ฐ๊ธฐ ์ฐ๋ ค ์ง์ : MongoDB ๋๋ผ์ด๋ฒ
์ถ๊ฐ ์ ๋ณด
์ฌ์ฉ ๊ฐ๋ฅํ ์ฐ๊ธฐ ๊ณ ๋ ค์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ์ธ์.
์ธ๊ณผ์ ์ผ๊ด์ฑ ๋ณด์ฅ
์ธ๊ณผ์ ์ผ๋ก ์ผ๊ด๋ ํด๋ผ์ด์ธํธ ์ธ์ ์ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ ์ธ์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํฉ๋๋ค.
๊ด๋ จ๋ ์ฝ๊ธฐ ์์ ์
"majority"
์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.๊ด๋ จ ์ฐ๊ธฐ ์์ ์
"majority"
์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.