Docs Menu

๊ธฐ๋ณธ MongoDB ์ฝ๊ธฐ ๊ณ ๋ ค/์“ฐ๊ธฐ ๊ณ ๋ ค

์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ณ ๋ ค ์ƒ์†
ํด๋ฆญํ•˜์—ฌ ํ™•๋Œ€

๊ธฐ๋ณธ๊ฐ’ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์šด์˜
๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ณ ๋ ค

ํ”„๋ผ์ด๋จธ๋ฆฌ์— ๋Œ€ํ•ด ์ฝ๊ธฐ

"local"

  • ์ด ์ฝ๊ธฐ ๊ณ ๋ ค๋Š” ๋กค๋ฐฑ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด ์ฝ๊ธฐ ๊ณ ๋ ค๋Š” ์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Reads against secondaries.

"local"

  • ์ด ์ฝ๊ธฐ ๊ณ ๋ ค๋Š” ๋กค๋ฐฑ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด ์ฝ๊ธฐ ๊ณ ๋ ค๋Š” ์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์ •๋ณด๋Š” ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๊ณ ๋ ค ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด Operations in Transactions ํƒญ ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

MongoDB ๋“œ๋ผ์ด๋ฒ„ ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ๊ฐ’ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋ฅผ ์žฌ์ •์˜ํ•˜๊ณ  ๋‹ค์Œ ์ˆ˜์ค€์—์„œ ์ž‘์—…์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋ฅผ ์„ค์ •ํ•˜๋‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ค€
์„ค๋ช…

ํด๋ผ์ด์–ธํŠธ ์ˆ˜์ค€

์ž‘์—…์— ๋Œ€ํ•œ ์„ธ๋ถ„ํ™”๋œ ์ฝ๊ธฐ ๋ฌธ์ œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/์ปฌ๋ ‰์…˜/์ž‘์—… ์ˆ˜์ค€์—์„œ ์„ค์ •๋˜์ง€ ์•Š๋Š” ํ•œ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ํด๋ผ์ด์–ธํŠธ ์ฝ๊ธฐ ๊ณ ๋ ค ์žฌ์ •์˜). ๋‹จ, ์ปฌ๋ ‰์…˜ ์ˆ˜์ค€ ๋˜๋Š” ์ž‘์—… ์ˆ˜์ค€์—์„œ ์ฝ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ์— ํ•œํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜ ์ˆ˜์ค€

์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์ฝ๊ธฐ ์ž‘์—…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/ํด๋ผ์ด์–ธํŠธ ์ฝ๊ธฐ ๊ณ ๋ ค ์žฌ์ •์˜). ๋‹จ, ์ž‘์—… ์ˆ˜์ค€์—์„œ ์ฝ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ์— ํ•œํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž‘์—… ์ˆ˜์ค€

ํŠน์ • ์ฝ๊ธฐ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/ํด๋ผ์ด์–ธํŠธ/์ปฌ๋ ‰์…˜ ์ฝ๊ธฐ ๊ณ ๋ ค ์žฌ์ •์˜).

์—ฐ์‚ฐ ์‹œ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋“œ๋ผ์ด๋ฒ„์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„์˜ ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์ •๋ณด๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๊ณ ๋ ค ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด Operations outside Transactions ํƒญ ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

MongoDB ๋“œ๋ผ์ด๋ฒ„ ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ๊ฐ’ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋ฅผ ์žฌ์ •์˜ํ•˜๊ณ  ๋‹ค์Œ ์ˆ˜์ค€์—์„œ ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋ฅผ ์„ค์ •ํ•˜๋‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ค€
์„ค๋ช…

ํด๋ผ์ด์–ธํŠธ ์ˆ˜์ค€

์„ธ์…˜/ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€์—์„œ ๋” ์„ธ๋ถ„ํ™”๋œ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ ํŠธ๋žœ์žญ์…˜์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ์ž‘์—…์€ ํŠธ๋žœ์žญ์…˜ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…, ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ ์„ค์ •ํ•˜๋‹ค ๋ชจ๋“  ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์„ธ์…˜ ์ˆ˜์ค€

์„ธ์…˜์—์„œ ์‹œ์ž‘๋œ ํŠธ๋žœ์žญ์…˜์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ํด๋ผ์ด์–ธํŠธ ์ฝ๊ธฐ ๊ณ ๋ ค ์žฌ์ •์˜). ๋‹จ, ํŠน์ • ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€์—์„œ ๋” ์„ธ๋ถ„ํ™”๋œ ์ฝ๊ธฐ ๊ณ ๋ ค ์ˆ˜์ค€์„ ์„ค์ •ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ์ž‘์—…์€ ํŠธ๋žœ์žญ์…˜ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…, ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ ์„ค์ •ํ•˜๋‹ค ๋ชจ๋“  ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ํŠธ๋ž˜์žญ์…˜ ๋ฐ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€

