
๋ฐ์ดํฐ๋ฒ ์ด์ค๋?
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ์ฌ๋๋ค์ด ๊ณต์ ํ๊ณ , ์ฌ์ฉ๋ ๋ชฉ์ ์ผ๋ก ํตํฉํ์ฌ ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ์ ์งํฉ
๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด์ ์๋ ํ์ผ ์์คํ
์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ค.
์ด๋ ๊ฒ ์ ์ฅ๋ ํ์ผ๋ค์ ์
๋ฌด์ ์ฌ์ฉํ ๋ ค๊ณ ํ๋... ๊ฐ ๋ฐ์ดํฐ๊ฐ ์ค๋ณต์๋ค๊ฐ ํํ๊ฐ ๋ค๋ฅด๋ค๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ๋์๋ค. ์ด๋ฌํ ํ์ผ ์์คํ
์ ๋จ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด์ ๋ํ๋ ์์คํ
์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง
1. ๋ฐ์ดํฐ์ ๋
๋ฆฝ์ฑ
ํ์ ๋จ๊ณ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ์์ ๋จ๊ณ์ ์ํฅ์ ๋ฏธ์น์ง ์๋ ์์ฑ > 3-์คํค๋ง ๊ตฌ์กฐ๋ฅผ ํตํด ๊ตฌํ
ํ์ผ ์์คํ
์ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ๊ฐ ์ํธ ๋ฐ์ ํ๊ฒ ์ฐ๊ฒฐ๋์ด์๋ค.
- ๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ: ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํฅ์ ์ฃผ์ง ์๊ณ , DB ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๋ฅ๋ ฅ / ๋ง์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ ๊ฐ๊ฐ ์๊ตฌํ๋ ๋ค์ํ ํํ์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ก ๋งคํ์ํฌ ์ ์๋ ๋ฅ๋ ฅ
- ๋ฌผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ: ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ์ ์ํฅ์ ๋ฏธ์น์ง ์๊ณ ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝ

์คํค๋ง๋?
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ์ ์ ์ฝ์กฐ๊ฑด์ ๊ดํด ์ ๋ฐ์ ์ธ ๋ช ์ธ๋ฅผ ๊ธฐ์ ํ ๊ฒ
๊ฐ์ฒด์ ํน์ฑ์ ๋ํ๋ด๋ ์์ฑ, ์์ฑ๋ค์ ์งํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด, ๊ฐ์ฒด ์ฌ์ด์ ์กด์ฌํ๋ ๊ด๊ณ๋ก ์ด๋ฃจ์ด์ง
2. ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ
๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํตํด์ ์๋ชป๋ ๋ฐ์ดํฐ๊ฐ ์
๋ ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
์๋ฅผ ๋ค์ด ์ด๋ฆ ์์ฑ์ "Hong"์ด๋ผ๋ ๋ฌธ์๋ ์
๋ ฅ ๊ฐ๋ฅํ์ง๋ง, 777์ด๋ผ๋ ์ซ์๊ฐ ์
๋ ฅ๋ ์ ์๋ค.
3. ๋ฐ์ดํฐ ์ผ๊ด์ฑ
์ฐ๊ด๋ ์ ๋ณด๋ฅผ ๋
ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ก ๊ด๋ฆฌํจ์ผ๋ก์จ ์ด๋ค ํ๋์ ๋ฐ์ดํฐ๋ง ๋ณ๊ฒฝํ์ ๊ฒฝ์ฐ, ์ฐ๊ด๋ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ๋ณ๊ฒฝ๋๋ฉฐ ๋ฐ์ดํฐ์ ๋ถ์ผ์น๋ฅผ ๋ฐฐ์ ํ ์ ์๋ค.
ํ์ผ ์์คํ
์ ๊ฒฝ์ฐ ์ค๋ณต๋ ๋ฐ์ดํฐ ์ค ํ๋๋ฅผ ๋ณ๊ฒฝํ์ ๋ ๋ฐ์ดํฐ ๊ฐ์ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ ์ ์๋ค.
4. ๋ฐ์ดํฐ์ ์ค๋ณต ์ต์ํ
๋ฐ์ดํฐ๋ฅผ ํตํฉ ๊ด๋ฆฌํ์ฌ ๋ฐ์ดํฐ ์ค๋ณต ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ํค
๋ฐ์ดํฐ์ ์ค๋ณต์ ๋ง๊ธฐ ์ํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํค๋ผ๋๊ฐ๋
์ด ์กด์ฌํ๋ค.
์๋ฅผ๋ค์ด ์ด๋ฆ, ๋์ด, ํ๊ต ๋ฑ์ ์ค๋ณต๋ ์ ์๋ค. ์ด๋ ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด์๋ ๊ทธ ๊ธฐ์ค์ด ๋๋ ์์ฑ์ด ํ์ํ๋ค.

