์กฐํ์
์ด ํ์ด์ง์ ๋ด์ฉ
MongoDB ๋ทฐ๋ ๋ค๋ฅธ ์ปฌ๋ ์ ๋๋ ๋ทฐ์ ์ง๊ณ ํ์ดํ๋ผ์ธ์ ์ํด ๋ด์ฉ์ด ์ ์๋๋ ์ฝ๊ธฐ ์ ์ฉ ์ฟผ๋ฆฌ ๊ฐ๋ฅ ๊ฐ์ฒด์ ๋๋ค.
MongoDB๋ view ์ฝํ ์ธ ๋ฅผ ๋์คํฌ์ ๋ณด์กดํ์ง ์์ต๋๋ค. view ์ฝํ ์ธ ๋ ํด๋ผ์ด์ธํธ๊ฐ view๋ฅผ ์ฟผ๋ฆฌํ ๋ ์จ๋๋งจ๋ ๋ฐฉ์์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค.
์ฐธ๊ณ
๋ช ํํ
์ด ํ์ด์ง์์๋ ํ์ค ๋ทฐ์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ์ ๋ํ ์ค๋ช ์ ์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ทฐ ์ ํ ๊ฐ์ ์ฐจ์ด์ ์ ์ดํดํ๋ ค๋ฉด ์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ์์ ๋น๊ต๋ฅผ ์ฐธ์กฐํ์ธ์.
MongoDB Atlas์์ ํธ์คํ ๋๋ ๋ฐฐํฌ๋ฅผ ์ํด UI์์ ๊ตฌ์ฒดํ๋ ๋ทฐ๋ฅผ ์์ฑ ํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก
๋ทฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
๊ฐ์ธ ์๋ณ ์ ๋ณด(Personally Identifiable Information, PII)๋ฅผ ์ ์ธํ๊ธฐ ์ํด ์ง์ ๋ฐ์ดํฐ collection์ ๋ํ view๋ฅผ ์์ฑํฉ๋๋ค. PII๊ฐ ํฌํจ๋์ง ์์ ์ง์ ๋ฐ์ดํฐ์ ๋ํ ๋ทฐ๋ฅผ ์ฌ์ฉ์์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
์ผ์ ๋ฐ์ดํฐ ์ปฌ๋ ์ ์ ๋ํ ๋ณด๊ธฐ๋ฅผ ๋ง๋ค์ด ๊ณ์ฐ๋ ํ๋์ ๋ฉํธ๋ฆญ์ ์ถ๊ฐํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์์
find operations
๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.์ฌ๊ณ ๋ฐ ์ฃผ๋ฌธ ๋ด์ญ์ด ํฌํจ๋ ๋ ์ปฌ๋ ์ ์ ์กฐ์ธํ๋ ๋ทฐ๋ฅผ ์์ฑํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ํ์ดํ๋ผ์ธ์ ๊ด๋ฆฌํ๊ฑฐ๋ ์ดํดํ์ง ์๊ณ ๋ ๋ทฐ๋ฅผ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
๋ทฐ ๋ง๋ค๊ธฐ ๋ฐ ๊ด๋ฆฌ
๋ทฐ๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด ๋ค์ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ์ธ์.
์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ ๋น๊ต
MongoDB๋ ํ์ค ๋ทฐ์ ์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ์ ๋ ๊ฐ์ง ๋ทฐ ์ ํ์ ์ ๊ณตํฉ๋๋ค. ๋ ๋ทฐ ์ ํ ๋ชจ๋ ์ง๊ณ ํ์ดํ๋ผ์ธ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
ํ์ค ๋ทฐ๋ ๋ทฐ๋ฅผ ์ฝ์ ๋ ๊ณ์ฐ๋๋ฉฐ ๋์คํฌ์ ์ ์ฅ๋์ง ์์ต๋๋ค.
์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ๋ ๋์คํฌ์ ์ ์ฅ๋๊ณ ๋์คํฌ์์ ์ฝํ์ง๋๋ค.
$merge
๋๋$out
๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.์ฐธ๊ณ
$merge
์ฌ์ฉ ์ ๋ณ๊ฒฝ ์คํธ๋ฆผ ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฒดํ๋ ๋ทฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํ ์ ์์ต๋๋ค.$out
์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ตฌ์ฒดํ๋ ๋ทฐ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ด์ฐฐํ ์ ์์ต๋๋ค.
Indexes
ํ์ค ๋ทฐ๋ ๊ธฐ๋ณธ ์ปฌ๋ ์ ์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ํ์ค ๋ทฐ์์ ์ง์ ์ธ๋ฑ์ค๋ฅผ ์์ฑ, ์ ๊ฑฐ ๋๋ ๋ค์ ์์ฑํ ์ ์์ผ๋ฉฐ ๋ทฐ์์ ์ธ๋ฑ์ค ๋ชฉ๋ก์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์ธ๋ฑ์ค๊ฐ ๋์คํฌ์ ์ ์ฅ๋๋ฏ๋ก ์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ์์ ์ง์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์ฑ๋ฅ
์จ๋๋งจ๋ ๊ตฌ์ฒดํ๋ ๋ทฐ๋ ์ฟผ๋ฆฌ์ ์ผ๋ถ๋ก ๊ณ์ฐ๋์ง ์๊ณ ๋์คํฌ์์ ์ฝ๊ธฐ ๋๋ฌธ์ ํ์ค ๋ทฐ๋ณด๋ค ์ฝ๊ธฐ ์ฑ๋ฅ์ด ๋ฐ์ด๋ฉ๋๋ค. ํ์ดํ๋ผ์ธ์ ๋ณต์ก์ฑ๊ณผ ์ง๊ณ๋๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ์ด๋ฌํ ์ฑ๋ฅ ์ด์ ์ด ๋ ์ปค์ง๋๋ค.
ํ๋
๋ค์ ์น์ ์์๋ 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 ์์ง ์ ํ์์ฐธ์กฐํ์ธ์.
time-series ์ปฌ๋ ์ ๋ค์์คํ์ด์ค(์ฆ,
system.buckets
์ ๋์ฌ๊ฐ ๋ถ์ ์ปฌ๋ ์ )์์๋ ๋ทฐ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๊ฒฝ๊ณ
system.profile
์ด๋ผ๋ ์ด๋ฆ์ time series ์ปฌ๋ ์
๋๋ ๋ทฐ๋ฅผ ๋ง๋ค๋ ค๊ณ ์๋ํ์ง ๋ง์ธ์. MongoDB 6.3 ์ด์ ๋ฒ์ ์์ ์ด๋ฅผ ์๋ํ๋ ๊ฒฝ์ฐ IllegalOperation
์ค๋ฅ๊ฐ ๋ฐํ๋ฉ๋๋ค. ์ด์ MongoDB ๋ฒ์ ์ ์ถฉ๋ํฉ๋๋ค.
์ก์ธ์ค ์ ์ด
๋ฐฐํฌ์๋ฒ ์์ ์ธ์ฆ ์ ์ํํ๋ ๊ฒฝ์ฐ:
๋ทฐ๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ทฐ๊ฐ ์์ฑ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ํ ๊ถํ ์ด ์์ด์ผ ํฉ๋๋ค.
createCollection
๋ํ ์์ฑํ๋ ค๋ ๋ทฐ์ ๋ค์์คํ์ด์ค ์ ๋ํ ๊ถํ ์ด ์๋find
๊ฒฝ์ฐfind
๋ค์ ๋ฆฌ์์ค์ ๋ํ ๊ถํ ๋ ์์ด์ผ ํฉ๋๋ค.์ ๋ทฐ๊ฐ ์์ฑ๋๋ ์์ค ์ปฌ๋ ์ ๋๋ ๋ทฐ์ ๋๋ค.
๋ทฐ ํ์ดํ๋ผ์ธ ์์์ฐธ์กฐ๋๋ ๋ชจ๋ ์ปฌ๋ ์ ๋๋ ๋ทฐ์ ๋๋ค.
๋ทฐ๋ฅผ ์ฟผ๋ฆฌ ํ๋ ค๋ฉด ๋ทฐ ๋ค์์คํ์ด์ค ์ ๋ํ
find
๊ถํ ์ด ์์ด์ผ ํฉ๋๋ค. ์์ค ์ปฌ๋ ์ ๋๋ ๋ทฐ ํ์ดํ๋ผ์ธ ์์ ์ฐธ์กฐ๋ ๋ค์์คํ์ด์ค์ ๋ํfind
๊ถํ ์ ํ์ํ์ง ์์ต๋๋ค.
readWrite
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ฅ ์ญํ ์ด ์๋ ์ฌ์ฉ์์๊ฒ๋ ๋์ด๋ ์์
์ ์คํ ํ๋ ๋ฐ ํ์ํ ๊ถํ์ด ์์ต๋๋ค. ํ์ํ ๊ถํ์ ๋ถ์ฌํ๋ ค๋ฉด ๋ค์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
ํ์ํ ์ญํ ์ ๊ฐ์ง์ฌ์ฉ์๋ฅผ ๋ง๋ญ๋๋ค.