Docs Menu

์ฑ„์›Œ์ง„ ์ปฌ๋ ‰์…˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ

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

๋ณต์ œ๋ณธ ์„ธํŠธ ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•œ ๋ชจ๋“  ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„์—์„œ ๋™์‹œ์— ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๊ณ  ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•ด์•ผ ํ•˜๋Š” ์ตœ์†Œํ•œ์˜ ๋ฐ์ดํ„ฐ ๋ณด์œ  ํˆฌํ‘œ ๋ฉค๋ฒ„(์ž์‹  ํฌํ•จ)๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. "ํˆฌํ‘œ" ๋ฉค๋ฒ„๋Š” members[n].votes๊ฐ€ 0๋ณด๋‹ค ํฐ ๋ชจ๋“  ๋ณต์ œ๋ณธ ์„ธํŠธ ๋…ธ๋“œ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณต์ œ๋œ ํ™˜๊ฒฝ์—์„œ์˜ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

MongoDB 7.1๋ถ€ํ„ฐ ์˜ค๋ฅ˜ ๋ณด๊ณ  ์†๋„๊ฐ€ ๋นจ๋ผ์ง€๊ณ  ํšŒ๋ณต ํƒ„๋ ฅ์„ฑ์ด ํ–ฅ์ƒ๋˜์–ด ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋„ˆ๋ฌด ๋ถ€์กฑํ•˜๋ฉด ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ค‘์ง€ํ•˜๋Š” ์ƒˆ๋กœ์šด indexBuildMinAvailableDiskSpaceMB ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๋ฑ์Šค ๋นŒ๋“œ์— ํ•„์š”ํ•œ ์ตœ์†Œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” MongoDB 7.1๋ถ€ํ„ฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ ๋™์ž‘์„ ์ด์ „ ๋ฒ„์ „๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

MongoDB 7.1๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ๋™์ž‘
์ด์ „ MongoDB ๋ฒ„์ „์˜ ๋™์ž‘

์ค‘๋ณต ํ‚ค ์˜ค๋ฅ˜๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ปฌ๋ ‰์…˜ ์Šค์บ” ๋‹จ๊ณ„์—์„œ ๋ฐœ๊ฒฌ๋œ ์ธ๋ฑ์Šค ์˜ค๋ฅ˜๋Š” ์ฆ‰์‹œ ๋ฐ˜ํ™˜๋œ ํ›„ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. ์ด์ „ MongoDB ๋ฒ„์ „์€ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ๊ฑฐ์˜ ๋๋‚  ๋ฌด๋ ต์— ๋ฐœ์ƒํ•˜๋Š” ์ปค๋ฐ‹ ๋‹จ๊ณ„์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. MongoDB 7.1์„ ์‚ฌ์šฉํ•˜๋ฉด ์ธ๋ฑ์Šค ์˜ค๋ฅ˜๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ง„๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์ธ๋ฑ์Šค ๊ฐ’ ํ˜•์‹์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ์ฆ‰์‹œ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค ๋นŒ๋“œ ์˜ค๋ฅ˜๋Š” ์ปค๋ฐ‹ ๋‹จ๊ณ„์—์„œ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ๋๋‚  ๋ฌด๋ ต์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— MongoDB 7.1์— ๋น„ํ•ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ธ๋ฑ์Šค ๋นŒ๋“œ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์„ธ์ปจ๋”๋ฆฌ ๋ฉค๋ฒ„๊ฐ€ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ค‘์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ 

Atlas์—์„œ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Atlas ์„ค๋ช…์„œ์˜ ์ธ๋ฑ์Šค ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด์ „ ๋ฒ„์ „์˜ MongoDB๋Š” ์ „๊ฒฝ ๋˜๋Š” ๋ฐฐ๊ฒฝ์—์„œ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „๊ฒฝ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๋” ํšจ์œจ์ ์ธ ์ธ๋ฑ์Šค ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•˜์ง€๋งŒ, ๋นŒ๋“œ ๊ธฐ๊ฐ„ ๋™์•ˆ ์ปฌ๋ ‰์…˜์˜ ์ƒ์œ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฝ๊ธฐ-์“ฐ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „๊ฒฝ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” ์†๋„๊ฐ€ ๋Š๋ฆฌ๊ณ  ๊ฒฐ๊ณผ ํšจ์œจ์„ฑ์ด ๋‚ฎ์•˜์ง€๋งŒ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ์ค‘์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ํ•ด๋‹น ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์ฝ๊ธฐ-์“ฐ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

db.currentOp() ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰ ์ค‘์ธ ์ธ๋ฑ์Šค ๋นŒ๋“œ์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

