๋ฌธ์ ํ โ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ โ MongoDB ๋งค๋ด์ผ
Realm ๋ฐ์ดํฐ ๋ชจ๋ธ ์ค๊ณ
์ด ํ์ด์ง์ ๋ด์ฉ
ํจ๊ณผ์ ์ธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ ์ฌํญ์ ์ง์ํฉ๋๋ค. ๋ฌธ์ ๊ตฌ์กฐ์ ๋ํ ์ฃผ์ ๊ณ ๋ ค ์ฌํญ์ ๋ฅผํฌํจ ํ ์ง ๋๋ ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ ๋๋ค.
์๋ฒ ๋๋ ๋ฐ์ดํฐ ๋ชจ๋ธ
MongoDB๋ฅผ ์ฌ์ฉํ๋ฉด ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ๋จ์ผ ๊ตฌ์กฐ ๋๋ ๋ฌธ์์ ํฌํจํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์คํค๋ง๋ ์ผ๋ฐ์ ์ผ๋ก '๋น์ ๊ทํ๋' ๋ชจ๋ธ๋ก ์๋ ค์ ธ ์์ผ๋ฉฐ MongoDB์ ํ๋ถํ ๋ฌธ์๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. ๋ค์ ๋ค์ด์ด๊ทธ๋จ์ ์ดํด๋ณด์ธ์.
์๋ฒ ๋๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ด๋ จ ์ ๋ณด๋ฅผ ๋์ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ์ฝ๋์ ์ ์ฅํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ฐ์ ์ธ ์์ ์ ์๋ฃํ๊ธฐ ์ํด ๋ ์ ์ ์์ ์ฟผ๋ฆฌ์ ์ ๋ฐ์ดํธ๋ฅผ ์คํํด์ผ ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก Realm ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
์ํฐํฐ ๊ฐ์ 'ํฌํจ' ๊ด๊ณ๊ฐ ์์ต๋๋ค. ๋ด์ฅ๋ ๋ฌธ์๋ฅผ ํตํ ์ผ๋์ผ ๊ด๊ณ ๋ชจ๋ธ๋ง์ ์ฐธ์กฐํ์ธ์.
์ํฐํฐ ๊ฐ์ ์ผ๋๋ค ๊ด๊ณ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๊ด๊ณ์์ '๋ค์' ๋๋ ํ์ ๋ฌธ์๋ ํญ์ 'ํ๋' ๋๋ ์์ ๋ฌธ์์ ํจ๊ป ํ์๋๊ฑฐ๋ ํด๋น ์ปจํ ์คํธ์์ ํ์๋ฉ๋๋ค.๋ด์ฅ๋ ๋ฌธ์๋ฅผ ํตํ ์ผ๋๋ค ๊ด๊ณ ๋ชจ๋ธ๋ง์ ์ฐธ์กฐํ์ธ์.
์ผ๋ฐ์ ์ผ๋ก ์๋ฒ ๋ฉ์ ์ฌ์ฉํ๋ฉด ์ฝ๊ธฐ ์์ ์ ์ฑ๋ฅ์ด ํฅ์๋ ๋ฟ๋ง ์๋๋ผ ํ ๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ผ๋ก ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ์กฐํํ ์ ์์ต๋๋ค. ์๋ฒ ๋๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์์๋ ์์์ฑ ์ฐ๊ธฐ ์์ ํ ๋ฒ์ผ๋ก ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
๋ด์ฅ๋ ๋ฌธ์ ๋ด์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ค๋ฉด ์ ํ๊ธฐ๋ฒ ์ ์ฌ์ฉํ์ฌ ๋ด์ฅ๋ ๋ฌธ์์ '๋ฒ์'๋ฅผ ์ ๋ ฅํฉ๋๋ค. ๋ฐฐ์ด ๋ฐ ๋ด์ฅ๋ ๋ฌธ์์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ ๋ง์ ์์ ๋ ๋ฐฐ์ด์ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ๋ฐ ๋ด์ฅ๋ ๋ฌธ์ ์ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋ฒ ๋๋ Realm ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฐ ๋ฌธ์ ํฌ๊ธฐ ์ ํ
MongoDB์ ๋ฌธ์๋ ์ต๋ BSON ๋ฌธ์ ํฌ๊ธฐ๋ณด๋ค ์์์ผ ํฉ๋๋ค.
๋๋ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ GridFS๋ฅผ ๊ณ ๋ คํ์ธ์.
์ ๊ทํ๋ Realm ๋ฐ์ดํฐ ๋ชจ๋ธ
์ ๊ทํ๋ Realm ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฌธ์ ๊ฐ์ ์ฐธ๊ณ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๊ณ๋ฅผ ์ค๋ช ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ ๊ทํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค.
์๋ฒ ๋ฉ์ผ๋ก ์ธํด ๋ฐ์ดํฐ ์ค๋ณต์ด ๋ฐ์ํ์ง๋ง ์ค๋ณต์ผ๋ก ์ธํ ์ํฅ์ ๋ฅ๊ฐํ ๋งํผ ์ถฉ๋ถํ ์ฝ๊ธฐ ์ฑ๋ฅ ์ด์ ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
๋ ๋ณต์กํ ๋ค๋๋ค ๊ด๊ณ๋ฅผ ํํํฉ๋๋ค.
๋๊ท๋ชจ ๊ณ์ธต์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ชจ๋ธ๋งํฉ๋๋ค.
์ปฌ๋ ์ ์ ์กฐ์ธํ๊ธฐ ์ํด MongoDB๋ ์ง๊ณ ๋จ๊ณ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ณตํฉ๋๋ค.
$lookup
(MongoDB 3.2๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)$graphLookup
(MongoDB 4.2๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ)
MongoDB๋ ๋ํ ์ปฌ๋ ์ ์ ์ฒด์ ๊ฑธ์ณ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ๋ ์ฐธ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ ๊ทํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ ๋ฌธ์ ์ฐธ์กฐ๋ฅผ ํตํ ์ผ๋๋ค ๊ด๊ณ ๋ชจ๋ธ๋ง์ ์ฐธ์กฐํ์ธ์.
๋ค์ํ ํธ๋ฆฌ ๋ชจ๋ธ์ ์๋ ํธ๋ฆฌ ๊ตฌ์กฐ ๋ชจ๋ธ๋ง์ ์ฐธ์กฐํ์ธ์.
์ถ๊ฐ ์ฝ๊ธฐ
MongoDB๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๋ํ ์์ธํ ๋ด์ฉ์ MongoDB ์ ํ๋ฆฌ์ผ์ด์ ํ๋ํ ๊ฐ์ด๋ ๋ฅผ ๋ค์ด๋ก๋ํ์ธ์.
๋ค์๊ณผ ๊ฐ์ ๋ฆฌ์์ค๊ฐ ๋ค์ด๋ก๋์ ํฌํจ๋ฉ๋๋ค.
MongoDB๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ๋ก ์ ๋ํ ํ๋ ์ ํ ์ด์
RDBMS ๋ฐ์ดํฐ ๋ชจ๋ธ์์ MongoDB๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๊ธฐ ์ํ ๋ชจ๋ฒ ์ฌ๋ก์ ๊ณ ๋ ค ์ฌํญ์ ๋ค๋ฃฌ ๋ฐฑ์
RDBMS์ ํด๋นํ๋ MongoDB ์คํค๋ง ์ฐธ์กฐ
์ ํ๋ฆฌ์ผ์ด์ ํ๋ํ ์ค์ฝ์ด์นด๋