1.1 NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ ๋ฐฉ์
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๊ณ ์กฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋๊ธฐ ์๊ฐ์ด ์งง๊ณ ์ ์ฐํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ํ์ํ ๋ฐ์ดํฐ ์ง์ฝ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ํ๋์ด ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ๋ค๋ฅธ ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฉ๋๋ ์๊ฒฉํ ๋ฐ์ดํฐ ์ผ๊ด์ฑ ์๊ตฌ ์ฌํญ์ ์ํํจ์ผ๋ก์จ ๋ฌ์ฑ๋ฉ๋๋ค.
๋จ์ํ ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์คํค๋ง ๋ชจ๋ธ๋ง์ ์๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
-
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฑ ํญ๋ชฉ์ ์ข ์ข ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋ถํ (๋๋ "์ ๊ทํ")๋์ด ๊ด๊ณ๊ฐ ๊ธฐ๋ณธ ๋ฐ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ์ ์๋ ๋ณ๋์ ํ ์ด๋ธ์ ์ ์ฅ๋ฉ๋๋ค. ์ด ์์์ Books ํ ์ด๋ธ์๋ ISBN , ์ฑ ์ ๋ชฉ ๋ฐ ํ ๋ฒํธ ์ด์ด ์๊ณ Authors "ISBN"๋ฐ"์ ์"Author-ISBN์์ผ๋ฉฐ์ด์ด์ ์ ์ด๋ฆ๋ฐID์ ์์๋ํ ์ด๋ธ. ๊ด๊ณํ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ ๊ฐ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ฐ์ดํฐ๋ ์ค๋ณต์ฑ์ ์ค์ด๊ธฐ ์ํด ์ ๊ทํ๋๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ์คํ ๋ฆฌ์ง์ ์ต์ ํ๋ฉ๋๋ค.
-
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฑ ๋ ์ฝ๋๋ ์ผ๋ฐ์ ์ผ๋ก JSON ๋ฌธ์๋ก ์ ์ฅ๋ฉ๋๋ค. ๊ฐ ์ฑ ๋๋ ์์์ ๋ํด ISBN , ์ฑ ์ ๋ชฉ , ํ ๋ฒํธ , ์ ์ ์ด๋ฆ ๋ฐ ์ ์ ID ๊ฐ์ ๋จ์ผ ๋ฌธ์์ ์์ฑ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ์ด ๋ชจ๋ธ์์ ๋ฐ์ดํฐ๋ ์ง๊ด์ ์ธ ๊ฐ๋ฐ๊ณผ ์ํ์ ํ์ฅ์ฑ์ ์ํด ์ต์ ํ๋ฉ๋๋ค.
1.2 NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ค ์ฉ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๊น?
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ต๋์ ์ ์ฉ์ฑ์ ์ ๊ณตํ ์ ์๋ ๊ณ ์ฑ๋ฅ ๋ฐ ํ๋ถํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํ์ํ ๋ชจ๋ฐ์ผ, ๊ฒ์, ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ๋ง์ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค.
-
์ ์ฐ์ฑ . ์ผ๋ฐ์ ์ผ๋ก NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ์ฐํ ์คํค๋ง๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ์๋๋ฅผ ๋์ด๊ณ ์ ์ง์ ๊ตฌํ์ โโ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ ์ฐํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ ํ ๋ฐ ๋น์ ํ ๋ฐ์ดํฐ์ ์ ํฉํฉ๋๋ค.
-
ํ์ฅ์ฑ . NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ณ ๊ฐ์ ์์ ์ ์ธ ์๋ฒ๋ฅผ ์ถ๊ฐํ์ง ์๊ณ ๋ถ์ฐ ํ๋์จ์ด ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฅํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ผ๋ถ ํด๋ผ์ฐ๋ ์๋น์ค ๊ณต๊ธ์๋ ์ด๋ฌํ ์์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ์ฌ ์์ ํ ๊ด๋ฆฌ๋๋ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
๊ณ ์ฑ๋ฅ . NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๊ธฐ ์ํด ํน์ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฐ ์ก์ธ์ค ํจํด์ ์ต์ ํ๋์ด ์์ต๋๋ค.
-
๋์ ๊ธฐ๋ฅ . NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ง๊ฒ ํน๋ณํ ์ค๊ณ๋ ํ๋ถํ API์ ๋ฐ์ดํฐ ์ ํ์ ์ ๊ณตํฉ๋๋ค.
1.3 NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ ํ์์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ด ๊ทธ๋ค์ง ํธ๋ฆฌํ์ง ์์ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋งค์ฐ ๋ค๋ฅธ ํ์์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ 6๊ฐ์ง ์ฃผ์ ๋ฐ์ดํฐ ์ ํ์ด ์์ต๋๋ค.
ํค-๊ฐ ์ ๊ธฐ๋ฐ DB
ํค-๊ฐ ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋์ ๋ถ๋ฆฌ์ฑ์ ์ง์ํ๊ณ ๋ค๋ฅธ ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ ๋ฌ์ฑํ ์ ์๋ ์ ๋ก ์๋ ์ํ ํ์ฅ์ ์ ๊ณตํฉ๋๋ค. ํค-๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข์ ์ฌ์ฉ ์ฌ๋ก๋ ๊ฒ์, ๊ด๊ณ ๋ฐ IoT ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค.
์๋ฅผ ๋ค์ด Amazon DynamoDB๋ ์ด๋ค ๊ท๋ชจ์์๋ ๋ช ๋ฐ๋ฆฌ์ด ์ดํ์ ์ง์ฐ์ผ๋ก ์์ ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์์ ๋ณด์ฅํฉ๋๋ค. ์ด ๊ฐ๋ ฅํ ์ฑ๋ฅ์ Snapchat Stories๋ฅผ DynamoDB๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ์ฃผ๋ ์ด์ ์์ต๋๋ค. ์ด Snapchat ๊ธฐ๋ฅ์ ๊ฐ์ฅ ํฐ ์คํ ๋ฆฌ์ง ์ฐ๊ธฐ ๋ก๋์ ์ฐ๊ด๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฌธ์
์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์์ ๋ฐ์ดํฐ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ํจ์จ์ ์ด๊ณ ์ง๊ด์ ์ธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด๊ธฐ ๋๋ฌธ์ ์ข ์ข JSON๊ณผ ๊ฐ์ ํ์์ ๊ฐ์ฒด ๋๋ ๋ฌธ์๋ก ํํ๋ฉ๋๋ค. ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฐ ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฐํ๊ณ ๋ฐ๊ตฌ์กฐํ๋ ๊ณ์ธต์ ํน์ฑ์ผ๋ก ์ธํด ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฐ์ ํ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ชจ๋ธ์ ๊ฐ ๋ฌธ์๊ฐ ๊ณ ์ ํ๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋๋ ์นดํ๋ก๊ทธ, ์ฌ์ฉ์ ํ๋กํ ๋ฐ ์ฝํ ์ธ ๊ด๋ฆฌ ์์คํ ์์ ์ ์๋ํฉ๋๋ค. Amazon DocumentDB(MongoDB์ ํธํ ๊ฐ๋ฅ) ๋ฐ MongoDB๋ ์ ์์ผ ๊ฐ๋ฐ์ ์ํ ๊ธฐ๋ฅ์ ์ด๊ณ ์ง๊ด์ ์ธ API๋ฅผ ์ ๊ณตํ๋ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ๋ฐ์ดํฐ ์ธํธ๋ก ์์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ์ฝ๊ฒ ๊ฐ๋ฐํ๊ณ ์คํํ ์ ์์ต๋๋ค. ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์ผ๋ฐ์ ์ธ ์๋ก๋ ์์ ๋คํธ์ํฌ, ์ถ์ฒ ์๋น์ค, ์ฌ๊ธฐ ํ์ง ์์คํ ๋ฐ ์ง์ ๊ทธ๋ํ๊ฐ ์์ต๋๋ค. Amazon Neptune์ ์์ ํ ๊ด๋ฆฌ๋๋ ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค์ ๋๋ค. Neptune์ Property Graph ๋ฐ Resource Description Framework(RDF)๋ฅผ ์ง์ํ์ฌ TinkerPop ๋ฐ RDF/SPARQL ์ค์์ ์ ํํ ์ ์๋ ๋ ๊ฐ์ง ๊ทธ๋ํ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ Neo4j ๋ฐ Giraph๊ฐ ํฌํจ๋ฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ์ DB
์ข ์ข ๊ฒ์ ๋ฐ ๊ด๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฆฌ๋๋ณด๋, ์ธ์ ์คํ ๋ฆฌ์ง ๋ฐ ์ค์๊ฐ ๋ถ์์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ช ๋ง์ดํฌ๋ก์ด ์ด๋ด์ ์๋ตํด์ผ ํ๋ ๋ฐ๋ฉด ํธ๋ํฝ์ ๊ธ๊ฒฉํ ์ฆ๊ฐ๋ ์ธ์ ๋ ์ง ๊ฐ๋ฅํฉ๋๋ค.
Amazon MemoryDB for Redis๋ ์ฝ๊ธฐ ์ง์ฐ ์๊ฐ์ ๋ฐ๋ฆฌ์ด๋ก ์ค์ด๊ณ ์ฌ๋ฌ ๊ฐ์ฉ ์์ญ์์ ๋ด๊ตฌ์ฑ์ ์ ๊ณตํ๋ Redis์ ํธํ๋๊ณ ์์ ์ ์ธ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค์ ๋๋ค. MemoryDB๋ ์ด๊ณ ์ฑ๋ฅ ๋ฐ ์์ ์ฑ์ ์ํด ํน๋ณํ ์ ์๋์์ผ๋ฏ๋ก ์ต์ ๋ง์ดํฌ๋ก์๋น์ค ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
Amazon ElastiCache๋ ์์ ๊ด๋ฆฌํ Redis ๋ฐ Memcached์ ํธํ๋๋ ์ธ ๋ฉ๋ชจ๋ฆฌ ์บ์ฑ ์๋น์ค๋ก ์ง์ฐ ์๊ฐ์ด ์งง๊ณ ์ฒ๋ฆฌ๋์ด ๋์ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ฑ์ด ์ค์๊ฐ์ผ๋ก ์๋ตํด์ผ ํ๋ Tinder์ ๊ฐ์ ํด๋ผ์ด์ธํธ๋ ๋์คํฌ ์คํ ๋ฆฌ์ง ์์คํ ์ด ์๋ ์ธ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ํน๋ณํ ๊ตฌ์ถ๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ๋ ๋ค๋ฅธ ์๋ Amazon DynamoDB Accelerator(DAX)์ ๋๋ค. DAX๋ฅผ ํตํด DynamoDB๋ ๋ฐ์ดํฐ๋ฅผ ๋ช ๋ฐฐ ๋ ๋น ๋ฅด๊ฒ ์ฝ์ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฒ์
๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ก๊ทธ๋ฅผ ์์ฑํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋ฌธ์ ๋ฅผ ๋ณด๋ค ์ฝ๊ฒ โโํด๊ฒฐํ๊ณ ์์ ํ ์ ์๋๋ก ํฉ๋๋ค. Amazon OpenSearch๋ ๋ฐ๊ตฌ์กฐํ๋ ๋ก๊ทธ ๋ฐ ๋ฉํธ๋ฆญ์ ์ธ๋ฑ์ฑ, ์ง๊ณ ๋ฐ ๊ฒ์ํ์ฌ ์๋์ผ๋ก ์์ฑ๋ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๊ฑฐ์ ์ค์๊ฐ์ผ๋ก ์๊ฐํํ๊ณ ๋ถ์ํ๊ธฐ ์ํด ํน๋ณํ ์ ์๋ ์๋น์ค์ ๋๋ค.
๋ํ Amazon OpenSearch๋ ๊ฐ๋ ฅํ ๊ณ ์ฑ๋ฅ ์ ์ฒด ํ ์คํธ ๊ฒ์ ์๋น์ค์ ๋๋ค. Expedia๋ ์ด์ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฌธ์ ํด๊ฒฐ์์ ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์คํ ์ถ์ ๋ฐ ๋น์ฉ ์ต์ ํ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด 150๊ฐ ์ด์์ Amazon OpenSearch ์๋น์ค ๋๋ฉ์ธ, 30TB์ ๋ฐ์ดํฐ ๋ฐ 300์ต ๊ฐ์ ๋ฌธ์๋ฅผ ํ์ฉํฉ๋๋ค.
1.4 SQL(๊ด๊ณํ) ๋ฐ NoSQL(๋น๊ด๊ณํ) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น๊ต
NoSQL์๋ ๋ง์ ์ฅ์ ์ด ์์ผ๋ฏ๋ก ์ง์ ์์ฑํ๊ธฐ ์ ์ ์ ์ด๋ ์ด๋ก ์ ์ผ๋ก๋ ํ์ํ ๋๊ตฌ๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ค๋ ์ฌ์ค์ ์์์ผ ํฉ๋๋ค. ์๋์์ NoSQL๊ณผ SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋น๊ตํ๊ฒ ์ต๋๋ค.
์ ํฉํ ์ํฌ๋ก๋
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํธ๋์ญ์ ๋ฐ ๋งค์ฐ ์ผ๊ด๋ OLTP(์ค์๊ฐ ํธ๋์ญ์ ์ฒ๋ฆฌ) ์์ฉ ํ๋ก๊ทธ๋จ์ฉ์ผ๋ก ์ค๊ณ๋์์ผ๋ฉฐ OLAP(์ค์๊ฐ ๋ถ์ ์ฒ๋ฆฌ)์ ๋งค์ฐ ์ ํฉํฉ๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋๊ธฐ ์๊ฐ์ด ์งง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํจํ์ฌ ๋ค์ํ ๋ฐ์ดํฐ ์ก์ธ์ค ํจํด์์ ์๋ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. NoSQL ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ ํ ๋ฐ์ดํฐ ๋ถ์์ ์ํด ์ค๊ณ๋์์ต๋๋ค.
๋ฐ์ดํฐ ๋ชจ๋ธ
๊ด๊ณํ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํํ๊ณ ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ๋ก ๋ณํํฉ๋๋ค. ์คํค๋ง๋ ํ ์ด๋ธ, ํ, ์ด, ์ธ๋ฑ์ค, ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ ๋ฐ ๊ธฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์๋ฅผ ์๊ฒฉํ๊ฒ ์ ์ํฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ์์ ์ฐธ์กฐ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ณ ์ฑ๋ฅ ๋ฐ ํ์ฅ์ฑ์ ์ต์ ํ๋ ํค-๊ฐ ์, ๋ฌธ์ ๋ฐ ๊ทธ๋ํ์ ๊ฐ์ ๋ค์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค.
ACID ์์ฑ
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์์ฑ, ์ผ๊ด์ฑ, ๊ฒฉ๋ฆฌ, ์์ ์ฑ๊ณผ ๊ฐ์ ์ผ๋ จ์ ACID ์์ฑ์ ์ ๊ณตํฉ๋๋ค.
- ์์์ฑ์ ํธ๋์ญ์ ์ด ์ ์ฒด์ ์ผ๋ก ์คํ๋๊ฑฐ๋ ์ ํ ์คํ๋์ง ์๋๋ก ์๊ตฌํฉ๋๋ค.
- ์ผ๊ด์ฑ์ด๋ ํธ๋์ญ์ ์ด ์๋ฃ๋์๋ง์ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ค์ํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
- ๊ฒฉ๋ฆฌ๋ฅผ ์ํด์๋ ๋ณ๋ ฌ ํธ๋์ญ์ ์ด ์๋ก ๋ณ๋๋ก ์คํ๋์ด์ผ ํฉ๋๋ค.
- ์ ๋ขฐ์ฑ์ ์์์น ๋ชปํ ์์คํ ์ฅ์ ๋๋ ์ ์ ํ ๋ง์ง๋ง์ผ๋ก ์ ์ฅํ ์ํ๋ก ๋ณต๊ตฌํ๋ ๋ฅ๋ ฅ์ ์๋ฏธํฉ๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ํ ํ์ฅ์ ํ์ฉํ๋ ๋ณด๋ค ์ ์ฐํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ํด ACID ์์ฑ์ ์๊ฒฉํ ์๊ตฌ ์ฌํญ์ ์ํํ๋ ์ ์ถฉ์์ ์ ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ๋ผ์ NoSQL์ ๋จ์ผ ์ธ์คํด์ค๋ฅผ ๋์ด ์ํ์ ํ์ฅ์ด ํ์ํ ๊ณ ๋์ญํญ, ์งง์ ๋๊ธฐ ์๊ฐ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํฉ๋๋ค.
์ฑ๋ฅ
์ฑ๋ฅ์ ์ฃผ๋ก ๋์คํฌ ํ์ ์์คํ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ฟผ๋ฆฌ, ์ธ๋ฑ์ค ๋ฐ ํ ์ด๋ธ ๊ตฌ์กฐ์ ์ต์ ํ๋ ์ข ์ข ์ต๋ ์ฑ๋ฅ์ ์ํด ํ์ํฉ๋๋ค.
์ฑ๋ฅ์ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๋ณธ ํ๋์จ์ด ํด๋ฌ์คํฐ์ ํฌ๊ธฐ, ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ ๋ฐ ํธ์ถ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ค์ผ์ผ๋ง
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋์จ์ด์ ์ปดํจํ ์ฑ๋ฅ์ ๋์ด๊ฑฐ๋ ์ฝ๊ธฐ ์ํฌ๋ก๋๋ฅผ ์ํ ๋ณ๋์ ๋ณต์ฌ๋ณธ์ ์ถ๊ฐํ์ฌ ํ์ฅ๋ฉ๋๋ค.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก ๋ถ์ฐ ์ํคํ ์ฒ ๊ธฐ๋ฐ์ ํ์ฅ ๊ฐ๋ฅํ ์ก์ธ์ค ํจํด์ ํตํด ๋์ ๋ถ๋ฆฌ์ฑ์ ์ง์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฒ๋ฆฌ๋์ด ํฅ์๋๊ณ ๊ฑฐ์ ๋ฌด์ ํ์ ๊ฐ๊น์ด ๊ท๋ชจ๋ก ์ผ๊ด๋ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
API
๋ฐ์ดํฐ ์ฐ๊ธฐ ๋ฐ ๊ฒ์ ์์ฒญ์ SQL๋ก ์์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ์ฟผ๋ฆฌ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํด ๊ตฌ๋ฌธ ๋ถ์๋๊ณ ์คํ๋ฉ๋๋ค.
๊ฐ์ฒด ์งํฅ API๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ์์ฑํ๊ณ ๊ฒ์ํ ์ ์์ต๋๋ค. ํํฐ์ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ํค-๊ฐ ์, ์ด ์งํฉ ๋๋ ์ง๋ ฌ ๊ฐ์ฒด ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ ํน์ฑ์ ํฌํจํ๋ ๋ฐ๊ตฌ์กฐํ๋ ๋ฌธ์๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
GO TO FULL VERSION