MongoDB๋Š” createIndexes ๋˜๋Š” ํ•ด๋‹น ์…ธ ํ—ฌํผ์ธ createIndex() ๋ฐ createIndexes()์— ์ง€์ •๋œ background ์ธ๋ฑ์Šค ๋นŒ๋“œ ์˜ต์…˜์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ณ ์œ  ์ธ๋ฑ์Šค์™€ ๊ฐ™์ด ์ปฌ๋ ‰์…˜์— ์ œ์•ฝ ์กฐ๊ฑด์„ ์ ์šฉํ•˜๋Š” ์ธ๋ฑ์Šค์˜ ๊ฒฝ์šฐ, mongod๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„์— ๋ชจ๋“  ๊ธฐ์กด ๋ฌธ์„œ์™€ ๋™์‹œ์— ์ž‘์„ฑ๋œ ๋ฌธ์„œ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ํ•ด๋‹น ์ œ์•ฝ ์กฐ๊ฑด์„ ์œ„๋ฐ˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ์ œ์•ฝ ์กฐ๊ฑด์„ ์œ„๋ฐ˜ํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ค‘์— ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ๊ฐ€ ๋๋‚  ๋•Œ ์ธ๋ฑ์Šค ์ œ์•ฝ ์กฐ๊ฑด์„ ์œ„๋ฐ˜ํ•˜๋Š” ๋ฌธ์„œ๊ฐ€ ์žˆ์œผ๋ฉด mongod ์ด ๋นŒ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ฑ„์›Œ์ง„ ์ปฌ๋ ‰์…˜ inventory ์„ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ๊ด€๋ฆฌ์ž๊ฐ€ product_sku ํ•„๋“œ์— ๊ณ ์œ  ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์ปฌ๋ ‰์…˜ ๋‚ด์˜ ๋ฌธ์„œ๋“ค์ด product_sku ํ•„๋“œ์— ๋Œ€ํ•ด ์ค‘๋ณต๋œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด๋„ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” ์„ฑ๊ณต์ ์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋นŒ๋“œ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ์œ„๋ฐ˜ ์‚ฌํ•ญ์ด ์—ฌ์ „ํžˆ ์กด์žฌํ•œ๋‹ค๋ฉด mongod ๋Š” ๋นŒ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด product_sku ๊ฐ’์„ ์ค‘๋ณตํ•˜์—ฌ inventory ์ปฌ๋ ‰์…˜์— ๋ฌธ์„œ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋นŒ๋“œ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ์œ„๋ฐ˜ ์‚ฌํ•ญ์ด ์—ฌ์ „ํžˆ ์กด์žฌํ•œ๋‹ค๋ฉด mongod ๋Š” ๋นŒ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜์œผ๋กœ ์ธํ•œ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์‹คํŒจ ์œ„ํ—˜์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • ์ปฌ๋ ‰์…˜ ๋‚ด์˜ ๋ฌธ์„œ๋“ค์ด ์ธ๋ฑ์Šค ์ œ์•ฝ ์กฐ๊ฑด์„ ์œ„๋ฐ˜ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • ์œ„๋ฐ˜ ์—†๋Š” ์“ฐ๊ธฐ ์ž‘์—…์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ๋ฅผ ์ค‘.

์—ฌ๋Ÿฌ ์ƒค๋“œ์— ๋ถ„์‚ฐ๋œ ์ƒค๋“œ ์ปฌ๋ ‰์…˜์˜ ๊ฒฝ์šฐ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ƒค๋“œ์— ์ค‘๋ณต ๋ฌธ์„œ๊ฐ€ ์žˆ๋Š” ์ฒญํฌ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ธ๋ฑ์Šค ์ƒ์„ฑ ์ž‘์—…์€ ์ผ๋ถ€ ์ƒค๋“œ(์ฆ‰, ์ค‘๋ณต์ด ์—†๋Š” ์ƒค๋“œ)์—์„œ๋Š” ์„ฑ๊ณตํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์ƒค๋“œ(์ฆ‰, ์ค‘๋ณต์ด ์žˆ๋Š” ์ƒค๋“œ)์—์„œ๋Š” ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒค๋“œ ๊ฐ„์— ์ผ๊ด€์„ฑ ์—†๋Š” ์ธ๋ฑ์Šค๊ฐ€ ๋‚จ์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด mongos์—์„œ db.collection.dropIndex() ์‹คํ–‰์„ ํ†ตํ•ด ์ปฌ๋ ‰์…˜์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์œ„ํ—˜์„ ์ค„์ด๋ ค๋ฉด ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

  • ์ปฌ๋ ‰์…˜ ๋‚ด์˜ ๋ฌธ์„œ๋“ค์ด ์ธ๋ฑ์Šค ์ œ์•ฝ ์กฐ๊ฑด์„ ์œ„๋ฐ˜ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • ์œ„๋ฐ˜ ์—†๋Š” ์“ฐ๊ธฐ ์ž‘์—…์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ๋ฅผ ์ค‘.

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

๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„๋Š” ์ตœ๋Œ€ 3๊ฐœ์˜ ๋™์‹œ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ์šฉ๋˜๋Š” ๋™์‹œ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด maxNumActiveUserIndexBuilds ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๋™์‹œ์— ์ง„ํ–‰๋˜๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ์˜ ์ˆ˜๊ฐ€ maxNumActiveUserIndexBuilds์— ์˜ํ•ด ์ง€์ •๋œ ํ•œ๋„์— ๋„๋‹ฌํ•˜๋ฉด, ์„œ๋ฒ„๋Š” ์ถ”๊ฐ€ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ๋™์‹œ ์ธ๋ฑ์Šค ๋นŒ๋“œ์˜ ์ˆ˜๊ฐ€ ํ•œ๋„ ์•„๋ž˜๋กœ ๋–จ์–ด์งˆ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

๋Œ€์ƒ ์ปฌ๋ ‰์…˜์— ์“ฐ๊ธฐ ๋ถ€ํ•˜๊ฐ€ ๋งŽ์€ ๊ธฐ๊ฐ„์— ์ธ๋ฑ์Šค๋ฅผ ๋นŒ๋“œํ•˜๋ฉด ์“ฐ๊ธฐ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๊ณ  ์ธ๋ฑ์Šค ๋นŒ๋“œ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ค‘์ง€ํ•˜๊ฑฐ๋‚˜ ์ค„์ด๋Š” ์œ ์ง€ ๊ด€๋ฆฌ ๊ธฐ๊ฐ„์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์˜ ์ž ์žฌ์ ์ธ ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ์™„ํ™”ํ•˜๋ ค๋ฉด ์ด ์œ ์ง€ ๊ด€๋ฆฌ ๊ธฐ๊ฐ„ ๋™์•ˆ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”.

createIndexes๋Š” ์ปฌ๋ ‰์…˜์— ํ•˜๋‚˜ ์ด์ƒ์˜ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. createIndexes๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ ๋””์Šคํฌ์˜ ์ž„์‹œ ํŒŒ์ผ ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค. createIndexes์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ œํ•œ์€ 200MB์ด๋ฉฐ ๋‹จ์ผ createIndexes ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๋œ ๋ชจ๋“  ์ธ๋ฑ์Šค ๊ฐ„์— ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์— ๋„๋‹ฌํ•˜๋ฉด createIndexes๋Š” --dbpath ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ _tmp ๋ผ๋Š” ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ์ž„์‹œ ๋””์Šคํฌ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

maxIndexBuildMemoryUsageMegabytes ์„œ๋ฒ„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ๋†’๊ฒŒ ์„ค์ •ํ•˜๋ฉด ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ๋” ๋นจ๋ฆฌ ์™„๋ฃŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ œํ•œ์„ ์‹œ์Šคํ…œ์˜ ๋ฏธ์‚ฌ์šฉ RAM์— ๋น„ํ•ด ๋„ˆ๋ฌด ๋†’๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ณ ๊ฐˆ๋˜๊ณ  ์„œ๋ฒ„๊ฐ€ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฌ์œ  RAM์ด ์ œํ•œ์ ์ผ ๊ฒฝ์šฐ, ์‹œ์Šคํ…œ RAM์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ์œ ์ง€ ๊ด€๋ฆฌ ์‹œ๊ฐ„์„ ์˜ˆ์•ฝํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” mongod์˜ RAM ์‚ฌ์šฉ๋Ÿ‰์„ ์กฐ์ •ํ•˜๊ธฐ ์ „์— ํ•„์š”ํ•œ ์กฐ์น˜์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ 

featureCompatibilityVersion 4.4 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ๋ณธ mongod ์„ธํŠธ ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ 4.4 ์—๋Š” ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„ ๊ฐ„์— ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ๋™์‹œ์— ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก featureCompatibilityVersion ์ด ์ด์ƒ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค .

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

์ค‘์š”

๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•˜๋Š” ํˆฌํ‘œ ๋…ธ๋“œ ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜๊ณ  commitQuorum ์ด ๊ธฐ๋ณธ๊ฐ’ votingMembers ๋กœ ์„ค์ •ํ•˜๋‹ค ๋˜๋ฉด ํ•ด๋‹น ๋…ธ๋“œ ๊ฐ€ ์˜จ๋ผ์ธ ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์•ฝ๋ฉ๋‹ˆ๋‹ค:

  1. ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” createIndexes ๋ช…๋ น์„ ๋ฐ›๊ณ  ์ฆ‰์‹œ "startIndexBuild" oplog ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•˜์—ฌ ์ธ๋ฑ์Šค ๋นŒ๋“œ์™€ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  2. ์„ธ์ปจ๋”๋ฆฌ๋Š” "startIndexBuild" oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•œ ํ›„ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  3. ์ปฌ๋ ‰์…˜์˜ ๋ฐ์ดํ„ฐ ์ธ๋ฑ์‹ฑ์ด ์™„๋ฃŒ๋˜๋ฉด ๊ฐ ๋ฉค๋ฒ„๊ฐ€ ๋นŒ๋“œ๋ฅผ ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•ด 'ํˆฌํ‘œ'ํ•ฉ๋‹ˆ๋‹ค.

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

  5. ํˆฌํ‘œ ์ฟผ๋Ÿผ์„ ํ™•๋ณดํ•œ ํ›„ ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” ์ค‘๋ณต ํ‚ค ์˜ค๋ฅ˜์™€ ๊ฐ™์€ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    • ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ์‚ฌํ•ญ์ด ์—†์œผ๋ฉด ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•˜๊ณ , ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Œ์„ ํ‘œ์‹œํ•œ ํ›„ "commitIndexBuild" oplog ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    • ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ๊ด€๋ จ " AbortIndexBuild " oplog ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  6. ๋ณด์กฐ ๋…ธ๋“œ๋Š” "commitIndexBuild" oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•˜์—ฌ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

    ์„ธ์ปจ๋”๋ฆฌ๊ฐ€ ๋Œ€์‹  "abortIndexBuild" oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•˜๋Š” ๊ฒฝ์šฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ๋นŒ๋“œ ์ž‘์—…์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” ์ธ๋ฑ์‹ฑ๋˜๋Š” ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ ์ƒค๋“œ์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์ธ๋ฑ์Šค ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” "votingMembers"์˜ ์ฟผ๋Ÿผ ์ปค๋ฐ‹, ์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•œ ๋ชจ๋“  ํˆฌํ‘œ ๋ฉค๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ด ์•„๋‹Œ ์ฟผ๋Ÿผ ์ปค๋ฐ‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด commitQuorum ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ createIndexes ๋˜๋Š” ํ•ด๋‹น ์…ธ ํ—ฌํผ db.collection.createIndex() ๋ฐ db.collection.createIndexes()๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ค‘์ธ ๋™์‹œ ์ธ๋ฑ์Šค ๋นŒ๋“œ์— ํ•„์š”ํ•œ ์ฟผ๋Ÿผ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด setIndexCommitQuorum ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ 

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

  • ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋กค๋ง ์ธ๋ฑ์Šค ๋นŒ๋“œ์— ๋Œ€ํ•ด์„œ๋Š” ๋ณต์ œ๋ณธ ์„ธํŠธ์— ๋Œ€ํ•œ ๋กค๋ง ์ธ๋ฑ์Šค ๋นŒ๋“œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋กค๋ง ์ธ๋ฑ์Šค ๋นŒ๋“œ์— ๋Œ€ํ•ด์„œ๋Š” ์ƒค๋“œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋กค๋ง ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ƒ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฟผ๋Ÿผ ์ปค๋ฐ‹๊ณผ ์“ฐ๊ธฐ ๊ณ ๋ ค ๊ฐ„์—๋Š” ์ค‘์š”ํ•œ ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” ์ฟผ๋Ÿผ ์ปค๋ฐ‹ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์“ฐ๊ธฐ ์ž‘์—…์€ ์“ฐ๊ธฐ ๊ณ ๋ ค ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๊ฐ ๋ฐ์ดํ„ฐ ๋ณด์œ  ๋…ธ๋“œ๋Š” ํˆฌํ‘œ๊ถŒ์„ ๊ฐ€์ง„ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค.

์ปค๋ฐ‹ ์ฟผ๋Ÿผ์€ ํ”„๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ„๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ช‡ ๋ช…์˜ ๋ฐ์ดํ„ฐ ๋ณด์œ  ํˆฌํ‘œ ๋ฉค๋ฒ„ ๋˜๋Š” ์–ด๋–ค ํˆฌํ‘œ ๋ฉค๋ฒ„๊ฐ€ ๋™์‹œ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ปค๋ฐ‹ํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ”„๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ„๊ฐ€ ์ปค๋ฐ‹์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์“ฐ๊ธฐ ๊ณ ๋ ค๋Š” ์“ฐ๊ธฐ ์ž‘์—…์ด ์ง€์ •๋œ ์ˆ˜์˜ ์ธ์Šคํ„ด์Šค๋กœ ์ „ํŒŒ๋˜์—ˆ๋‹ค๋Š” ํ™•์ธ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.

