๋ฌธ์„œ ๋ฉ”๋‰ด
๋ฌธ์„œ ํ™ˆ
/
MongoDB ๋งค๋‰ด์–ผ
/ /

์ฝ๊ธฐ ๊ฒฉ๋ฆฌ, ์ผ๊ด€์„ฑ ๋ฐ ์ตœ์‹ ์„ฑ

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

  • ๊ฒฉ๋ฆฌ ๋ณด์žฅ
  • ๋‹จ์กฐ์  ์“ฐ๊ธฐ
  • ์‹ค์‹œ๊ฐ„ ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ
  • ์ธ๊ณผ ๊ด€๊ณ„ ์ผ๊ด€์„ฑ

์ฝ๊ธฐ ๊ณ ๋ ค์— ๋”ฐ๋ผ ํด๋ผ์ด์–ธํŠธ๋Š” ์“ฐ๊ธฐ๊ฐ€ ์ง€์†ํ˜•์ด ๋˜๊ธฐ ์ „์— ์“ฐ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์ค‘ ๋ฌธ์„œ ํŠธ๋žœ์žญ์…˜ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋˜๋ฉด ํŠธ๋žœ์žญ์…˜์—์„œ ์ด๋ฃจ์–ด์ง„ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ €์žฅ๋˜๊ณ  ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํŠธ๋žœ์žญ์…˜์€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์„ ๋กค๋ฐฑํ•˜๋Š” ๋™์•ˆ ์ผ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋  ๋•Œ๊นŒ์ง€ ํŠธ๋žœ์žญ์…˜์—์„œ ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋Š” ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํŠธ๋žœ์žญ์…˜์ด ์—ฌ๋Ÿฌ ์ƒค๋“œ์— ์“ฐ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ชจ๋“  ์™ธ๋ถ€ ์ฝ๊ธฐ ์ž‘์—…์ด ์ปค๋ฐ‹๋œ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ƒค๋“œ ์ „์ฒด์— ํ‘œ์‹œ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆด ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋˜๊ณ  ์“ฐ๊ธฐ 1์ด ์ƒค๋“œ A์— ํ‘œ์‹œ๋˜์ง€๋งŒ ์“ฐ๊ธฐ 2๊ฐ€ ์ƒค๋“œ B์— ์•„์ง ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์ฝ๊ธฐ ๊ณ ๋ ค "local"์˜ ์™ธ๋ถ€ ์ฝ๊ธฐ๋Š” ์“ฐ๊ธฐ 2๋ฅผ ๋ณด์ง€ ์•Š๊ณ  ์“ฐ๊ธฐ 1์˜ ๊ฒฐ๊ณผ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ์ฝ๊ธฐ๋Š” ๊ธฐ๋ณธ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์ด๋ฉฐ mongod ๋…๋ฆฝํ˜• ์ธ์Šคํ„ด์Šค์™€ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฐ ์ƒค๋“œ ํด๋Ÿฌ์Šคํ„ฐ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์“ฐ๊ธฐ ์ž‘์—…์€ ๋‹จ์ผ ๋ฌธ์„œ์— ๋Œ€ํ•ด ์›์ž์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ์“ฐ๊ธฐ ์ž‘์—…์ด ๋ฌธ์„œ์˜ ์—ฌ๋Ÿฌ ํ•„๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋”๋ผ๋„ ์ฝ๊ธฐ ์ž‘์—…์—์„œ๋Š” ์ผ๋ถ€ ํ•„๋“œ๋งŒ ์—…๋ฐ์ดํŠธ๋œ ์ƒํƒœ์˜ ๋ฌธ์„œ๋ฅผ ์ ˆ๋Œ€ ๋ณผ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ผ์ด์–ธํŠธ๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋œ ๋ฌธ์„œ๋ฅผ ๋ณผ ์ˆ˜ ์—†์ง€๋งŒ, ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ์ฝ๊ธฐ๋Š” ๋™์‹œ ์ฝ๊ธฐ ์ž‘์—…์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ง€์†์ ์œผ๋กœ ์ ์šฉ๋˜๊ธฐ ์ „์— ์—…๋ฐ์ดํŠธ๋œ ๋ฌธ์„œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋…๋ฆฝํ˜• mongod ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹จ์ผ ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—… ์„ธํŠธ๋ฅผ ์ง๋ ฌํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹จ์ผ ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—… ์„ธํŠธ๋Š” ๋กค๋ฐฑ์ด ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ง๋ ฌํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ ์“ฐ๊ธฐ ์ž‘์—…(์˜ˆ: db.collection.updateMany())์ด ์—ฌ๋Ÿฌ ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ ๋ฌธ์„œ์˜ ์ˆ˜์ •์€ ์›์ž์ ์ด์ง€๋งŒ ์ „์ฒด ์ž‘์—…์€ ์›์ž์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ ์“ฐ๊ธฐ ์ž‘์—…์ด๋“  ๋‹ค์ค‘ ์“ฐ๊ธฐ ์ž‘์—…์ด๋“  ๋‹ค์ค‘ ๋ฌธ์„œ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋‹ค๋ฅธ ์ž‘์—…๊ณผ ๊ฒน์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ๋ฌธ์„œ(๋‹จ์ผ ๋˜๋Š” ์—ฌ๋Ÿฌ ์ปฌ๋ ‰์…˜)์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ์˜ ์›์ž์„ฑ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์˜ ๊ฒฝ์šฐ, ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฐ ์ƒค๋“œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ํŠธ๋žœ์žญ์…˜์„ ํฌํ•จํ•œ ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฑฐ๋ž˜๋ฅผ์ฐธ์กฐํ•˜์„ธ์š”.

