์ต์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค์ ํ์ ์์๋ณด์ธ์. ๋ค์ํ ์๊ตฌ์ฌํญ์ ๋ง๋ ์ต์ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค: ๋ฐ์ดํฐ ์ค์ฌ ์ธ์์ ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค
์ค๋๋ ์ ๋ฐ์ดํฐ ์ค์ฌ ์ธ์์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ถํฐ ๋น๊ตฌ์กฐํ๋ ๋ฌธ์, ๋ณต์กํ ๊ทธ๋ํ ๊ด๊ณ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ๋ก๋ ์ด๋ฌํ ๋ชจ๋ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑ์ํค๊ธฐ์ ์ต์ ์ด ์๋ ์ ์์ต๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค(polyglot persistence)์ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค(multi-model databases)์ ๊ฐ๋ ์ด ๋ฑ์ฅํฉ๋๋ค.
ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ ๋ฌด์์ธ๊ฐ?
ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ ๋จ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ์์คํ ๋ด์์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ์ฅ์ ์๊ตฌ์ฌํญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ์ฌ์ฉํ๋ ๊ดํ์ ๋๋ค. ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋จ์ผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ๋ก ๋ฃ๋ ๋์ , ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์๋ก ๋ค๋ฅธ ์ฌ์ฉ ์ฌ๋ก์ ๋ ์ ํฉํ๋ค๋ ์ ์ ์ธ์ํฉ๋๋ค.
ํต์ฌ ์์ด๋์ด๋ ์์ ์ ์ ํฉํ ๋๊ตฌ๋ฅผ ์ ํํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)๋ ํธ๋์ญ์ ๋ฐ์ดํฐ ๋ฐ ๊ฐ๋ ฅํ ์ผ๊ด์ฑ ์๊ตฌ์ฌํญ์ด ์๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ(์: ๊ธ์ต ๊ฑฐ๋, ์ฃผ๋ฌธ ๊ด๋ฆฌ)์ ๋งค์ฐ ์ ํฉํฉ๋๋ค. ์: PostgreSQL, MySQL, Oracle.
- ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ JSON ๋๋ XML ๋ฌธ์์ ๊ฐ์ ๋ฐ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ(์: ์ ํ ์นดํ๋ก๊ทธ, ์ฝํ ์ธ ๊ด๋ฆฌ)์ ์ด์์ ์ ๋๋ค. ์: MongoDB, Couchbase, Amazon DocumentDB.
- ํค-๊ฐ ์ ์ฅ์๋ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฐ๋จํ ๋ฐ์ดํฐ์ ๋น ๋ฅธ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค(์: ์บ์ฑ, ์ธ์ ๊ด๋ฆฌ). ์: Redis, Memcached, Amazon DynamoDB.
- ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฟผ๋ฆฌํ๋ ๋ฐ ํ์ํฉ๋๋ค(์: ์์ ๋คํธ์ํฌ, ์ถ์ฒ ์์ง). ์: Neo4j, Amazon Neptune.
- ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ์์คํฌํ๊ฐ ์ฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์ํ๋ ๋ฐ ์ต์ ํ๋์ด ์์ต๋๋ค(์: ์ผ์ ๋ฐ์ดํฐ, ๊ธ์ต ์์ฅ ๋ฐ์ดํฐ). ์: InfluxDB, TimescaleDB.
- ๊ฒ์ ์์ง์ ๋๋์ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ฑ์ฑํ๊ณ ๊ฒ์ํ๋ ๋ฐ ๋งค์ฐ ํจ์จ์ ์ ๋๋ค(์: ์น์ฌ์ดํธ ๊ฒ์, ๋ก๊ทธ ๋ถ์). ์: Elasticsearch, Apache Solr.
๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ์ ๋ต์ ์ผ๋ก ์ ํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๋ถ๋ถ์ ๋ํ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํ ์ ์์ต๋๋ค.
ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค์ ์ด์
- ์ฑ๋ฅ ํฅ์: ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํน์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ต์ ํ๋์ด ์์ด ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด ํฅ์๋๊ณ ๋๊ธฐ ์๊ฐ์ด ๋จ์ถ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ณต์กํ ๊ด๊ณ๋ฅผ ํ์ํ๋ ๋ฐ ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋์ผํ ์์ ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฆ ๋๋ค.
- ํ์ฅ์ฑ ์ฆ๋: ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง๋ค ํ์ฅ ํน์ฑ์ด ๋ค๋ฆ ๋๋ค. ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ํน์ ์ํฌ๋ก๋์ ๋ฐ๋ผ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Redis์ ๊ฐ์ ํค-๊ฐ ์ ์ฅ์๋ ์ฆ๊ฐํ๋ ์บ์ฑ ์๊ตฌ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฝ๊ฒ ์ํ์ ์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค.
- ์ ์ฐ์ฑ ํฅ์: ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ํ๊ณ์ ์ ์ฝ์ ๋ฐ์ง ์์ต๋๋ค. ๊ฐ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๊ฐ์ฅ ์ ํฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํํ ์ ์์ผ๋ฏ๋ก ๋ ์ ์ฐํ๊ณ ์ ์ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฐ๋ ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๊ณ ๊ณ ๊ฐ ์ฃผ๋ฌธ์ ๊ด๋ฆฌํ๋ ๋ฐ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๊ฐ๋ฐ ๋น์ฉ ์ ๊ฐ: ์์ ์ ์ ํฉํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์ ๋จ์ํํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ ๋ฐ ์ ์ง ๊ด๋ฆฌ์ ์ ๋ฐ์ ์ธ ๋น์ฉ์ ์ ๊ฐํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์ฒด ํ ์คํธ ๊ฒ์์ ์ํด Elasticsearch์ ๊ฐ์ ์ ๋ฌธ ๊ฒ์ ์์ง์ ์ฌ์ฉํ๋ฉด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ ๋นํด ์๋นํ ๊ฐ๋ฐ ๋ ธ๋ ฅ์ ์ ์ฝํ ์ ์์ต๋๋ค.
- ๋ ๋์ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค: ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ํจ์จ์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ๋๊ณ ์ก์ธ์ค๋๋ ๊ณณ์ ์ ์ฅ๋ ์ ์๋๋ก ํ์ฌ ์กฐ์ง์ด ์ง์ญ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๊ท์น(์: EU ์๋ฏผ ๋ฐ์ดํฐ๊ฐ EU ๋ด์์ ๊ท์ ์ ์ค์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌ๋์ด์ผ ํ๋ GDPR)์ ์ค์ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค์ ๊ณผ์
ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ ์๋ง์ ์ด์ ์ ์ ๊ณตํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ๋ณต์ก์ฑ๋ ์ผ๊ธฐํฉ๋๋ค:
- ๋ณต์ก์ฑ ์ฆ๊ฐ: ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ค๋ฉด ๋ค์ํ ๊ธฐ์ ์ ๋ํ ์ ๋ฌธ ์ง์์ด ํ์ํ๋ฉฐ ์ธํ๋ผ์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ: ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ ํนํ ๋ถ์ฐ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ์ด์ ์ค๋ฒํค๋: ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ํฐ๋ง, ๊ด๋ฆฌ ๋ฐ ์ ์ง ๊ด๋ฆฌํ๋ฉด ์ด์ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ๊ณ ์ ๋ฌธ์ ์ธ ๋๊ตฌ์ ๊ธฐ์ ์ด ํ์ํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ํตํฉ: ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋ณต์กํ ์ ์์ผ๋ฉฐ ETL(์ถ์ถ, ๋ณํ, ๋ก๋) ํ๋ก์ธ์ค๋ ๋ฐ์ดํฐ ๊ฐ์ํ ๊ธฐ์ ์ด ํ์ํ ์ ์์ต๋๋ค.
- ํ์ต ๊ณก์ : ํ์ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ๋ํ ์ ๋ฌธ ์ง์์ ๋ฐฐ์ฐ๊ณ ์ ์งํด์ผ ํ๋ฏ๋ก ๊ต์ก ๋ฐ ๋ฆฌ์์ค์ ๋ํ ์ด๊ธฐ ํฌ์๊ฐ ์ฆ๊ฐํฉ๋๋ค.
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌด์์ธ๊ฐ?
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค์ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ๊ณผ์ ์ ๋ํ ์ ์ฌ์ ์ธ ํด๊ฒฐ์ฑ ์ ์ ๊ณตํฉ๋๋ค. ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง ๋ด์์ ์ฌ๋ฌ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ง์ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์ ๋๋ค. ์ด๋ฅผ ํตํด ๋์ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฟผ๋ฆฌํ ์ ์์ผ๋ฏ๋ก ์ฌ๋ฌ ์์คํ ์ ๊ด๋ฆฌํ๋ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์์ต๋๋ค.
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฃผ์ ํน์ง:
- ๋ค์ค ๋ฐ์ดํฐ ๋ชจ๋ธ ์ง์: ๋ฌธ์, ๊ทธ๋ํ, ํค-๊ฐ ์, ๊ด๊ณํ ํ ์ด๋ธ ๋ฑ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ํตํฉ ์ฟผ๋ฆฌ ์ธ์ด: ๋ง์ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฑธ์ณ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋จ์ผ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํตํฉ ๋ฐ์ดํฐ ๊ด๋ฆฌ: ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ํ ๋จ์ผ ํ๋ซํผ์ ์ ๊ณตํ์ฌ ์ด์ ์ค๋ฒํค๋๋ฅผ ์ค์ด๊ณ ๋ฐ์ดํฐ ํตํฉ์ ๋จ์ํํฉ๋๋ค.
- ACID ํธ๋์ญ์ : ์ผ๋ถ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฑธ์ณ ACID(์์์ฑ, ์ผ๊ด์ฑ, ๊ณ ๋ฆฝ์ฑ, ์ง์์ฑ) ํธ๋์ญ์ ์ ์ง์ํฉ๋๋ค.
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์
- ArangoDB: ํตํฉ ์ฟผ๋ฆฌ ์ธ์ด(AQL)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์, ๊ทธ๋ํ ๋ฐ ํค-๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ง์ํฉ๋๋ค.
- Cosmos DB: Microsoft์ ์ ์ธ๊ณ์ ์ผ๋ก ๋ถ์ฐ๋ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค๋ก, ๋ฌธ์, ๊ทธ๋ํ, ํค-๊ฐ ๋ฐ ์ด-ํจ๋ฐ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ง์ํฉ๋๋ค.
- MarkLogic: ๊ฐ๋ ฅํ ACID ํธ๋์ญ์ ์ผ๋ก ๋ฌธ์ ๋ฐ ์๋งจํฑ(RDF) ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ง์ํ๋ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
- OrientDB: ๊ทธ๋ํ, ๋ฌธ์, ํค-๊ฐ ๋ฐ ๊ฐ์ฒด ์งํฅ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ง์ํฉ๋๋ค.
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด์
- ๋ณต์ก์ฑ ๊ฐ์: ์ฌ๋ฌ ๊ฐ์ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ ํ์์ฑ์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ๋ฅผ ๋จ์ํํฉ๋๋ค.
- ๋ฐ์ดํฐ ํตํฉ ๊ฐ์ : ๋์ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ํํ๊ฒ ํตํฉํ ์ ์์ต๋๋ค.
- ์ ์ฐ์ฑ ํฅ์: ์ฌ๋ฌ ์์คํ ์ ๊ด๋ฆฌํ๋ ์ค๋ฒํค๋ ์์ด ๊ฐ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํํ ์ ์๋ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
- ๊ฐ๋ฐ ๋จ์ํ: ํตํฉ ์ฟผ๋ฆฌ ์ธ์ด์ ํตํฉ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ๋ณต์ก์ฑ์ ์ค์ ๋๋ค.
- ์ด์ ๋น์ฉ ์ ๊ฐ: ๊ด๋ฆฌ ๋ฐ ์ ์ง ๊ด๋ฆฌ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์๋ฅผ ์ค์ฌ ์ด์ ๋น์ฉ์ ๋ฎ์ถฅ๋๋ค.
์ธ์ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํด์ผ ํ๋๊ฐ
๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํนํ ๋ค์๊ณผ ๊ฐ์ ์๊ตฌ์ฌํญ์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค:
- ๋ณต์กํ ๋ฐ์ดํฐ ๊ด๊ณ: ์์ ๋คํธ์ํฌ๋ ์ง์ ๊ทธ๋ํ์ ๊ฐ์ด ๋ฐ์ดํฐ ๊ฐ์ ๋ณต์กํ ๊ด๊ณ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฟผ๋ฆฌํด์ผ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ .
- ๋ค์ํ ๋ฐ์ดํฐ ์ ํ: ๋ฌธ์, ๊ทธ๋ํ, ํค-๊ฐ ์๊ณผ ๊ฐ์ ๋ค์ํ ๋ฐ์ดํฐ ์ ํ์ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํด์ผ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ .
- ์ ์์ผ ๊ฐ๋ฐ: ๋น ๋ฅธ ๋ฐ๋ณต๊ณผ ๋ณํํ๋ ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ์ ์ ์ํ ์ ์๋ ๋ฅ๋ ฅ์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ .
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ: ๊ฐ ์๋น์ค๊ฐ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ์ฅ์ ์๊ตฌ์ฌํญ์ ๊ฐ์ง ์ ์๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ ์ ํ๋ฆฌ์ผ์ด์ .
์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ๋ชจ๋ธ ์ ํ: ์ค์ ์์
๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ช ๊ฐ์ง ์ค์ ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
์์ 1: ์ ์์๊ฑฐ๋ ํ๋ซํผ
์ ์์๊ฑฐ๋ ํ๋ซํผ์ ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค ๋๋ ๋ฉํฐ๋ชจ๋ธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก๋ถํฐ ํฐ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค:
- ์ ํ ์นดํ๋ก๊ทธ: ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์: MongoDB)๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ ์ธ๋ถ ์ ๋ณด๋ฅผ JSON ๋ฌธ์๋ก ์ ์ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ์ฐํ ์คํค๋ง๋ฅผ ํ์ฉํ๊ณ ์ ํ ์ ๋ณด๊ฐ ๋ณ๊ฒฝ๋ ๋ ์ฝ๊ฒ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
- ๊ณ ๊ฐ ์ฃผ๋ฌธ: ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์: PostgreSQL)๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ๊ฐ ์ฃผ๋ฌธ ๋ฐ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ ๊ธ์ต ๊ฑฐ๋์ ๋ํ ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ACID ์์ฑ์ ๋ณด์ฅํฉ๋๋ค.
- ๊ณ ๊ฐ ๋ฆฌ๋ทฐ: ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์: Neo4j)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ๋ทฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ ๊ฐ๊ณผ ์ ํ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ถ์ํฉ๋๋ค. ์ด๋ ์ธ๊ธฐ ์๋ ์ ํ์ ์๋ณํ๊ณ ๊ฐ์ธํ๋ ์ถ์ฒ์ ์ ๊ณตํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ๊ฒ์: ๊ฒ์ ์์ง(์: Elasticsearch)์ ํตํฉํ์ฌ ์ ํ ์นดํ๋ก๊ทธ ๋ฐ ๊ณ ๊ฐ ๋ฆฌ๋ทฐ ์ ๋ฐ์ ๊ฑธ์ณ ์ ์ฒด ํ ์คํธ ๊ฒ์์ ํ์ฑํํฉ๋๋ค.
- ์ธ์ ๊ด๋ฆฌ: ํค-๊ฐ ์ ์ฅ์(์: Redis)๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์ธ์ ๊ด๋ฆฌ๋ฅผ ์ํํฉ๋๋ค.
์์ 2: ์์ ๋ฏธ๋์ด ํ๋ซํผ
์์ ๋ฏธ๋์ด ํ๋ซํผ์ ๊ด๊ณ ๋ฐ ์ํธ ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ์ ํฌ๊ฒ ์์กดํ๋ฏ๋ก ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฐ์ค๋ฌ์ด ์ ํ์ด์ง๋ง ๋ค๋ฅธ ๋ชจ๋ธ๋ ์ ์ฉํฉ๋๋ค:
- ์ฌ์ฉ์ ํ๋กํ: ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์: Couchbase)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ํ๋กํ ์ ๋ณด๋ฅผ JSON ๋ฌธ์๋ก ์ ์ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ์ฐํ ์คํค๋ง๋ฅผ ํ์ฉํ๊ณ ์ฌ์ฉ์ ํ๋กํ์ ์ฝ๊ฒ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
- ์์ ๊ทธ๋ํ: ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์: Neo4j)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์, ๊ฒ์๋ฌผ ๋ฐ ๋๊ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ ์ฐ๊ฒฐ ๋ฐ ๊ฐ์ธํ๋ ์ฝํ ์ธ ํผ๋๋ฅผ ํจ์จ์ ์ผ๋ก ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
- ์ค์๊ฐ ์ ๋ฐ์ดํธ: ํค-๊ฐ ์ ์ฅ์(์: Redis)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ฅผ ์ํ ์ค์๊ฐ ์ ๋ฐ์ดํธ ๋ฐ ์๋ฆผ์ ์บ์ํฉ๋๋ค.
- ์ฝํ ์ธ ๊ฒ์: ๊ฒ์ ์์ง(์: Elasticsearch)์ ํตํฉํ์ฌ ์ฌ์ฉ์ ๊ฒ์๋ฌผ ๋ฐ ๋๊ธ ์ ๋ฐ์ ๊ฑธ์ณ ์ ์ฒด ํ ์คํธ ๊ฒ์์ ํ์ฑํํฉ๋๋ค.
์์ 3: ์ฌ๋ฌผ ์ธํฐ๋ท(IoT) ํ๋ซํผ
IoT ํ๋ซํผ์ ๋ง๋ํ ์์ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ฏ๋ก ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ค์ํ ๊ตฌ์ฑ ์์๊ฐ ๋ฉ๋๋ค:
- ์ผ์ ๋ฐ์ดํฐ: ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค(์: InfluxDB)๋ฅผ ์ฌ์ฉํ์ฌ IoT ์ฅ์น์์ ์์ง๋ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ํฐ๋ง ๋ฐ ๋ถ์์ ์ํด ํ์์คํฌํ๊ฐ ์ฐํ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
- ์ฅ์น ๋ฉํ๋ฐ์ดํฐ: ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์: PostgreSQL)๋ฅผ ์ฌ์ฉํ์ฌ ์ฅ์น ์ ํ, ์์น ๋ฐ ๊ตฌ์ฑ๊ณผ ๊ฐ์ IoT ์ฅ์น์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
- ์๋ฆผ: ๊ท์น ์์ง ๋๋ ์คํธ๋ฆผ ์ฒ๋ฆฌ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ถ์ํ๊ณ ๋ฏธ๋ฆฌ ์ ์๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ์๋ฆผ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
๊ตฌํ์ ์ํ ์ค์ฉ์ ์ธ ๊ณ ๋ ค์ฌํญ
ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ฅผ ๊ตฌํํ๊ฑฐ๋ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฑํํ ๋ ๋ค์๊ณผ ๊ฐ์ ์ค์ฉ์ ์ธ ๊ณ ๋ ค์ฌํญ์ ๊ณ ๋ คํ์ญ์์ค:
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง: ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ์ ์ ์คํ๊ฒ ๋ถ์ํ๊ณ ๊ฐ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ: ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ๋ฉฐ, ํนํ ๋ถ์ฐ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ๋ ์ฃผ์ํด์ผ ํฉ๋๋ค. ์๊ฒฉํ ACID ์์ฑ์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ ์ต์ข ์ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ๊ณ ๋ คํฉ๋๋ค.
- ๋ฐ์ดํฐ ํตํฉ: ETL ํ๋ก์ธ์ค, ๋ฐ์ดํฐ ๊ฐ์ํ ๊ธฐ์ ๋๋ ๋ฐ์ดํฐ ๋ณต์ ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ํตํฉํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ: ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ์ง ๊ด๋ฆฌํ๋ ์ ๋ฌธ ์ง์์ ๊ฐ๋ฐํฉ๋๋ค. ๋ฐฑ์ , ๋ชจ๋ํฐ๋ง ๋ฐ ๋ณด์ ํจ์น์ ๊ฐ์ ์์ ์ ์๋ํํฉ๋๋ค.
- ๋ชจ๋ํฐ๋ง ๋ฐ ์๋ฆผ: ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ๊ณผ ์ํ๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ํฌ๊ด์ ์ธ ๋ชจ๋ํฐ๋ง ๋ฐ ์๋ฆผ ์์คํ ์ ๊ตฌํํฉ๋๋ค.
- ๋ณด์: ์ก์ธ์ค ์ ์ด, ์ํธํ ๋ฐ ๊ฐ์ฌ์ ๊ฐ์ ์ ์ ํ ๋ณด์ ์กฐ์น๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณดํธํฉ๋๋ค.
- ํ ๊ต์ก: ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ๊ณผ ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค์ ์์น์ ๋ํด ํ์ ๊ต์กํ๋ ๋ฐ ํฌ์ํฉ๋๋ค.
- ํด๋ผ์ฐ๋ ๊ณ ๋ ค์ฌํญ: ํด๋ผ์ฐ๋ ๊ด๋ฆฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ๋จ์ํํ๊ณ ์ด์ ์ค๋ฒํค๋๋ฅผ ์ค์ ๋๋ค. ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํฌํจํ ๊ด๋ฒ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด AWS๋ RDS, DynamoDB, Neptune์ ์ ๊ณตํ๊ณ , Azure๋ SQL Database, Cosmos DB, Azure Database for PostgreSQL์ ์ ๊ณตํ๋ฉฐ, Google Cloud๋ Cloud SQL, Cloud Spanner, Cloud Datastore๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฒฐ๋ก
ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค์ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ์ ๊ด๋ฆฌํ๋ ๊ฐ๋ ฅํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ๊ฐ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํํจ์ผ๋ก์จ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ์ ์ฐ์ฑ์ ์ต์ ํํ ์ ์์ต๋๋ค. ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ ๋ณต์ก์ฑ์ ์ผ๊ธฐํ์ง๋ง, ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ํคํ ์ฒ๋ฅผ ๋จ์ํํ๊ณ ์ด์ ์ค๋ฒํค๋๋ฅผ ์ค์ด๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ์ ์ ์คํ๊ฒ ํ๊ฐํ๊ณ ์ด ๋ฌธ์์ ์ค๋ช ๋ ์ค์ฉ์ ์ธ ๊ณ ๋ ค์ฌํญ์ ๊ณ ๋ คํ์ฌ ์กฐ์ง์์ ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ๊ฑฐ๋ ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฑํํ์ญ์์ค. ์ด๋ฌํ ๊ธฐ์ ์ ์์ฉํจ์ผ๋ก์จ ๊ธฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๊ณ ๊ธ๋ก๋ฒ ๊ณ ๊ฐ์ ์ํ ๋ณด๋ค ์ ์ ๊ฐ๋ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ์ฌ ๊ฒฝ์ ์ฐ์๋ฅผ ํ๋ณดํ ์ ์์ต๋๋ค.
๊ถ๊ทน์ ์ผ๋ก ํด๋ฆฌ๊ธ๋ ํผ์์คํด์ค ์ ๋ต์ ์ฑํํ ์ง ์๋๋ฉด ๋ฉํฐ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ฉํ ์ง๋ ํน์ ์๊ตฌ์ฌํญ๊ณผ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ ์ ๊ฐ ์ ๊ทผ ๋ฐฉ์์ ์ด์ ๊ณผ ๊ณผ์ ๋ฅผ ์ ์คํ๊ฒ ๊ณ ๋ คํ์ญ์์ค. ๋ชฉํ๋ ์ ์ ๋ ๋ฐ์ดํฐ ์ค์ฌ์ ์ธ ์ธ์์์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ๋น์ฆ๋์ค ๋ชฉํ๋ฅผ ์ง์ํ๊ธฐ ์ํ ์ต์์ ๋๊ตฌ์ ๊ธฐ์ ์ ์ ํํ๋ ๊ฒ์์ ๊ธฐ์ตํ์ญ์์ค.