8.0 ๋ฒ„์ „ ๋ณ€๊ฒฝ ์‚ฌํ•ญ: ์ปค๋ฐ‹ ์ฟผ๋Ÿผ์€ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ปค๋ฐ‹ํ•˜๊ธฐ ์ „์— ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๋Š” ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ปค๋ฐ‹ํ•œ ๊ฒฝ์šฐ ์“ฐ๊ธฐ ๊ณ ๋ ค๋Š” ๋ช…๋ น์ด ์„ฑ๊ณต์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— ์ธ๋ฑ์Šค ๋นŒ๋“œ oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•ด์•ผ ํ•˜๋Š” ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ปค๋ฐ‹ํ–ˆ์„ ๋•Œ ์“ฐ๊ธฐ ๊ณ ๋ ค๊ฐ€ ๋ช…๋ น์ด ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ˜ํ™˜๋˜๊ธฐ ์ „์— ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•ด์•ผ ํ•˜๋Š” ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

MongoDB 5.0๋ถ€ํ„ฐ ํ”„๋ผ์ด๋จธ๋ฆฌ mongod๊ฐ€ "force" : true๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™„์ „ํ•œ shutdown๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ค‘์— SIGTERM ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  commitQuorum์ด ๊ธฐ๋ณธ votingMembers๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ง„ํ–‰ ์ƒํ™ฉ์ด ๋””์Šคํฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. mongod๋Š” ์žฌ์‹œ์ž‘๋  ๋•Œ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ๋ณต๊ตฌํ•˜๊ณ  ์ €์žฅ๋œ ์ฒดํฌํฌ์ธํŠธ์—์„œ ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

MongoDB 5.0๋ถ€ํ„ฐ ์„ธ์ปจ๋”๋ฆฌ mongod๊ฐ€ "force" : true๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™„์ „ํ•œ shutdown๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ค‘์— SIGTERM ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  commitQuorum์ด ๊ธฐ๋ณธ votingMembers๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ง„ํ–‰ ์ƒํ™ฉ์ด ๋””์Šคํฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. mongod๋Š” ์žฌ์‹œ์ž‘๋  ๋•Œ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ๋ณต๊ตฌํ•˜๊ณ  ์ €์žฅ๋œ ์ฒดํฌํฌ์ธํŠธ์—์„œ ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

mongod๋Š” ๋ณต๊ตฌ ์ธ๋ฑ์Šค๊ฐ€ ๋นŒ๋“œ๋˜๋Š” ๋™์•ˆ ์‹œ์ž‘ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mongod๋ฅผ ๋…๋ฆฝํ˜•์œผ๋กœ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ: replication.replSetName์„ ์ œ๊ฑฐ ๋˜๋Š” ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ --replSetName์„ ์ƒ๋žต)mongod ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” ์ˆ˜๋™์œผ๋กœdropped๋  ๋•Œ๊นŒ์ง€ ์ผ์‹œ ์ค‘์ง€๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

mongod๊ฐ€ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ค‘ ์ข…๋ฃŒ๋˜๋ฉด ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ž‘์—…๊ณผ ๋ชจ๋“  ์ง„ํ–‰ ์ƒํ™ฉ์ด ์†์‹ค๋ฉ๋‹ˆ๋‹ค. mongod๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋„ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋Š” ์žฌ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋ ค๋ฉด createIndex() ์ž‘์—…์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MongoDB 5.0๋ถ€ํ„ฐ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ค‘์— ๋…ธ๋“œ๊ฐ€ ์ด์ „ ์ƒํƒœ๋กœ ๋กค๋ฐฑ๋˜๋ฉด ์ธ๋ฑ์Šค ์ž‘์„ฑ ์ง„ํ–‰๋ฅ ์ด ๋””์Šคํฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑ์ด ์™„๋ฃŒ๋  ๋•Œ ์•„์ง ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์ด ๋‚จ์•„ ์žˆ๋‹ค๋ฉด mongod๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ๋ณต๊ตฌํ•˜๊ณ  ์ €์žฅ๋œ ์ฒดํฌํฌ์ธํŠธ์—์„œ๋ถ€ํ„ฐ ๊ณ„์† ์ž‘์—…์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

MongoDB๋Š” ์ง„ํ–‰ ์ค‘์ธ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ผ์‹œ ์ค‘์ง€ํ•˜์—ฌ ๋กค๋ฐฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋กค๋ฐฑ์ด ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ๋˜๋Œ๋ฆฌ์ง€ ์•Š์œผ๋ฉด MongoDB๋Š” ๋กค๋ฐฑ์„ ์™„๋ฃŒํ•œ ํ›„ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  • ๋กค๋ฐฑ์œผ๋กœ ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ๋˜๋Œ๋ ค์ง„ ๊ฒฝ์šฐ์—๋Š” ๋กค๋ฐฑ ์™„๋ฃŒ ํ›„ ์ธ๋ฑ์Šค๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

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

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

config ์„œ๋ฒ„ ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ์ƒค๋”ฉ๋œ ์ปฌ๋ ‰์…˜์˜ ์ƒค๋“œ ๊ฐ„ ์ธ๋ฑ์Šค ๋ถˆ์ผ์น˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฃผ๊ธฐ์  ๊ฒ€์‚ฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด enableShardedIndexConsistencyCheck ๋ฐ shardedIndexConsistencyCheckIntervalMS๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

