# RDBMS์ NoSQL
written by sohyeon, hyemin ๐ก
# 1. RDBMS, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ง ๊ทธ๋๋ก ๊ด๊ณํ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
์
๋๋ค.
์ ํด์ ธ์๋ ๋ฐ์ดํฐ ์คํค๋ง์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
์ด๋ธ์ ์ ์ฅ๋๋ฉฐ,
๊ด๊ณ๋ฅผ ํตํ ํ
์ด๋ธ๊ฐ ์ฐ๊ฒฐ์ ํตํด ์ฌ์ฉ๋ฉ๋๋ค.
์ด ๋๋ฌธ์ RDBMS๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ๊ธฐ์ํด ๊ตฌ์กฐํ
๊ฐ ๊ต์ฅํ ์ค์ํฉ๋๋ค.
๋ฐ์ดํฐ์ ์์ ์ฑ์ด ๋ฌด์๋ณด๋ค ์ค์ํ ์ํฉ์ ์ฌ์ฉ์ ์ ํฉํฉ๋๋ค.
ex) SNS ์ ๊ฐ์ด User, Feed, Comment ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ๊ฐ ์๊ณ ๊ทธ ๊ด๊ณ๊ฐ ์์๋
# 1) ์ฅ์
- ๋ค์ํ ์ฉ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค(๋ฒ์ฉ์ / ๊ณ ์ฑ๋ฅ)
- ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ๋ณด์ฆํ๋ค
- ์ ๊ทํ์ ๋ฐ๋ฅธ ๊ฐฑ์ ๋น์ฉ ์ต์ํ
- SQL(Structured Query Language) ์ง์
-> ๋ฐ์ดํฐ๋ฅผ ์ ์ฐํ๊ฒ Query ๊ฐ๋ฅ
# 2) ๋จ์
- Oracle ๊ฐ์ ์์คํ ์ ์ฌ์ฉํ๊ฒ ๋ ๊ฒฝ์ฐ ๋น์ฉ์ ์ผ๋ก ๋ถ๋ด์ด ๋ ์ ์์
- ์์คํ
๋ณต์ก๋๋ฅผ ๊ณ ๋ คํ์ฌ ๊ตฌ์กฐํ
-> ์์คํ ์ด ๋ณต์กํด ์ง์๋ก Query๋ฌธ์ด ๋ณต์กํด์ง๊ณ ์ฑ๋ฅ์ด ์ ํ - ๊ฐฑ์ ์ด ๋ฐ์ํ ํ ์ด๋ธ์ ์ธ๋ฑ์ค ์์ฑ ๋ฐ ์คํค๋ง ๋ณ๊ฒฝ
- ์ํ์ ํ์ฅ์ด ์ด๋ ค์, ์ปฌ๋ผ ํ์ฅ์ ์ด๋ ค์
# 3) ์ฃผ์ ์ ํ
- Oracle / Oracle
- MySQL / Oracle
- MS-SQL Server / Microsoft
- SQLite / Opensource
# 2. NoSQL, ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ๋๋๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ
๋ฅผ ์ ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ ๋กญ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
RDBMS์ ํ
์ด๋ธ
๊ณผ ๊ฐ์ ๊ฐ๋
์ผ๋ก ์ปฌ๋ ์
์ด๋ผ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
์ฃผ๋ก ๋น์ ํ ๋ฐ์ดํฐ ์์
์ด ๋ง์ ๊ฒฝ์ฐ, ์์ฃผ ์ ๊ทผํ์ง๋ง ์์ฃผ ์
๋ฐ์ดํธ ๋์ง ์๋ ๋ฐ์ดํฐ์ ์ ํฉํ๋ค.
๋ฐ์ดํฐ์ ์ ์ฅ ๋ฐ ๊ฒ์์ ํนํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ๋ฉฐ ์๋ต์๋๋ ์ฒ๋ฆฌํจ์จ์ด ๋ฐ์ด๋๋ค.
# 1) ์ฅ์
- ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ฅ ๊ฐ๋ฅ
- ๋ถ์ฐํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง
-> ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋์ ์๋ฒ์ ๋ถ์ฐํด ์ ์ฅํ๊ณ , ๋ถ์ฐ ์์ ๋ฐ์ดํฐ๋ฅผ ์ํธ ๋ณต์ ํด์ ํน์ ์๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ์ ๋์๋ ๋ฐ์ดํฐ ์ ์ค์ด๋ ์๋น์ค ์ค์ง๊ฐ ์๋ ํํ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ค. - ์ ์ฐํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
-> ๋ณต์กํ ํ ์ด๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ฑํ๋ ํํ์ ๊ตฌ์กฐ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋จ
-> ๋ณต์กํ SQL๊ตฌ๋ฌธ์ด ๋ถํ์ํจ - ์ํ์ ํ์ฅ์ด ์ฝ๋ค
# 2) ๋จ์
- ์ปฌ๋ ์ ์ ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ ๊ฐ๋ฅ -> ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ ์ ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํด์ฃผ์ด์ผ ํจ
- ์ปฌ๋ผ ํ์ฅ์ ์ด๋ ค์
- ๋จ์ํ ๋น ๋ฅธ ๊ฒฐ๊ณผ
# 3) ์ฃผ์ ์ ํ
key / value
- ํ๋ฐ์ฑ / ์์์ฑ (Memchached, Tokyo Tyrant, Flare, Roma, Redis)
Document
- ์คํค๋ง ์ ์ ์์ (MongoDB, CouchDB)
Big Table(Column ํ)DB
- ๋ฐ์ด๋ ํ์ฅ์ฑ, ๊ฒ์์ ์ ๋ฆฌ (Hbase, Casandara, Hypertable)
โ ํธ๋์คํฌํธ ๊ณ์ธต SQL JOIN๋ฌธ โ