Docs Menu

์กฐํšŒ์ˆ˜

MongoDB ๋ทฐ๋Š” ๋‹ค๋ฅธ ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ทฐ์˜ ์ง‘๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ์— ์˜ํ•ด ๋‚ด์šฉ์ด ์ •์˜๋˜๋Š” ์ฝ๊ธฐ ์ „์šฉ ์ฟผ๋ฆฌ ๊ฐ€๋Šฅ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

MongoDB๋Š” view ์ฝ˜ํ…์ธ ๋ฅผ ๋””์Šคํฌ์— ๋ณด์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. view ์ฝ˜ํ…์ธ ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ view๋ฅผ ์ฟผ๋ฆฌํ•  ๋•Œ ์˜จ๋””๋งจ๋“œ ๋ฐฉ์‹์œผ๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ 

๋ช…ํ™•ํ™”

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ํ‘œ์ค€ ๋ทฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์˜จ๋””๋งจ๋“œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์˜จ๋””๋งจ๋“œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ทฐ ์œ ํ˜• ๊ฐ„์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•˜๋ ค๋ฉด ์˜จ๋””๋งจ๋“œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์™€์˜ ๋น„๊ต๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

MongoDB Atlas์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด UI์—์„œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด(Personally Identifiable Information, PII)๋ฅผ ์ œ์™ธํ•˜๊ธฐ ์œ„ํ•ด ์ง์› ๋ฐ์ดํ„ฐ collection์— ๋Œ€ํ•œ view๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. PII๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ ์ง์› ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ทฐ๋ฅผ ์‚ฌ์šฉ์ž์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„ผ์„œ ๋ฐ์ดํ„ฐ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ณด๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด ๊ณ„์‚ฐ๋œ ํ•„๋“œ์™€ ๋ฉ”ํŠธ๋ฆญ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ find operations๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์žฌ๊ณ  ๋ฐ ์ฃผ๋ฌธ ๋‚ด์—ญ์ด ํฌํ•จ๋œ ๋‘ ์ปฌ๋ ‰์…˜์„ ์กฐ์ธํ•˜๋Š” ๋ทฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ธฐ๋ณธ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ์ดํ•ดํ•˜์ง€ ์•Š๊ณ ๋„ ๋ทฐ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ทฐ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋ ค๋ฉด ๋‹ค์Œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

MongoDB๋Š” ํ‘œ์ค€ ๋ทฐ์™€ ์˜จ๋””๋งจ๋“œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์˜ ๋‘ ๊ฐ€์ง€ ๋ทฐ ์œ ํ˜•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ทฐ ์œ ํ˜• ๋ชจ๋‘ ์ง‘๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ํ‘œ์ค€ ๋ทฐ๋Š” ๋ทฐ๋ฅผ ์ฝ์„ ๋•Œ ๊ณ„์‚ฐ๋˜๋ฉฐ ๋””์Šคํฌ์— ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์˜จ๋””๋งจ๋“œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋Š” ๋””์Šคํฌ์— ์ €์žฅ๋˜๊ณ  ๋””์Šคํฌ์—์„œ ์ฝํ˜€์ง‘๋‹ˆ๋‹ค. $merge ๋˜๋Š” $out ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

    ์ฐธ๊ณ 

    $merge ์‚ฌ์šฉ ์‹œ ๋ณ€๊ฒฝ ์ŠคํŠธ๋ฆผ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. $out ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ด€์ฐฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ‘œ์ค€ ๋ทฐ๋Š” ๊ธฐ๋ณธ ์ปฌ๋ ‰์…˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ‘œ์ค€ ๋ทฐ์—์„œ ์ง์ ‘ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑ, ์ œ๊ฑฐ ๋˜๋Š” ๋‹ค์‹œ ์ž‘์„ฑํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋ทฐ์—์„œ ์ธ๋ฑ์Šค ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค๊ฐ€ ๋””์Šคํฌ์— ์ €์žฅ๋˜๋ฏ€๋กœ ์˜จ๋””๋งจ๋“œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์—์„œ ์ง์ ‘ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜จ๋””๋งจ๋“œ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋Š” ์ฟผ๋ฆฌ์˜ ์ผ๋ถ€๋กœ ๊ณ„์‚ฐ๋˜์ง€ ์•Š๊ณ  ๋””์Šคํฌ์—์„œ ์ฝ๊ธฐ ๋•Œ๋ฌธ์— ํ‘œ์ค€ ๋ทฐ๋ณด๋‹ค ์ฝ๊ธฐ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋ณต์žก์„ฑ๊ณผ ์ง‘๊ณ„๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์ด๋Ÿฌํ•œ ์„ฑ๋Šฅ ์ด์ ์ด ๋” ์ปค์ง‘๋‹ˆ๋‹ค.

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” view์™€ ๊ด€๋ จ๋œ ๋™์ž‘์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ณด๊ธฐ๋Š” ์ฝ๊ธฐ ์ „์šฉ์ž…๋‹ˆ๋‹ค. ๋ทฐ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์ž‘์—…์€ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋ณด๊ธฐ๋Š” ์ปฌ๋ ‰์…˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํŠน์ • ์‹œ์  ๋˜๋Š” ์Šค๋ƒ…์ƒท ์ฝ๊ธฐ ๊ฒฉ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ทฐ์˜ ์ง‘๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ์—๋Š” ์ฐจ๋‹จ ์ •๋ ฌ ๋ฐ ๊ทธ๋ฃน ์ž‘์—… ์ž๋‹จ์— ๋Œ€ํ•œ 100 MB ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