์ค‘์š”

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜์€ ๋‹จ์ผ ๋ฌธ์„œ ์“ฐ๊ธฐ์— ๋น„ํ•ด ๋” ํฐ ์„ฑ๋Šฅ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜์˜ ๊ฐ€์šฉ์„ฑ์ด ํšจ๊ณผ์ ์ธ ์Šคํ‚ค๋งˆ ์„ค๊ณ„๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋น„์ •๊ทœํ™”๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ (๋‚ด์žฅ๋œ ๋ฌธ์„œ ๋ฐ ๋ฐฐ์—ด) ์€ ๊ณ„์†ํ•ด์„œ ๋ฐ์ดํ„ฐ ๋ฐ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์ตœ์ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋ชจ๋ธ๋งํ•˜๋ฉด ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜์˜ ํ•„์š”์„ฑ์ด ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ํŠธ๋žœ์žญ์…˜ ์‚ฌ์šฉ ๊ณ ๋ ค ์‚ฌํ•ญ(์˜ˆ: ๋Ÿฐํƒ€์ž„ ์ œํ•œ ๋ฐ oplog ํฌ๊ธฐ ์ œํ•œ)์€ ํ”„๋กœ๋•์…˜ ๊ณ ๋ ค์‚ฌํ•ญ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์ค‘ ๋ฌธ์„œ ์“ฐ๊ธฐ ์ž‘์—…์„ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด MongoDB๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋™์ž‘์„ ๋ณด์ž…๋‹ˆ๋‹ค.

  1. Non-point ์ฝ๊ธฐ ์ž‘์—…. ์ฝ๊ธฐ ์ž‘์—…์ด ์‹œ๊ฐ„ t 1์— ์‹œ์ž‘๋˜์–ด ๋ฌธ์„œ ์ฝ๊ธฐ๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์“ฐ๊ธฐ ์ž‘์—…์€ ๋‚˜์ค‘์— ์–ด๋Š ์‹œ์ ( t 2)์— ๋ฌธ์„œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉด, ์ฝ๊ธฐ ์ž‘์—…์€ ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „์˜ ๋ฌธ์„œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฐ์ดํ„ฐ์˜ ํŠน์ • ์‹œ์  ์Šค๋ƒ…์ƒท์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  2. ์ง๋ ฌํ™”ํ•  ์ˆ˜ ์—†๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ฝ๊ธฐ ์ž‘์—…์ด ์‹œ๊ฐ„ t 1์— ๋ฌธ์„œ d 1์„ ์ฝ๊ณ , ์“ฐ๊ธฐ ์ž‘์—…์ด ๋‚˜์ค‘์— ์‹œ๊ฐ„ t 3์— ๋ฌธ์„œ d 1์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ฝ๊ธฐ-์“ฐ๊ธฐ ์ข…์†์„ฑ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ž‘์—…์„ ์ง๋ ฌํ™”ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ฝ๊ธฐ ์ž‘์—…์ด ์“ฐ๊ธฐ ์ž‘์—…๋ณด๋‹ค ์šฐ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ์“ฐ๊ธฐ ์ž‘์—…์ด ์‹œ๊ฐ„ t 2์— ๋ฌธ์„œ d 2๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ฝ๊ธฐ ์ž‘์—…์ด ๋‚˜์ค‘์— ์‹œ๊ฐ„ t 4์— ๋ฌธ์„œ d 2๋ฅผ ์ฝ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์“ฐ๊ธฐ-์ฝ๊ธฐ ์ข…์†์„ฑ์ด ๋„์ž…๋˜์–ด ์ง๋ ฌํ™” ๊ฐ€๋Šฅํ•œ ์Šค์ผ€์ค„์—์„œ ์ฝ๊ธฐ ์ž‘์—…์ด ์“ฐ๊ธฐ ์ž‘์—… ์ดํ›„์— ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง๋ ฌํ™” ๊ฐ€๋Šฅ์„ฑ์„ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ข…์†์„ฑ ์ฃผ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ์ฝ๊ธฐ ์ž‘์—… ์ค‘์— ์—…๋ฐ์ดํŠธ๋œ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB ์ปค์„œ๋Š” ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋™์ผํ•œ ๋ฌธ์„œ๋ฅผ ๋‘ ๋ฒˆ ์ด์ƒ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค์„œ๊ฐ€ ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ ๋‹ค๋ฅธ ์ž‘์—…์ด ์ฟผ๋ฆฌ์— ๋ผ์–ด๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ธ๋ฑ์Šค์˜ ์ธ๋ฑ์Šค ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์ปค์„œ๊ฐ€ ๋™์ผํ•œ ๋ฌธ์„œ๋ฅผ ๋‘ ๋ฒˆ ์ด์ƒ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ์œ  ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ๋Š” ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ค‘๋ณต๋œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์œ  ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ปค์„œ๊ฐ€ ๋™์ผํ•œ ๊ณ ์œ  ๊ฐ’์„ ๊ณต์œ ํ•˜๋Š” ๋ฌธ์„œ์˜ ์‚ญ์ œ ๋ฐ ์‚ฝ์ž…๊ณผ ๊ฒน์น˜๋Š” ๊ฒฝ์šฐ, ์ปค์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌธ์„œ์—์„œ ๋™์ผํ•œ ๊ณ ์œ  ๊ฐ’์„ ๋‘ ๋ฒˆ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๊ฒฉ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ๊ธฐ ๊ณ ๋ ค ์‚ฌํ•ญ "snapshot" ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ชฝ๊ณ DB๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋…๋ฆฝํ˜• mongod ์ธ์Šคํ„ด์Šค ๋ฐ ๋ณต์ œ๋ณธ ์„ธํŠธ์— ๋Œ€ํ•ด ๋‹จ์กฐ๋กœ์šด ์“ฐ๊ธฐ ๋ณด์žฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์กฐ๋กœ์šด ์“ฐ๊ธฐ ๋ฐ ์ƒค๋“œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ”„๋ผ์ด๋จธ๋ฆฌ์—์„œ "linearizable" ์ฝ๊ธฐ ๊ณ ๋ ค์™€ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด,์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ๋‹จ์ผ ๋ฌธ์„œ์— ๋Œ€ํ•ด ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋งˆ์น˜ ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ˆ˜ํ–‰๋œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์€ ์‹œ๊ฐ„์ ์œผ๋กœ ์ผ๋ จ์˜ ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค, ์ฆ‰ ์ด๋Ÿฌํ•œ ์ž‘์—…๋“ค์€ '์„ ํ˜•ํ™” ๊ฐ€๋Šฅํ•œ(Linearizable)' ๊ฒƒ์œผ๋กœ ์—ฌ๊ฒจ์ง‘๋‹ˆ๋‹ค.