serverStatus ๋ช…๋ น์€ config ์„œ๋ฒ„ ํ”„๋ผ์ด๋จธ๋ฆฌ์—์„œ ์‹คํ–‰๋  ๋•Œ ์ธ๋ฑ์Šค ๋ถˆ์ผ์น˜๋ฅผ ๋ณด๊ณ ํ•˜๊ธฐ ์œ„ํ•ด shardedIndexConsistency ํ•„๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ƒค๋“œ ์ปฌ๋ ‰์…˜์— ์ธ๋ฑ์Šค๊ฐ€ ์ผ๊ด€๋˜์ง€ ์•Š์€์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์ƒค๋“œ์—์„œ ์ผ๊ด€๋˜์ง€ ์•Š์€ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ธ๋ฑ์Šค ๋นŒ๋“œ ์ž‘์—…์˜ ์ƒํƒœ๋ฅผ ๋ณด๋ ค๋ฉด mongosh์—์„œ db.currentOp() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ์ƒ์„ฑ ์ž‘์—…์— ๋Œ€ํ•œ ํ˜„์žฌ ์ž‘์—…์„ ํ•„ํ„ฐ๋งํ•˜๋ ค๋ฉด ํ™œ์„ฑ ์ธ๋ฑ์‹ฑ ์ž‘์—…์˜ ์˜ˆ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

msg ํ•„๋“œ์—๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์™„๋ฃŒ์œจ ์ธก์ •์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค๊ฐ€ ์ž‘์„ฑ๋˜๋Š” ๋™์•ˆ ์ง„ํ–‰๋ฅ ์ด MongoDB ๋กœ๊ทธ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ค‘์ง€๋˜์—ˆ๋‹ค๊ฐ€ ์žฌ๊ฐœ๋˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•„๋“œ๊ฐ€ ํฌํ•จ๋œ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

"msg":"Index build: wrote resumable state to disk",
"msg":"Found index from unfinished build",

dropIndexes ๋ช…๋ น ๋˜๋Š” ํ•ด๋‹น ์…ธ ํ—ฌํผ dropIndex() ๋˜๋Š” dropIndexes()์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰ ์ค‘์ธ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ง„ํ–‰ ์ค‘์ธ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ค‘์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ณต์ œ ์„ธํŠธ ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ง„ํ–‰ ์ค‘์ธ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด killOp๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ์ธ๋ฑ์Šค ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ ๋‹จ๊ณ„๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ๊ณ„
์„ค๋ช…

์ž ๊ธˆ

mongod๋Š” ์ธ๋ฑ์‹ฑ ์ค‘์ธ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•ด ๋…์ ์ ์ธ X ์ž ๊ธˆ์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ปฌ๋ ‰์…˜์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๋ณต์ œ๋œ ์“ฐ๊ธฐ ์ž‘์—…์ด๋‚˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ช…๋ น์˜ ์ ์šฉ์„ ํฌํ•จํ•˜์—ฌ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์ด ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. mongod๋Š” ์ด ์ž ๊ธˆ์„ ์–‘๋ณดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ดˆ๊ธฐํ™”

mongod๋Š” ์ดˆ๊ธฐ ์ƒํƒœ์—์„œ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์ดˆ๊ธฐ ์ธ๋ฑ์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.

  • ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์ธ๋ฑ์‹ฑ๋˜๋Š” ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์“ฐ๊ธฐ์—์„œ ์ƒ์„ฑ๋œ ํ‚ค๋ฅผ ์ €์žฅํ•˜๋Š” ์ž„์‹œ ํ…Œ์ด๋ธ”('์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ”')์ž…๋‹ˆ๋‹ค.

  • ํ‚ค ์ƒ์„ฑ ์˜ค๋ฅ˜๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ž„์‹œ ํ…Œ์ด๋ธ”('์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ”')์ž…๋‹ˆ๋‹ค. ํ‚ค ์ƒ์„ฑ ์˜ค๋ฅ˜๋Š” ๋ฌธ์„œ์˜ ์ธ๋ฑ์Šค ํ•„๋“œ์— ์ž˜๋ชป๋œ ํ‚ค๊ฐ€ ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ ์œ  ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ ํ•„๋“œ ๊ฐ’์ด ์ค‘๋ณต๋œ ๋ฌธ์„œ ๋˜๋Š”2dsphere ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ ์ž˜๋ชป๋œ GeoJSON ๊ฐ์ฒด๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

์ž ๊ธˆ