ํŠน์ • ํŠธ๋žœ์žญ์…˜์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ํด๋ผ์ด์–ธํŠธ/์„ธ์…˜ ์ฝ๊ธฐ ๊ณ ๋ ค ์žฌ์ •์˜).

ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ์ž‘์—…์€ ํŠธ๋žœ์žญ์…˜ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…, ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ ์„ค์ •ํ•˜๋‹ค ๋ชจ๋“  ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ํŠธ๋ž˜์žญ์…˜ ๋ฐ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ๊ธฐ ๊ณ ๋ ค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ณ ๋ ค ์ƒ์†
ํด๋ฆญํ•˜์—ฌ ํ™•๋Œ€

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

{ 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" } ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ •๋ณด๋Š” ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๊ณ ๋ ค ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด Operations in Transactions ํƒญ ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

MongoDB ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์žฌ์ •์˜ํ•˜๊ณ  ๋‹ค์Œ ์ˆ˜์ค€์—์„œ ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ค€
์„ค๋ช…

ํด๋ผ์ด์–ธํŠธ ์ˆ˜์ค€

์ž‘์—…์— ๋Œ€ํ•œ ์„ธ๋ถ„ํ™”๋œ ์“ฐ๊ธฐ ๋ฌธ์ œ๊ฐ€ ์ž‘์—…/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/์ปฌ๋ ‰์…˜์—์„œ ์„ค์ •๋˜์ง€ ์•Š๋Š” ํ•œ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ํด๋ผ์ด์–ธํŠธ ์“ฐ๊ธฐ ๊ณ ๋ ค ์žฌ์ •์˜). ๋‹จ, ์ปฌ๋ ‰์…˜ ์ˆ˜์ค€ ๋˜๋Š” ์ž‘์—… ์ˆ˜์ค€์—์„œ ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ์— ํ•œํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜ ์ˆ˜์ค€

์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์ž‘์—…์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ํด๋ผ์ด์–ธํŠธ ์“ฐ๊ธฐ ๊ณ ๋ ค ์žฌ์ •์˜). ๋‹จ, ์ž‘์—… ์ˆ˜์ค€์—์„œ ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ์— ํ•œํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž‘์—… ์ˆ˜์ค€

ํŠน์ • ์“ฐ๊ธฐ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ž‘์—… ์‹œ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋“œ๋ผ์ด๋ฒ„์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„ ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์ •๋ณด๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์—์„œ ์‹คํ–‰ ๋˜๋Š” ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๊ณ ๋ ค ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด Operations outside Transactions ํƒญ ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

MongoDB ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ ์ˆ˜์ค€์—์„œ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์žฌ์ •์˜ํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ค€
์„ค๋ช…

ํด๋ผ์ด์–ธํŠธ ์ˆ˜์ค€

์„ธ์…˜/ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€์—์„œ ๋” ์„ธ๋ถ„ํ™”๋œ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ ํŠธ๋žœ์žญ์…˜์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ์“ฐ๊ธฐ ๊ณ ๋ ค๋Š” ์ปค๋ฐ‹ ์ž‘์—…๊ณผ ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ์ž‘์—…์€ ํŠธ๋žœ์žญ์…˜ ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…, ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ ์„ค์ •ํ•˜๋‹ค ๋ชจ๋“  ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์„ธ์…˜ ์ˆ˜์ค€

ํŠน์ • ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€์—์„œ ์“ฐ๊ธฐ ๊ณ ๋ ค ์ˆ˜์ค€์„ ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์„ธ์…˜์—์„œ ์‹œ์ž‘๋œ ํŠธ๋žœ์žญ์…˜์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ์“ฐ๊ธฐ ๊ณ ๋ ค๋Š” ์ปค๋ฐ‹ ์ž‘์—…๊ณผ ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ์ž‘์—…์€ ํŠธ๋žœ์žญ์…˜ ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…, ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ ์„ค์ •ํ•˜๋‹ค ๋ชจ๋“  ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ค€

ํŠน์ • ํŠธ๋žœ์žญ์…˜ ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ์“ฐ๊ธฐ ๊ณ ๋ ค๋Š” ์ปค๋ฐ‹ ์ž‘์—…๊ณผ ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์˜ ์ž‘์—…์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ์ž‘์—…์€ ํŠธ๋žœ์žญ์…˜ ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…, ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ ์„ค์ •ํ•˜๋‹ค ๋ชจ๋“  ์“ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๋Š” ํŠธ๋žœ์žญ์…˜ ๋‚ด๋ถ€์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ํŠธ๋žœ์žญ์…˜ ๋ฐ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์“ฐ๊ธฐ ๊ณ ๋ ค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์˜ ๊ฒฝ์šฐ, ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋งŒ ์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ๊ด€๋ จ๋œ ์ฝ๊ธฐ ์ž‘์—…์€ "majority" ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ๊ด€๋ จ ์“ฐ๊ธฐ ์ž‘์—…์€ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.