ํŒ

๋‹ค์Œ๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ž‘์—…์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ด์ „ ์ž‘์—…์— ์ข…์†๋˜๋Š” ๊ฒฝ์šฐ ์ž‘์—… ๊ฐ„์— ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ง€์ •๋œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ์‚ญ์ œํ•˜๋Š” ์“ฐ๊ธฐ ์ž‘์—…๊ณผ ์‚ญ์ œ ์ž‘์—…์„ ํ™•์ธํ•˜๋Š” ํ›„์† ์ฝ๊ธฐ ์ž‘์—…์€ ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB๋Š” ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์ผ์น˜ํ•˜๋Š” ์„ธ์…˜์„ ํ†ตํ•ด ์ธ๊ณผ ๊ด€๊ณ„๋ฅผ ์กด์ค‘ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ธ๊ณผ๊ด€๊ณ„ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋Š” ์ธ๊ณผ ๊ด€๊ณ„์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.

์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด MongoDB 3.6์€ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์—์„œ ์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ์„ธ์…˜์€ "majority" ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ๊ฐ€์ง„ ์ฝ๊ธฐ ์ž‘์—…๊ณผ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๊ฐ€์ง„ ์“ฐ๊ธฐ ์ž‘์—…์˜ ๊ด€๋ จ ์‹œํ€€์Šค๊ฐ€ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ฐ˜์˜๋˜๋Š” ์ธ๊ณผ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์—์„œ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ์ž‘์—…์˜ ๊ฒฝ์šฐ:

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

    ์ค‘์š”

    ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์€ ์ธ๊ณผ ๊ด€๊ณ„์˜ ์ผ๊ด€์„ฑ๋งŒ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค:

    • "majority"๋ฅผ ์‚ฌ์šฉํ•œ ์ฝ๊ธฐ ์ž‘์—…์€ ๋Œ€๋ถ€๋ถ„์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋…ธ๋“œ์— ์˜ํ•ด ์Šน์ธ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์ง€์†์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.

    • "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ์“ฐ๊ธฐ ์ž‘์—…, ์ฆ‰ ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ํˆฌํ‘œ ๋…ธ๋“œ ๊ณผ๋ฐ˜์ˆ˜์—๊ฒŒ ์ž‘์—…์ด ์ ์šฉ๋˜์—ˆ๋‹ค๋Š” ์Šน์ธ์„ ์š”์ฒญํ•˜๋Š” ์“ฐ๊ธฐ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

    ์ธ๊ณผ์  ์ผ๊ด€์„ฑ ๋ฐ ๋‹ค์–‘ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ๊ณผ์  ์ผ๊ด€์„ฑ ๋ฐ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  2. ํด๋ผ์ด์–ธํŠธ๊ฐ€ "majority" ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ๊ฐ€์ง„ ์ฝ๊ธฐ ์ž‘์—…๊ณผ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๊ฐ€์ง„ ์“ฐ๊ธฐ ์ž‘์—…์˜ ์‹œํ€€์Šค๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํด๋ผ์ด์–ธํŠธ๋Š” ๊ฐ ์ž‘์—…์— ์„ธ์…˜ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

  3. "majority" ์ฝ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ๊ฐ ์ฝ๊ธฐ ์ž‘์—…๊ณผ ์„ธ์…˜๊ณผ ์—ฐ๊ฒฐ๋œ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ์“ฐ๊ธฐ ์ž‘์—…์— ๋Œ€ํ•ด MongoDB๋Š” ์ž‘์—… ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ž‘์—… ์‹œ๊ฐ„๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์€ ์ž‘์—… ์‹œ๊ฐ„๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.

    ์ฐธ๊ณ 

    MongoDB๋Š” ์Šน์ธ๋˜์ง€ ์•Š์€ (w: 0)์“ฐ๊ธฐ ์ž‘์—…์— ๋Œ€ํ•œ ์ž‘์—… ์‹œ๊ฐ„๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šน์ธ๋˜์ง€ ์•Š์€ ์“ฐ๊ธฐ๋Š” ์ธ๊ณผ ๊ด€๊ณ„๋ฅผ ์˜๋ฏธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    MongoDB๋Š” ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์—์„œ ์ฝ๊ธฐ ์ž‘์—… ๋ฐ ์Šน์ธ๋œ ์“ฐ๊ธฐ ์ž‘์—…์— ๋Œ€ํ•œ ์ž‘์—… ์‹œ๊ฐ„ ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„์„ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ, "majority" ์ฝ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ์ฝ๊ธฐ ์ž‘์—…๊ณผ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ์“ฐ๊ธฐ ์ž‘์—…๋งŒ ์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ๊ณผ์  ์ผ๊ด€์„ฑ ๋ฐ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  4. ์—ฐ๊ฒฐ๋œ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์€ ์ด ๋‘ ๊ฐœ์˜ ์‹œ๊ฐ„ ํ•„๋“œ๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.

    ์ฐธ๊ณ 

    ์ž‘์—…์€ ์—ฌ๋Ÿฌ ์„ธ์…˜์—์„œ ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MongoDB ๋“œ๋ผ์ด๋ฒ„์™€ mongosh ๋Š” ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์˜ ์ž‘์—… ์‹œ๊ฐ„๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„์„ ์•ž๋‹น๊ธฐ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ํ•œ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์˜ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„๊ณผ ์ž‘์—… ์‹œ๊ฐ„์„ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์˜ ์ž‘์—…๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์•ž๋‹น๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—๋Š” "majority" ์ฝ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ์ฝ๊ธฐ ์ž‘์—… ๋ฐ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ์“ฐ๊ธฐ ์ž‘์—…์— ๋Œ€ํ•ด ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์ผ๊ด€์ ์ธ ์„ธ์…˜์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธ๊ณผ์  ์ผ๊ด€์„ฑ ๋ณด์žฅ์ด ๋‹ˆ๋‹ค.๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์žฅ