1. ์ํผํค: ์ ์ผ์ฑ O, ์ต์์ฑ X
์ ์ผ์ฑ์ ํน์ฑ์ ๋ง์กฑํ๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ์ด๋ค.
์๋ฅผ ๋ค์ด (์ฃผ๋ฏผ๋ฒํธ, ์ด๋ฆ, ๋์ด)๋ผ๋ ํค๋ฅผ ์ค์ ํ์ ๋, ์ด ๊ฐ๋ค์ด ๋ชจ๋ ๊ฐ์ ๊ฐ์ฒด๋ค์ ์กด์ฌํ์ง ์์ ๊ฒ์ด๋ค. ํ์ง๋ง ์ ํค์์ ๋์ด๋ฅผ ๋นผ๊ฒ ๋๋๋ผ๋ ์ ์ผ์ฑ์ ์ ์ง๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์์ ํค๋ ์ ์ผ์ฑ์ ๋ง์กฑํ์ง๋ง, ์ต์์ฑ์ ๋ง์กฑํ์ง ์๋๋ค.
2. ํ๋ณดํค: ์ ์ผ์ฑ O, ์ต์์ฑ O
์ํผํค ์ค์์ ์ต์์ฑ์ ๋ง์กฑํ๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ์ด๋ค.
์ ์ผ์ฑ: ํ๋์ ํค ๊ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์ฑ์ง
์ต์์ฑ: ํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ ์ค ๊ผญ ํ์ํ ์ต์ํ์ ์์ฑ๋ค๋ก๋ง ํค๋ฅผ ๊ตฌ์ฑํ๋ ์ฑ์ง
3. ๊ธฐ๋ณธํค
ํ๋ณดํค ์ค ์ ํ๋ฐ์ ํค, ์ฌ๋ฌ ๊ฐ์ ํ๋ณดํค ์ค์ ํ๋๋ฅผ ์ ํํด์ ์ฌ์ฉํด์ผํ๋ฉฐ ์๋์ ๊ฐ์ ๊ธฐ์ค์ด ์๋ค.
1. Null ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
2. ๊ฐ์ด ์์ฃผ ๋ณ๊ฒฝ๋์ง ์๋๋ค.
3. ๋จ์ํ ํ๋ณดํค๋ฅผ ๊ธฐ๋ณธํค๋ก ์ ํํ๋ค.
4. ๋์ฒดํค
์์ ๊ธฐ์ค์ ์งํค์ง ๋ชปํด ๊ธฐ๋ณธํค๊ฐ ๋์ง ๋ชปํ ํ๋ณดํค๋ค์ด๋ค.
5. ์ธ๋ํค
๋ค๋ฅธ ๊ด๊ณ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ ํค๋ฅผ ๋งํ๋ค.
์ด๋ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ฐ๊ฒฐ๋๋ค. ๋ง์ฝ ์ฃผ๋ฌธ(์ฃผ๋ฌธ์ ๋ณด, ๊ณ ๊ฐID) <-> ๊ณ ๊ฐ(ID, ๊ณ ๊ฐ์ ๋ณด)๋ผ๋ ๊ด๊ณ๊ฐ ์์ ๋ ์ฃผ๋ฌธ ํ ์ด๋ธ์ ๊ณ ๊ฐID์ ์ ๋ ฅํ ๊ฐ์ด ๊ณ ๊ฐ ํ ์ด๋ธ์ ์๋์ง ํ์ธํ๊ณ , ์ ๋ ฅ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ข ๋ฅ
DBMS(DataBase Management System, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ )์ ์๊ฐ์ ๋ฐ๋ผ์ ์๋ก์ด ๋ชจ๋ธ๋ค์ด ๋ํ๋ฌ๋ค. ๊ธฐ์กด์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด์ ์๋ก์ด ๋ชจ๋ธ์ด ๋ง๋ค์ด์ง๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ฅผ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฅํ ์ ์๋ค.
๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ญ์ฌ๊ฐ ๊ฐ์ฅ ์ค๋๋ DBMS, ํด๋์ ํ์ผ ๋ฑ์ ๊ณ์ธต ๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์
- ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ๊ฐ ํธ๋ฆฌ ํํ์ ๊ตฌ์กฐ์ด๋ค. ๋ถ๋ชจ-์์๊ด๊ณ๋ก ํํ๋๋ฉฐ ์ด๋ ์ผ๋๋ค๋ก ๊ตฌ์ฑ๋๋ค.
- ๊ตฌ์กฐ๊ฐ ๊ฐ๋จํ๊ณ ๊ตฌํ/์์ /๊ฒ์์ด ์ฝ์ง๋ง, ๋ค๋๋ค ๊ด๊ณ ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐ๋ฅํ๊ณ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ด ์ด๋ ต๋ค.

๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ๊ณผ ์ด์ ๊ฐ์ง๋ ํ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, SQL์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค.
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด ๊ฐ๋จํ์ง๋ง, ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ฑฐ๋ ์ค์๊ฐ ๋ถ์์๋ ์ ํฉํ์ง ์๋ค.

NoSQL
- Not Only SQL์ ์ค์๋ง
- ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ์ง ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ, ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ ์๊ฑฐ๋ ์์ฃผ ๋ณ๊ฒฝํ์ง ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ
- ๊ธฐ์กด SQL์ ๋ณต์ก๋์ ์ฉ๋์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ง
- ์ค๋ณต์ ๊ณ์ ์ ๋ฐ์ดํธํ๊ฑฐ๋, ์์ ์ ์ค๋ณต๋ ๋ชจ๋ ์ปฌ๋ ์ ์ ์์ ํ๋ ๋จ์ ์ด ์์

๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ
SQL
Oracle
ํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ RDBMS ์ค ํ๋๋ก ์ฌ์ค์ ํ์ค์ด๋ค.
PostgreSQL
์คํ ์์ค ์ปค๋ฎค๋ํฐ๊ฐ ๊ฐ๋ฐํ RDBMS, ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ฅผ ์ฌ์ฉ์๊ฐ ์์๋ก ๋ง๋ค ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ์ผ๋ก์จ ์คํ์ ์ธ ๊ธฐ๋ฅ์ด๋ ๋ ํนํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ธฐ๋ ํ๋ค.
MySQL
๋ง์ฐฌ๊ฐ์ง๋ก ์คํ ์์ค ์ปค๋ฎค๋ํฐ์์ ๋ํ๋ RDBMS, ์ฒ์์๋ ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๋ ์ ์ ๊ฐ์กฐํด ํ์ํ ์ต์ํ์ ๊ธฐ๋ฅ๋ง์ ๊ฐ์ถ์์ง๋ง, ์ง๊ธ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋จ
NoSQL
MongoDB
Document ์งํฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ , JSON๊ณผ ๊ฐ์ ๋์ ์คํค๋งํ ๋ฌธ์๋ค์ ์ ํธ. ์ ํด์ง ์คํค๋ง๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ์ ์ฅํ ์ ์๋ค.
Apache Cassandra
์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ ๋ฐ ํด๋ผ์ฐ๋์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ์ ์ ํฉ. ์ต๋ํ์ ์ ์ฐ์ฑ๊ณผ ๋น ๋ฅธ ์๋ต ์๊ฐ์ ์ํด ์๋ก๋์ด ์ฅ์ ์์ด ๋ง์ ์์ฉ ์๋ฒ์์ ์ง์์ ์ธ ๊ฐ์ฉ์ฑ, ์ ํ ํ์ฅ์ฑ ๋ฐ ์ด์ ๋จ์์ฑ์ ์ ๊ณต
CQL ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ์ ์ก์ธ์ค (CQL: Cassandra Query Language, Cassandra DBMS์ ๋ํ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค)

Apache HBase
๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ํ ์ฑ๋ฅ์ผ๋ก ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ฉด์ ๋ค๋ค์ผํ ๋ ์ฌ์ฉ
Hadoop์ ์ฐํ ํ๋ก์ ํธ๋ก ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก Hadoop์ ๋๊ตฌ๋ค๊ณผ ์ํธ ์ด์์ฑ์ด ์ข์
'Engineering ๐ป > CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [DB] Index๋ (feat. B+-Tree) (0) | 2022.02.13 |
|---|---|
| [PostgreSQL] Python์์ ๋ค์ค ํ์ Insertํ๋ ๋ค์ํ ๋ฐฉ๋ฒ๊ณผ ๋น๊ต (0) | 2022.02.10 |
| [DB] SQL๊ณผ NoSQL (0) | 2022.02.02 |
| [CS] ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2022.01.16 |