์ฌ๋ฐ๋ฅธ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ๋ 5๊ฐ์ง ์ง๋ฌธ๊ณผ ์ฃผ์ ์๋ฃจ์ (๋งํฌ)
๊ธฐ์ฌ ๋ด์ฉ ์์ฝ
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ๊ธฐ ์ ์ ํด์ผ ํ 5๊ฐ์ง ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ๋ค.
- NoSQL์ด ์ฌ๋ฐ๋ฅธ ์ ํ์ธ๊ฐ?
๋ฉ๋ฆฐ์ค ์ปจ์คํ (Mullins Consulting)์ ๋ํ ์ปจ์คํดํธ ํฌ๋ ์ด๊ทธ ๋ฉ๋ฆฐ์ค๋ "๊ฐ์ฅ ๋จผ์ ๊ฒฐ์ ํด์ผ ํ ๊ฒ์ ์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ด ํ์ํ๊ฐ ํ๋ ์ ”์ด๋ผ๊ณ ๋งํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด RDBMS๊ฐ ์ฌ์ฉ๋ก๋ฅผ ์ถฉ์กฑํ ์ ์๋ ์ด์ ๋ฅผ ํ์ ํด์ผ ํ๋ค.
- ์ด๋ค NoSQL ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ํ์ํ๊ฐ?
NoSQL ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํค-๊ฐ, ๋ฌธ์, ์นผ๋ผ ์ ์ฅ์, ๊ทธ๋ํ์ 4๊ฐ์ง ์ฃผ์ ์ ํ์ผ๋ก ๋๋๋ฉฐ, ๊ฐ ์ ํ์ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ฌ์ฉ๋ก์ ์ ํฉํ๋ค. ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ด๋ป๊ฒ ์ก์ธ์คํ ๊ฒ์ธ์ง๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฒฐ์ ํ๋ ๋ฐ ํ์์ ์ด๋ค.
- ์ง์ฐ์๊ฐ ์๊ฑด์ ๋ฌด์์ธ๊ฐ?
์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ์บก์ฒ, ์ค์๊ฐ ๋ฐ์ดํฐ ๊ณต์ ์ ํ๋ฆฌ์ผ์ด์ , ๋ฐ์ดํฐ๊ฐ ๋จ์ํ ๋ชฉ๋ก, ๋งคํธ๋ฆญ์ค์ฒ๋ผ ์ง์ฐ์๊ฐ์ด ์งง์์ผํ๋ ๊ฒฝ์ฐ ํค-๊ฐ ์ ์ฅ์๋ฅผ ๊ณ ๋ คํด์ผํ๋ค. ๋ฐ์ดํฐ์ ํํ๊ฐ ๋งค์ฐ ๊ฐ๋ณ์ ์ด๊ณ ์ ์๋ ํ๋๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ๋ ์ธํฐ๋ํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ JSON ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ํฉํ๋ค. ์ง์ฐ์๊ฐ ์๊ตฌ์ฌํญ์ด ํฌ์ง ์์ ๊ฒฝ์ฐ๋ ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณ ๋ คํ ์ ์๋ค.
- ํ์ฅ์ฑ๊ณผ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ด ์ผ๋ง๋ ์ค์ํ๊ฐ?
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ธ๊ทธ๋จผํธ ๋๋ ์ค๋(Shard)๋ก ๋๋ ์ ์์ผ๋ฏ๋ก ์๋ฐฑ ํ ๋ผ๋ฐ์ดํธ๋ฅผ ์คํํ๋ ๋๊ท๋ชจ ๋ฐฐ์น ํ๊ฒฝ์ ์ ์ฉํ๋ค. ACID ์ค์๋ฅผ ํตํด ๋ชจ๋ ํธ๋์ญ์ ์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ ์ ๋๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌ๋ฆฌ, NoSQL์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ผ๊ด์ฑ ์๊ฒ ๋๋ ๋์จํ๊ฒ ์ ํํ ์ ์๋ค.
- ์ด๋ป๊ฒ ๋ฐฐํฌํ ๊ฒ์ธ๊ฐ?
์ผ๋ถ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์จํ๋ ๋ฏธ์ค์์ ์คํํ ์ ์๊ณ , ์ผ๋ถ๋ ํด๋ผ์ฐ๋์์๋ง ์คํํ ์ ์์ผ๋ฉฐ, ์ผ๋ถ๋ ํ์ด๋ธ๋ฆฌ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์คํํ ์ ์๋ค. ๋ํ ์๋ฒ๋ฆฌ์ค ๋ฐ ์ฟ ๋ฒ๋คํฐ์ค ํ๊ฒฝ์์ ์คํ๋๋ ๋ฑ ํด๋ผ์ฐ๋ ์ํคํ ์ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํตํฉ๋๋ NoSQL๋ ์๋ค.
ํต์ฌ ์ฉ์ด
- NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋?
- Not Only SQL / Non-SQL ๋ผ๊ณ ๋ ํํ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํต์ ๊ตฌ์กฐ ๋ฐ์์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์ ๊ทผ๋ฒ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS) vs. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค
- RDBMS
- ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ์ด๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ์ ์ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํค๋ง๋ฅผ ์ฌ์ ์ ์ ์ํด์ผ ํ๋ฏ๋ก ๋ชจ๋ ์ด์ ๋ฐ์ดํฐ ์ ํ ํ์ ํ์
- ํค๋ฅผ ์ฌ์ฉํด ์ฌ๋ฌ ํ ์ด๋ธ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ผ๋ก ์ ๋ณด๋ฅผ ์ ์ฅ
- NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ฌ์ ์ ์คํค๋ง๋ฅผ ์ ์ํ์ง ์์๋ ์ ์ฅ ๊ฐ๋ฅ
- ์ ์ํ ์ํ์ ํ์ฅ ๋ฅ๋ ฅ์ผ๋ก ๋์ ํธ๋ํฝ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- RDBMS
- NoSQL์ ์ ํ
- ํค-๊ฐ ์ ์ฅ์ : ๊ฐ์ฅ ๋จ์ํ ํํ๋ก ์คํค๋ง๊ฐ ์๊ณ ํค-๊ฐ ์์ผ๋ก ๊ตฌ์ฑ๋ ์ฌ์ ์ผ๋ก ์กฐ์งํ
- ๋ฌธ์ ์ ์ฅ์ : ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์๋ก ์ ์ฅํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก JSON, XML, BSON ํ์
- ์ปฌ๋ผ ์ ์ฅ์ : ์ ๋ณด๋ฅผ ์ปฌ๋ผ์ ์ ์ฅํ๋ฏ๋ก ๊ด๋ จ ์๋ ๋ฐ์ดํฐ์ ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ด ํน์ ์ปฌ๋ผ์ ์ก์ธ์ค ๊ฐ๋ฅ
- ๊ทธ๋ํ ์ ์ฅ์ : ์ง์ ๊ทธ๋ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ด
- NoSQL ์ ์ฉ ์ฌ๋ก
- ์ค์๊ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ : NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ์ถ์ฒ, ๊ฐ์ธํ, ๊ฐ์ ๋ ์ฌ์ฉ์ ๊ฒฝํ ์ ๊ณต
- ํด๋ผ์ฐ๋ ๋ณด์ : ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ด ๋ณต์กํ ๊ด๊ณ๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐ๊ฒฌํ๊ณ ๋ณด์ ๊ตฌ์
- ๊ณ ๊ฐ์ฉ์ฑ ์ ํ๋ฆฌ์ผ์ด์ : ๋ถ์ฐ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ฉ์์ง, ํ์ผ๊ณต์ ์ง์ฐ์๊ฐ ์งง์ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ
โป Reference โป
https://www.ibm.com/kr-ko/topics/nosql-databases (NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ ๋ฐ ์ ํ)
https://www.oracle.com/kr/database/nosql/what-is-nosql/ (NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ ๋ฐ ์ ํํด์ผํ๋ ๊ฒฝ์ฐ)
https://aws.amazon.com/ko/nosql/ (NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ ๋ฐ ์ ์ฉ ์ฌ๋ก)
https://www.integrate.io/ko/blog/which-database-ko/ (์ฌ์ฉ์ฌ๋ก์ ์ ํฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ)
AI์ ๊ด๋ จ๋ ๊ธฐ์ฌ๋ง ๋ณด๋ค๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ๋ด์ฉ์ ๋ณด๋๊น ๋ฐ๊ฐ์ ๋ค...๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ ๋ ์ด๋ค ์ฌํญ์ ๊ณ ๋ คํด์ผํ๋์ง๋ฅผ ์ ์ ์์๊ณ NoSQL์ ๋ํด์ ์ข ๋ ์์ธํ ์๊ฒ ๋์๋ค.