MongoDB 6.0๋ถ€ํ„ฐ๋Š” ์‹คํ–‰์— 100๋ฉ”๊ฐ€๋ฐ”์ดํŠธ ์ด์ƒ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž„์‹œ ํŒŒ์ผ์„ ๋””์Šคํฌ์— ์”๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž„์‹œ ํŒŒ์ผ์€ ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰ ๊ธฐ๊ฐ„ ๋™์•ˆ ์ง€์†๋˜๋ฉฐ ์ธ์Šคํ„ด์Šค์˜ ์Šคํ† ๋ฆฌ์ง€ ๊ณต๊ฐ„์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MongoDB์˜ ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์ด ๋™์ž‘์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๊ฐœ๋ณ„ find ๋ฐ aggregate ๋ช…๋ น์— { allowDiskUse: true }์„(๋ฅผ) ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ณ„ find ๋ฐ aggregate ๋ช…๋ น์€ ๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ํ†ตํ•ด allowDiskUseByDefault ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • 1}์ด ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์‹œ ํŒŒ์ผ์„ ๋””์Šคํฌ์— ์“ฐ๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.{ allowDiskUse: true } allowDiskUseByDefault false

  • 1}์ด ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์‹œ ํŒŒ์ผ์„ ๋””์Šคํฌ์— ์“ฐ๋Š” ๊ฒƒ์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค.{ allowDiskUse: false } allowDiskUseByDefault true

์ฐธ๊ณ 

MongoDB Atlas ์˜ ๊ฒฝ์šฐ, ์žฅ๊ธฐ ์‹คํ–‰ ์ฟผ๋ฆฌ๊ฐ€ ์ €์žฅ ๋ฅผ ์ž„์‹œ ํŒŒ์ผ๋กœ ์ฑ„์šฐ์ง€ ์•Š๋„๋ก ์ €์žฅ ์ž๋™ ํ™•์žฅ ์„ ๊ตฌ์„ฑ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Atlas cluster ๊ฐ€ ์ €์žฅ ์ž๋™ ํ™•์žฅ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ž„์‹œ ํŒŒ์ผ๋กœ ์ธํ•ด ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ€ ๋‹ค์Œ ์ €์žฅ ๊ณ„์ธต ์œผ๋กœ ํ™•์žฅํ•˜๋‹ค ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Time series ์ปฌ๋ ‰์…˜ ์€ ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ๋น„์‹ค์ฒดํ™” ๋ทฐ์ž…๋‹ˆ๋‹ค. time series ์ปฌ๋ ‰์…˜์—๋Š” ๋ณด๊ธฐ ์ œํ•œ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Time Series ์ˆ˜์ง‘ ์ œํ•œ์„์ฐธ์กฐํ•˜์„ธ์š”.

  • time-series ์ปฌ๋ ‰์…˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(์ฆ‰, system.buckets ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์€ ์ปฌ๋ ‰์…˜)์—์„œ๋Š” ๋ทฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

system.profile์ด๋ผ๋Š” ์ด๋ฆ„์˜ time series ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ทฐ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€ ๋งˆ์„ธ์š”. MongoDB 6.3 ์ด์ƒ ๋ฒ„์ „์—์„œ ์ด๋ฅผ ์‹œ๋„ํ•˜๋Š” ๊ฒฝ์šฐ IllegalOperation ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ด์ „ MongoDB ๋ฒ„์ „์€ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ์„œ๋ฒ„ ์—์„œ ์ธ์ฆ ์„ ์‹œํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ:

  • ๋ทฐ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋ทฐ๊ฐ€ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์— ๋Œ€ํ•œ ๊ถŒํ•œ ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.createCollection ๋˜ํ•œ ์ƒ์„ฑํ•˜๋ ค๋Š” ๋ทฐ์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์— ๋Œ€ํ•œ ๊ถŒํ•œ ์ด ์žˆ๋Š” find ๊ฒฝ์šฐ find ๋‹ค์Œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ ๋„ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • ์ƒˆ ๋ทฐ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์†Œ์Šค ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ทฐ์ž…๋‹ˆ๋‹ค.

    • ๋ทฐ ํŒŒ์ดํ”„๋ผ์ธ ์—์„œ์ฐธ์กฐ๋˜๋Š” ๋ชจ๋“  ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ทฐ์ž…๋‹ˆ๋‹ค.

  • ๋ทฐ๋ฅผ ์ฟผ๋ฆฌ ํ•˜๋ ค๋ฉด ๋ทฐ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์— ๋Œ€ํ•œ find ๊ถŒํ•œ ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ทฐ ํŒŒ์ดํ”„๋ผ์ธ ์—์„œ ์ฐธ์กฐ๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ find ๊ถŒํ•œ ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

readWrite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์žฅ ์—ญํ•  ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋‚˜์—ด๋œ ์ž‘์—…์„ ์‹คํ–‰ ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.