์„ค๋ช…
์“ฐ๊ธฐ ์ฝ๊ธฐ
์ฝ๊ธฐ ์ž‘์—…์€ ๊ทธ ์•ž์— ์žˆ๋Š” ์“ฐ๊ธฐ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.
๋‹จ์กฐ์  ์ฝ๊ธฐ

์ฝ๊ธฐ ์ž‘์—…์€ ์ด์ „ ์ฝ๊ธฐ ์ž‘์—…๋ณด๋‹ค ์ด์ „ ๋ฐ์ดํ„ฐ ์ƒํƒœ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„ธ์…˜์— ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ์“ฐ๊ธฐ 1์€ ์“ฐ๊ธฐ 2๋ณด๋‹ค ์„ ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฝ๊ธฐ 1์€ ์ฝ๊ธฐ 2 ๋ณด๋‹ค ์„ ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฝ๊ธฐ 1์€ ์“ฐ๊ธฐ 2๋ฅผ๋ฐ˜์˜ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ฝ๊ธฐ 2๋Š” ์“ฐ๊ธฐ 1์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‹จ์กฐ๋กœ์šด ์“ฐ๊ธฐ

๋‹ค๋ฅธ ์“ฐ๊ธฐ๋ณด๋‹ค ๋จผ์ € ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์“ฐ๊ธฐ ์ž‘์—…์€ ๋‹ค๋ฅธ ์“ฐ๊ธฐ๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์„ธ์…˜์—์„œ ์“ฐ๊ธฐ 1์ด ์“ฐ๊ธฐ 2๋ณด๋‹ค ์„ ํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ์“ฐ๊ธฐ 2 ์‹œ์ ์˜ ๋ฐ์ดํ„ฐ ์ƒํƒœ๋Š” ์“ฐ๊ธฐ 1 ์ดํ›„์˜ ๋ฐ์ดํ„ฐ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์“ฐ๊ธฐ๋Š” ์“ฐ๊ธฐ 1๊ณผ ์“ฐ๊ธฐ 2 ์‚ฌ์ด์— ๋ผ์–ด๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ, ์“ฐ๊ธฐ 2๋Š” ์“ฐ๊ธฐ 1๋ณด๋‹ค ๋จผ์ € ๋ฐœ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ํ›„ ์“ฐ๊ธฐ
์ฝ๊ธฐ ์ž‘์—… ํ›„์— ๋ฐœ์ƒํ•ด์•ผ ํ•˜๋Š” ์“ฐ๊ธฐ ์ž‘์—…์€ ํ•ด๋‹น ์ฝ๊ธฐ ์ž‘์—… ํ›„์— ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์“ฐ๊ธฐ ์‹œ์ ์˜ ๋ฐ์ดํ„ฐ ์ƒํƒœ๋Š” ์ด์ „ ์ฝ๊ธฐ ์ž‘์—…์˜ ๋ฐ์ดํ„ฐ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

