๐ฌ ๋น๊ด๊ณํ database์ธ mongoDB์ ๋ํด ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. ๊ธฐ์กด์ mongoDB๋ฅผ ํตํด ๊ฐ๋จํ CRUD๋ฅผ ๊ตฌํํด ๋ณด๊ธด ํ์ง๋ง ์๋ฌด๊ฒ๋ ๋ชจ๋ฅผ ๋ ํด๋ณธ ๊ฑฐ๋ผ ์ ํํ ๊ฐ๋ ์ ์์ง๋ ๋ชปํ๋ค. ์ผ๋จ์ ๊ฐ๋ ์ ์ธ ๋ถ๋ถ์ ๋ํด ํฌ์คํ ํด๋ณด๊ณ ์ถ๊ฐ์ ์ธ ์ฌํญ์ผ๋ก ์ค์ตํ ์ฝ๋๋ ๋ณต๊ธฐํด ๋ณด๊ฒ ๋ค.
MongoDB๋ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. NoSQL์ ๋งค์ฐ ๋์ ๋ฒ์์์ ์ฌ์ฉํ๋ ์ฉ์ด๋ก, ๊ด๊ณํ ํ ์ด๋ธ์ ๋ ๊ฑฐ์ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ง ์๋ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ๋งํฉ๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋ฐ์ดํฐ๋ฅผ ํ๊ณผ ์ด์ด ์๋, ์ฒด๊ณ์ ์ธ ๋ฐฉ์์ผ๋ก ์ ์ฅํฉ๋๋ค. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋์ ์นด๋ ๋ชฉ๋กํจ์์ MongoDB ๊ฐ์ ๋ณด๋ค ์ ๊ตํ ๋ฐ์ดํฐ ์ ์ฅ์์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ๊ฐ๋ ์ ๋ปํฉ๋๋ค. ๋ฐ๋ผ์ NoSQL์ด ์๋ฏธํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฒ์๊ฐ ๋๋ฌด ๋๊ธฐ ๋๋ฌธ์, ์ ์๋ฅผ ์ข ๋ ์ขํ ์ดํดํ๊ฒ ์ต๋๋ค.
์์์ ์ธ๊ธํ๋ฏ์ด, MongoDB๋ NoSQL ๋ํ๋จผํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค. MongoDB๋ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋จผํธ์ ํํ๋ก ์ ์ฅํฉ๋๋ค.
๋ํ๋จผํธ๋ ์ปฌ๋ ์
์ ์ ์ฅ๋๋ฉฐ, ์ด๊ฒ์ด MongoDB๊ฐ NoSQL ๋ํ๋จผํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ถ๋ฅ๋๋ ์ด์ ์
๋๋ค.
์ ๋ฆฌํ์๋ฉด, MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ NoSQL ๋ํ๋จผํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค.
๋ํ๋จผํธ์ ๋ํ ๋ด์ฉ์ ์ด์ด์ง๋ ์ฝํ
์ธ ์์ ์์ธํ ๋ค๋ฃน๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณ์ ์ค์ ์ ๋ SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ณด๋ค ์์ ๋ก์ด ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ผ๋ฏ๋ก ํ์์ ๋ฐ๋ผ์ ์๋ก์ด ๋ฐ์ดํฐ ์ ํ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ ํํ๋์ง ์์ ๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ, NoSQL์ด ํจ์จ์ ์ผ ์ ์์ต๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๊ฒ ๋ถ๋ฆฌํ ์ ์๋๋ก ์ง์ํ์ฌ, ์ ์ฅ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์์คํ ์ด ์ปค์ง๋ฉด์ DB๋ฅผ ์ฆ์คํด์ผ ํ๋ ์์ ์ด ์ค๋ฉด, SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ์์ง์ ํ์ฅ์ ํํ๋ก DB๋ฅผ ์ฆ์คํฉ๋๋ค. ์์ง์ ์ผ๋ก ํ์ฅ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์์ง ์ ์๋ ๋ฐ์ ๋ฐํด, NoSQL์ ์ํ์ ํ์ฅ์ ํํ๋ก ์ฆ์คํ๋ฏ๋ก, ์ด๋ก ์ ๋ฌดํ๋๋ก ์๋ฒ๋ฅผ ๊ณ์ ๋ถ์ฐ์์ผ DB๋ฅผ ์ฆ์คํ ์ ์์ต๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ ์คํค๋ง๋ฅผ ๋ฏธ๋ฆฌ ์ค๋นํ ํ์๊ฐ ์์ด์, ๊ฐ๋ฐ์ ๋น ๋ฅด๊ฒ ํด์ผ ํ๋ ๊ฒฝ์ฐ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค. ์์ฅ์ ๋น ๋ฅด๊ฒ ํ๋กํ ํ์ ์ ์ถ์ํด์ผ ํ๋ ๊ฒฝ์ฐ๋, ์ํํธ์จ์ด ๋ฒ์ ๋ณ๋ก ๋ง์ ๋ค์ดํ์(๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ฒ๋ฅผ ์คํ๋ผ์ธ์ผ๋ก ์ ํํ์ฌ ์์ ํ๋ ์๊ฐ) ์์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์์ฃผ ์ ๋ฐ์ดํธํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ผ์ผ์ด ์คํค๋ง๋ฅผ ์์ ํด ์ฃผ์ด์ผ ํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณด๋ค NoSQL ๊ธฐ๋ฐ์ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ ํจ์จ์ ์ ๋๋ค.
๐ ํด๋น ๋ถ๋ถ์ ๊ธ๋ก๋ง ์๋ฒฝํ๊ฒ ์ดํดํ๊ธฐ๋ ์ด๋ ต๋ค. ์ ์ฒด์ ์ธ ํ๋ง ํ์
ํ๊ณ , ๋ชฝ๊ณ ๋๋น์ ๊ฒฝ์ฐ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ Atlas Cloud๋ฅผ
ํตํด ์๊ฐํ ํ ์ ์๋ค๋ ์ฌ์ค๋ง ์ ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
๊ธฐ์กด ๋ด๊ฐ ํ๋ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ๋ Robo3T๋ผ๋ ํ๋ก๊ทธ๋จ์ ํตํด์๋ ์๊ฐํ ํ์๋ค.
[๊ทธ๋ฆผ] ํด๋ฌ์คํฐ
์ด ์๋ฒ๋ ๋ ํ๋ฆฌ์นด ์ธํธ(Replica set)๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋ ํ๋ฆฌ์นด ์ธํธ๋ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ช ๊ฐ์ ์ฐ๊ฒฐ๋ MongoDB ์ธ์คํด์ค์ ๋ชจ์์ ๋๋ค.
์ธ์คํด์ค๋ ํน์ ์ํํธ์จ์ด๋ฅผ ์คํํ๋ ๋ก์ปฌ ๋๋ ํด๋ผ์ฐ๋์ ๋จ์ผ ๋จธ์ ์ ๋๋ค. ์ด ๊ฒฝ์ฐ์์ ์ธ์คํด์ค๋ ํด๋ผ์ฐ๋์์ ์คํ๋๋ MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
[๊ทธ๋ฆผ] ๋ ํ๋ฆฌ์นด ์ธํธ
๋ํ๋จผํธ๋ ์ปฌ๋ ์
์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ, ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ์ ์ค๋ณต ์ฌ๋ณธ์ด ๋ ํ๋ฆฌ์นด ์ธํธ์ ์ ์ฅ๋ฉ๋๋ค.
์ด ์ค์ ๋๋ถ์ ๋ ํ๋ฆฌ์นด ์ธํธ์ ์ธ์คํด์ค ์ค ํ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ ๊ทธ๋๋ก ์ ์ง๋๋ฉฐ, ๋ ํ๋ฆฌ์นด ์ธํธ์ ์ ํ๋ฆฌ์ผ์ด์
์์ ๋๋จธ์ง ์์
์ ํ ์ ์์ต๋๋ค.
์ด ๊ณผ์ ์ ์ํด ํด๋ฌ์คํฐ(์๋ฒ ๊ทธ๋ฃน)๋ฅผ ๋ฐฐํฌํ๋ฉด, ์๋์ผ๋ก ๋ ํ๋ฆฌ์นด ์ธํธ๊ฐ ๊ตฌ์ฑ๋ฉ๋๋ค.
#์ฉ์ด ์ ๋ฆฌ
๐ ๋ ํ๋ฆฌ์นด ์ธํธ
๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์์์ ์ฐ๊ฒฐ๋ ๋จธ์ ์ ๋ปํฉ๋๋ค. ๋ ํ๋ฆฌ์นด ์ธํธ ์ค ํ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋,
๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ์ ์งํ ์ ์์ต๋๋ค.
๐ ์ธ์คํด์ค
๋ก์ปฌ ๋๋ ํด๋ผ์ฐ๋์์ ํน์ ์ํํธ์จ์ด๋ฅผ ์คํํ๋ ๋จ์ผ ๋จธ์ , MongoDB์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค.
๐ ํด๋ฌ์คํฐ
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฒ ๊ทธ๋ฃน์ผ๋ก ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ฅผ ๋คํธ์ํฌ๋ฅผ ํตํด ์ฐ๊ฒฐํ์ฌ ํ๋์ ๋จ์ผ ์ปดํจํฐ์ฒ๋ผ
๋์ํ๋๋ก ์ ์ํ ์ปดํจํฐ๋ฅผ ๋ปํฉ๋๋ค.
์ ์์ ์์ name์ด๋ ํ๋์ ๊ฐ์ kimcoding์ ๋๋ค. ์ด๋ฌํ ๋ํ๋จผํธ์ ๋ชจ์์ ์ปฌ๋ ์ ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ๊ฐ์ ์ปฌ๋ ์ ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ฉ์ด ์ ๋ฆฌ
๐ ๋ํ๋จผํธ(Document)
ํ๋ - ๊ฐ ์์ผ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ
๐ ํ๋(Field)
๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ์ํ ๊ณ ์ ํ ์๋ณ์
๐ ๊ฐ(Value)
์ฃผ์ด์ง ์๋ณ์์ ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ
๐ ์ปฌ๋ ์
(Collection)
MongoDB์ ๋ํ๋จผํธ๋ก ๊ตฌ์ฑ๋ ์ ์ฅ์์
๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ํ๋จผํธ ๊ฐ์ ๊ณตํต ํ๋๊ฐ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น ๋ง์ ์ปฌ๋ ์
์ด ์๊ณ , ์ปฌ๋ ์
๋น ๋ง์ ๋ํ๋จผํธ๊ฐ ์์ ์ ์์ต๋๋ค.