mongod์€(๋Š”) ๋…์ ์ ์ธ X ์ปฌ๋ ‰์…˜ ๋ฝ์„ ์ธํ…ํŠธ ๋…์ ์ ์ธ IX ๋ฝ์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. mongod์€(๋Š”) ์ด ์ž ๊ธˆ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์–‘๋ณดํ•˜์—ฌ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ค‘๊ฐ„์— ๋ผ์›Œ ๋„ฃ์Šต๋‹ˆ๋‹ค.

์Šค์บ” ์ปฌ๋ ‰์…˜

์ปฌ๋ ‰์…˜์˜ ๊ฐ ๋ฌธ์„œ์— ๋Œ€ํ•ด mongod๋Š” ํ•ด๋‹น ๋ฌธ์„œ์˜ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น ํ‚ค๋ฅผ ์™ธ๋ถ€ ๋ถ„๋ฅ˜๊ธฐ์— ๋คํ”„ํ•ฉ๋‹ˆ๋‹ค.

mongod๊ฐ€ ์ปฌ๋ ‰์…˜ ์Šค์บ” ์ค‘์— ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋™์•ˆ ํ‚ค ์ƒ์„ฑ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‚˜์ค‘์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋‹น ํ‚ค๋ฅผ ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ”์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ mongod๊ฐ€ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚˜๋ฉด ๋นŒ๋“œ๋Š” ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

mongod ๊ฐ€ ์ปฌ๋ ‰์…˜ ์Šค์บ”์„ ์™„๋ฃŒํ•˜๋ฉด ์ •๋ ฌ๋œ ํ‚ค๋ฅผ ์ธ๋ฑ์Šค์— ๋คํ”„ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค ์ธก ์“ฐ๊ธฐ ํ…Œ์ด๋ธ”

mongod ๋Š” ์„ ์ž…์„ ์ถœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ”์„ ๋น„์›๋‹ˆ๋‹ค.

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

ํ‚ค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ mongod์— ๋‹ค๋ฅธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋นŒ๋“œ๊ฐ€ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

mongod๋Š” ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์ปฌ๋ ‰์…˜์— ๊ธฐ๋ก๋œ ๋ฌธ์„œ๋งˆ๋‹ค ํ•ด๋‹น ๋ฌธ์„œ์˜ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‚˜์ค‘์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์‚ฌ์ด๋“œ ์“ฐ๊ธฐ (write) ํ…Œ์ด๋ธ”์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. mongod๋Š” ์Šค๋ƒ…์ƒท ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ํ‚ค ์ˆ˜์˜ ์ œํ•œ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

ํˆฌํ‘œํ•˜๊ณ  ์ฟผ๋Ÿผ ์ปค๋ฐ‹ ๋Œ€๊ธฐ

๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ mongod๊ฐ€ ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

mongod๋Š” 'ํˆฌํ‘œ'๋ฅผ ํ”„๋ผ์ด๋จธ๋ฆฌ์—๊ฒŒ ์ œ์ถœํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•˜์ž๋ฉด 'ํˆฌํ‘œ'๋ฅผ ํ”„๋ผ์ด๋จธ๋ฆฌ ์ปฌ๋ ‰์…˜์˜ ๋‚ด๋ถ€ ๋ณต์ œ ์ปฌ๋ ‰์…˜์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

mongod๊ฐ€ ํ”„๋ผ์ด๋จธ๋ฆฌ์ธ ๊ฒฝ์šฐ ์ปค๋ฐ‹ ์ •์กฑ์ˆ˜(๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณด์œ  ํˆฌํ‘œ ๋ฉค๋ฒ„)๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ์ธ๋ฑ์Šค ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†ํ•˜๊ธฐ ์ „์— ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

mongod๊ฐ€ ์„ธ์ปจ๋”๋ฆฌํ•ญ๋ชฉ์ธ ๊ฒฝ์šฐ 'commitIndexBuild' ๋˜๋Š” 'abortIndexBuild' oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

  • mongod๊ฐ€ 'commitIndexBuild' oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•˜๋ฉด ์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ”์„ ๋ฐฐ์ถœํ•˜๊ณ  ์ธ๋ฑ์Šค ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์˜ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  • mongod๊ฐ€ 'AbortIndexBuild' oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•˜๋ฉด ์ธ๋ฑ์Šค ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜๊ณ  ๋นŒ๋“œ ์ž‘์—…์ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

์ปค๋ฐ‹ ์ฟผ๋Ÿผ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ mongod๋Š” ์“ฐ๊ธฐ ์ž‘์—…์—์„œ ์ƒ์„ฑ๋œ ๋ชจ๋“  ์ถ”๊ฐ€ ํ‚ค๋ฅผ ์ธ๋ฑ์‹ฑ ์ค‘์ธ ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•˜๊ณ  ์ฃผ๊ธฐ์ ์œผ๋กœ ํ…Œ์ด๋ธ”์„ ๋น„์›๋‹ˆ๋‹ค.