์ด๋Ÿฌํ•œ ๋ณด์žฅ์‚ฌํ•ญ์€ MongoDB ๋ฐฐํฌ์˜ ๋ชจ๋“  ๋…ธ๋“œ์— ๋Œ€ํ•ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ์„ธ์…˜์—์„œ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ๊ฐ€์ง„ ์“ฐ๊ธฐ ์ž‘์—…์„ ์‹คํ–‰ํ•œ ํ›„ ์„ธ์ปจ๋”๋ฆฌ์—์„œ ์ฝ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ๊ธฐ ์ž‘์—…( (์ฆ‰, ์ฝ๊ธฐ ์„ค์ •secondary)์„ "majority" ์ฝ๊ธฐ ๊ณ ๋ ค์™€ ํ•จ๊ป˜ ์‹คํ–‰ํ•˜๋ฉด, ์ฝ๊ธฐ ์ž‘์—…์€ ์“ฐ๊ธฐ ์ž‘์—… ํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ์„ธ์…˜ ๋‚ด์˜ ์ž‘์—…์€ ์„ธ์…˜ ์™ธ๋ถ€์˜ ์ž‘์—…๊ณผ ๊ฒฉ๋ฆฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋™์‹œ ์“ฐ๊ธฐ ์ž‘์—…์ด ์„ธ์…˜์˜ ์“ฐ๊ธฐ์™€ ์ฝ๊ธฐ ์ž‘์—… ์‚ฌ์ด์— ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ, ์„ธ์…˜์˜ ์ฝ๊ธฐ ์ž‘์—…์€ ์„ธ์…˜์˜ ์“ฐ๊ธฐ ์ž‘์—… ์ดํ›„์— ๋ฐœ์ƒํ•œ ์“ฐ๊ธฐ ์ž‘์—…์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์—์„œ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” MongoDB 3.6 ์ด์ƒ์šฉ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋œ MongoDB ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Java 3.6+

Python 3.6+

C 1.9 ์ด์ƒ

Go 1.8+

C# 2.5+

๋…ธ๋“œ 3.0+

Ruby 2.5+

Rust 2.1+

Swift 1.2+

ํŽ„(Perl) 2.0+

PHPC 1.4+

Scala 2.2+

C++ 3.6.6+

์ค‘์š”

์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ์„ธ์…˜์€ "majority" ์ฝ๊ธฐ ๊ณ ๋ ค์™€ "majority" ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ์žˆ๋Š” ์“ฐ๊ธฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์ธ๊ณผ์  ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ํ˜„์žฌ ๋ฐ ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๋Š” ์ปฌ๋ ‰์…˜ items ์„ ์ƒ๊ฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ก ๋ฐ์ดํ„ฐ์—๋งŒ null์ด ์•„๋‹Œ end ๋‚ ์งœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ญ๋ชฉ์˜ sku ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์ด์ „ sku ๊ฐ’์ด ์žˆ๋Š” ๋ฌธ์„œ๋ฅผ end ๋‚ ์งœ๋กœ ์—…๋ฐ์ดํŠธํ•œ ํ›„, ์ƒˆ ๋ฌธ์„œ๋ฅผ ํ˜„์žฌ sku ๊ฐ’์œผ๋กœ ์‚ฝ์ž…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์ผ์น˜ํ•˜๋Š” ์„ธ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฝ์ž… ์ „์— ์—…๋ฐ์ดํŠธ๊ฐ€ ์ˆ˜ํ–‰๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์˜ค๋ฅธ์ชฝ ์œ„์— ์žˆ๋Š” ์–ธ์–ด ์„ ํƒ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์˜ˆ์ œ์˜ ์–ธ์–ด๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.


๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ˜„์žฌ sku ๊ฐ’์„ ๋ชจ๋‘ ์ฝ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐ„๊ณผ ์ž‘์—… ์‹œ๊ฐ„์„ ๋‹ค๋ฅธ ์„ธ์…˜์˜ ์‹œ๊ฐ„์œผ๋กœ ์•ž๋‹น๊ฒจ ์ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค๋ฅธ ์„ธ์…˜๊ณผ ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๋‘ ๋ฒˆ์˜ ์“ฐ๊ธฐ ํ›„์— ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋‹ค์Œ ์ž‘์—…์€ ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ž‘์—…
์ฐธ๊ณ  ์‚ฌํ•ญ
latencyStats ์˜ต์…˜์ด ์žˆ๋Š” $collStats .
์ž‘์—…์ด ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜๊ณผ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์ž‘์—…์ด ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜๊ณผ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์ž‘์—…์ด ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜๊ณผ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์ž‘์—…์ด ์ธ๊ณผ์ ์œผ๋กœ ์ผ๊ด€๋œ ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜๊ณผ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
โ†ย ๋งˆ์นจํ‘œ๊ฐ€ ์žˆ๋Š” ํ•„๋“œ ์ด๋ฆ„