์ž ๊ธˆ

mongod๋Š” ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ์ธํ…ํŠธ ๋…์ ์ ์ธ IX ๋ฝ์„ ๊ณต์œ  S ๋ฝ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ปฌ๋ ‰์…˜์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๋ณต์ œ๋œ ์“ฐ๊ธฐ ์ž‘์—…์ด๋‚˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ช…๋ น์˜ ์ ์šฉ์„ ํฌํ•จํ•˜์—ฌ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์“ฐ๊ธฐ ์ž‘์—…์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

์ž„์‹œ ์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ” ์ฒ˜๋ฆฌ ์™„๋ฃŒ

mongod์€(๋Š”) ์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ”์˜ ๋‚˜๋จธ์ง€ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ณ„์† ๋ฐฐ์ถœํ•ฉ๋‹ˆ๋‹ค. mongod์€(๋Š”) ์ด ๋‹จ๊ณ„์—์„œ ๋ณต์ œ๋ฅผ ์ผ์‹œ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํ‚ค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ mongod์— ๋‹ค๋ฅธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋นŒ๋“œ๊ฐ€ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์ž ๊ธˆ

mongod๋Š” ์ปฌ๋ ‰์…˜์˜ ๊ณต์œ  S ์ž ๊ธˆ์„ ๋…์ ์ ์ธ X ์ž ๊ธˆ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ปฌ๋ ‰์…˜์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๋ณต์ œ๋œ ์“ฐ๊ธฐ ์ž‘์—…์ด๋‚˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ช…๋ น์˜ ์ ์šฉ์„ ํฌํ•จํ•˜์—ฌ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. mongod๋Š” ์ด ์ž ๊ธˆ์„ ์–‘๋ณดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ” ์ œ๊ฑฐ

mongod๋Š” ์ œ๊ฑฐํ•˜๊ธฐ ์ „์— ์‚ฌ์ด๋“œ ์“ฐ๊ธฐ ํ…Œ์ด๋ธ”์˜ ๋‚˜๋จธ์ง€ ์ž‘์—…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

ํ‚ค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ mongod์— ๋‹ค๋ฅธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋นŒ๋“œ๊ฐ€ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์ด ์ง€์ ์—์„œ ์ธ๋ฑ์Šค์—๋Š” ์ปฌ๋ ‰์…˜์— ๊ธฐ๋ก๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ” ์ฒ˜๋ฆฌ

mongod๊ฐ€ ํ”„๋ผ์ด๋จธ๋ฆฌ์ธ ๊ฒฝ์šฐ ์„ ์ž…์„ ์ถœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ”์„ ๋น„์›๋‹ˆ๋‹ค.

  • ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ”์— ํ‚ค ์ƒ์„ฑ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ํ‚ค๊ฐ€ ์—†๊ฑฐ๋‚˜ ํ…Œ์ด๋ธ”์ด ๋น„์–ด ์žˆ๋Š” ๊ฒฝ์šฐ mongod ๋Š” ํ…Œ์ด๋ธ”์„ ์ œ๊ฑฐํ•˜๊ณ  'commitIndexBuild' oplog ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์„ธ์ปจ๋”๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” oplog ํ•ญ๋ชฉ์„ ๋ณต์ œํ•œ ํ›„ ๊ด€๋ จ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ”์˜ ํ‚ค๊ฐ€ ์—ฌ์ „ํžˆ ํ‚ค ์ƒ์„ฑ ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ mongod๋Š” ๋นŒ๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. mongod๋Š” ์„ธ์ปจ๋”๋ฆฌ๊ฐ€ ์ธ๋ฑ์Šค ๋นŒ๋“œ ์ž‘์—…์„ ์ค‘๋‹จํ•˜๊ณ  ํ๊ธฐํ•ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋‚ด๋Š” 'abortIndexBuild' oplog ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

mongod๊ฐ€ ์„ธ์ปจ๋”๋ฆฌ์ธ ๊ฒฝ์šฐ ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ”์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ 'commitOplogEntry' oplog ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•˜๊ธฐ ์ „์— ์ œ์•ฝ ์กฐ๊ฑด ์œ„๋ฐ˜ ํ…Œ์ด๋ธ”์„ ๋ฐ˜๋“œ์‹œ ์„ฑ๊ณต์ ์œผ๋กœ ๋น„์›Œ์•ผ ํ•˜๋ฏ€๋กœ ์„ธ์ปจ๋”๋ฆฌ ๋…ธ๋“œ์—์„œ๋Š” ์œ„๋ฐ˜์ด ์—†๋‹ค๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค์„ ์ค€๋น„๋จ์œผ๋กœ ํ‘œ์‹œ

mongod๋Š” ์ธ๋ฑ์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž ๊ธˆ

mongod๋Š” ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ X ์ž ๊ธˆ์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

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