๐ข
01. ๋ฐ์ดํฐ๋ชจ๋ธ
02. ๋ ผ๋ฆฌ ๋ฐ์ดํฐ
03. ๋ฌผ๋ฆฌ ๋ฐ์ดํฐ
04. ๋ฐ์ดํฐ๋ฒ ์ด์ค
01. ๋ฐ์ดํฐ๋ชจ๋ธ
๋ฐ์ดํฐ ๋ชจ๋ธ(Data Model)
- ํ์ค ์ธ๊ณ์ ์ ๋ณด๋ฅผ ์ธ๊ฐ๊ณผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋๋ก ์ถ์ํํ์ฌ ํํํ ๋ชจ๋ธ
๋ฐ์ดํฐ ๋ชจ๋ธ ํ์ ์์
์ฐ๊ตฌ์
์ฐ์ฐ (Operation) |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์์
์๋ํ ๋ช
์ธ ๋ฆด๋ ์ด์ ์กฐ์์ํ ๊ด๊ณ ์ฐ์ฐ (์ /ํ/์กฐ/๋) |
๊ตฌ์กฐ (Structure) |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋
ผ๋ฆฌ์ ์ผ๋ก ํํ๋ ๋์. ๊ฐ์ฒด ํ์
๊ณผ ๊ฐ์ฒด ํ์
๊ฐ์ ๊ด๊ณ. ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์ ์ ์ฑ์ง์ ํํํ๋ ์์ |
์ ์ฝ์กฐ๊ฑด (Contraint) |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ ์๋ ์ค์ ๋ฐ์ดํฐ์ ๋
ผ๋ฆฌ์ ์ธ ์ ์ฝ ์กฐ๊ฑด ๋ฌด๊ฒฐ์ฑ ์ ์ง๋ฅผ ์ํ DB์ ๋ณดํธ์ ๋ฐฉ๋ฒ. ํน์ ์นผ๋ผ ์ ์ฝ์ ์๋ฏธ(๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ/์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ๋ฑ) |
๋ฐ์ดํฐ ๋ชจ๋ธ ์ ์ฐจ
๊ฐ๋ ผ๋ฌผ
1. ์๊ตฌ์กฐ๊ฑด ๋ถ์ | - | ๋์ถ๋ ์๊ตฌ์ฌํญ ๊ฐ ์์ถฉ ํด๊ฒฐ / ๋ฒ์ ํ์ / ์ธ๋ถ ํ๊ฒฝ๊ณผ ์ํธ์์ฉ ๋ถ์ / ์๊ตฌ ๋ถ์ |
2. ๊ฐ๋ ์ ์ค๊ณ | ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ | ์ฌ์ฉ์ ์๊ตฌ์ ํธ๋์ญ์
์ ๋ชจ๋ธ๋ง ํ์ค ์ธ๊ณ ์ธ์์ ์ถ์์ , ๊ฐ๋ ์ ์ผ๋ก ํํ. ๊ฐ๋ ์ ๊ตฌ์กฐ๋ฅผ ๋์ถํจ ์ฐ์ถ๋ฌผ : ๊ฐ์ฒด๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ(ERD) |
3. ๋ ผ๋ฆฌ์ ์ค๊ณ | ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ | ํธ๋์ญ์
์ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณ ํ์ํํ์ฌ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฝ๊ฒ ํํํ ๋ฐ์ดํฐ ๋ชจ๋ธ DBMS์ ๋ง๋ ๋ ผ๋ฆฌ์ ์คํค๋ง๋ฅผ ์ค๊ณ. ์ ๊ทํ ์ํ ์คํค๋ง์ ํ๊ฐ ๋ฐ ์ ์ , ํ ์ด๋ธ์ ์ค๊ณ |
4. ๋ฌผ๋ฆฌ์ ์ค๊ณ | ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ | ํน์ ๋ DBMS์ ํน์ฑ ๋ฐ ์ฑ๋ฅ์ ๊ณ ๋ คํ์ฌ ๋ฌผ๋ฆฌ์ ์ธ ์คํค๋ง๋ฅผ ๋ง๋๋ ๋จ๊ณ ํ ์ด๋ธ, ์ธ๋ฑ์ค, ๋ทฐ, ํํฐ์ ๋ฑ ๊ฐ์ฒด๋ฅผ ์์ฑ ์๋ต์๊ฐ, ์ ์ฅ๊ณต๊ฐ ๋ฑ ์ฑ๋ฅํ. ๋ฐ์ ๊ทํ ์ํ |
02. ๋ ผ๋ฆฌ ๋ฐ์ดํฐ
๋ ผ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
- ์ ๋ฌด์ ๋ชจ์ต์ ๋ชจ๋ธ๋ง ํ๊ธฐ๋ฒ์ผ๋ก ํ์ํํ์ฌ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฝ๊ฒ ํํํ๋ ํ๋ก์ธ์ค
- ๊ฐ๋ ๋ชจ๋ธ๋ก๋ถํฐ ์ ๋ฌด์์ญ์ ์ ๋ฌด ๋ฐ์ดํฐ ๋ฐ ๊ท์น์ ๊ตฌ์ฒด์ ์ผ๋ก ํํํ ๋ชจ๋ธ
๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ข ๋ฅ
๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ | 2์ฐจ์ ํ ์ด๋ธ ํํ / ๊ธฐ๋ณธํค์ ์ธ๋ํค๋ก ๊ด๊ณ ํํ / 1:1, 1:N, N:M ๊ด๊ณ๋ฅผ ์์ ๋กญ๊ฒ ํํ |
๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ | ํธ๋ฆฌํํ / ์ํ๊ด๊ณ๋ง ์กด์ฌ(๋ถ๋ชจ-์์) / 1:N ๊ด๊ณ๋ง ํ์ฉ |
๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ | ๊ทธ๋ํ ํํ / ์์ ํ์ ์ฌ์ด์์ N:M(๋ค๋๋ค) ๊ด๊ณ๋ฅผ ๋ง์กฑํ๋ ๊ตฌ์กฐ |
๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ฑ
๊ฐ์๊ด
๊ฐ์ฒด (Entity) | ํผํฐ์ฑ : ์ฌ๊ฐํ โก / ๊น๋ง๊ท๋ฐ : ํ ํ์ | ๊ด๋ฆฌํ ๋์์ด ๋๋ ์ค์ฒด |
์์ฑ (Attribute) | ํผํฐ์ฑ : ํ์ํโ / ๊น๋ง๊ท๋ฐ : ํ ๋ด๋ถ์ ํ์ | ๊ด๋ฆฌํ ์ ๋ณด์ ๊ตฌ์ฒด์ ํญ๋ชฉ |
๊ด๊ณ (Relationship) | ํผํฐ์ฑ : ๋ง๋ฆ๋ชจโ / ๊น๋ง๊ท๋ฐ : ์ โ< | ๊ฐ์ฒด ๊ฐ์ ๋์ ๊ด๊ณ |
๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ ๊ตฌ์ฑ
ํ์นดํ์ด์ฐจ์
๋ฆด๋ ์ด์ (Relation) = ํ ์ด๋ธ | |
ํํ(Tuple) = ํ | ์นด๋๋๋ฆฌํฐ(Cardinality) = ํ์ ์ |
์์ฑ(Attribute) = ์ด | ์ฐจ์(Degree) = ์ด์ ์ |
๊ด๊ณ ๋์
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํ๋ ์ ๋ณด์ ๊ทธ ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ ์ ๋ํ๋๊ฐ๋ฅผ ๊ธฐ์ ํ๋ ์ ์ฐจ์ ์ ํ ์ธ์ด
๊ด๊ณ ๋์ ์ฐ์ฐ์ ์ข ๋ฅ
1. ์ผ๋ฐ ์งํฉ ์ฐ์ฐ์ (ํฉ๊ต์ฐจ์นด)
ํฉ์งํฉ (Union) |
R ∪ S | ๊ฐ๊ฐ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํํ์กฐํ ๊ฒฐ๊ณผ์ ๋ฆด๋ ์ด์ |
๊ต์งํฉ (Intersection) |
R ∩ S ใ | R๊ณผ S์ ๋ชจ๋ ์ํ๋ ๋ชจ๋ ํํ์กฐํ ๊ฒฐ๊ณผ์ ๋ฆด๋ ์ด์ |
์ฐจ์งํฉ (Difference) |
R ๏ผ S | R์ ์กด์ฌํ๊ณ S์ ์กด์ฌํ์ง ์๋ ํํ ๊ฒฐ๊ณผ์ ๋ฆด๋ ์ด์ |
์นดํฐ์
ํ๋ก๋ํธ (CARTESIAN Product) |
R X S | R๊ณผ S์ ์ํ ๋ชจ๋ ํํ์ ์ฐ๊ฒฐํด ๋ง๋ค์ด์ง ์๋ก์ด ํํ๋ก ๋ง๋ ๋ฆด๋ ์ด์ |
2. ์์ ๊ด๊ณ ์ฐ์ฐ์ (์ ํ์กฐ๋)
์
๋ ํธ (Select) |
σ์กฐ๊ฑด(R) | R์ ์กฐ๊ฑด์ ๋ง๋ณตํ๋ ํํ ๋ฐํ |
ํ๋ก์ ํธ (Project) |
π์์ฑ๋ฆฌ์คํธ (R) | R์ ์ฃผ์ด์ง ์์ฑ๋ค์ ๊ฐ์ผ๋ก๋ง ๊ตฌ์ฑ๋ ํํ ๋ฐํ |
์กฐ์ธ (Join) |
R โ S | R๊ณผ S์ ํํ๋ค์ ์ฐ๊ฒฐํด ๋ง๋ค์ด์ง ํํ ๋ฐํ |
๋๋น์ (Division) |
R ÷ S | S์ ๋ชจ๋ ํํ๊ณผ ๊ด๋ จ์๋ R์ ํฌํ ๋ฐํ |
์ ๊ทํ (Normalization)
- ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ์ ์ค๋ณต์ฑ์ ์ ๊ฑฐํ์ฌ ์ด์ ํ์ค์ ๋ฐฉ์ง, ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ์ ํ์ฑ์ ์ ์งํ๊ธฐ ์ํด ๋ฌด์์ค ๋ถํดํ๋ ๊ณผ์
์ด์ํ์(Anomaly)
- ๋ฐ์ดํฐ ์ค๋ณต์ฑ์ผ๋ก ์ธํด ๋ฆด๋ ์ด์ ์กฐ์ ์ ๋ฐ์ํ๋ ๋นํฉ๋ฆฌ์ ํ์
์ฝ์ญ๊ฐฑ
์ฝ์ ์ด์ | ์ ์ฅ ์ ํด๋น ์ ๋ณด์ ๋ถํ์ํ ์ธ๋ถ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ผ ํ๋ ๊ฒฝ์ฐ |
์ญ์ ์ด์ | ์ญ์ ์ ์์น ์๋ ๋ค๋ฅธ ์ ๋ณด๊ฐ ๊ฐ์ด ์ญ์ ๋๋ ๊ฒฝ์ฐ |
๊ฐฑ์ ์ด์ | ์ค๋ณต ๋ฐ์ดํฐ ์ค์์ ํน์ ๋ถ๋ถ๋ง ์์ ๋์ด ์ค๋ณต๋ ๊ฐ์ด ๋ชจ์์ ์ผ์ผํค๋ ๊ฒฝ์ฐ |
์ ๊ทํ ๋จ๊ณ
๋๋ถ์ด๊ฒฐ๋ค์กฐ
1์ ๊ทํ (1NF) | ๋๋ฉ์ธ์ด ์์๊ฐ. ์์ฑ ํ๋๋ง ๊ฐ์ง๋๋ก ์ ์ฅ |
2์ ๊ทํ (2NF) | ๋ถ๋ถํจ์ ์ข ์ ์ ๊ฑฐ. ์ฃผ์๋ณ์๊ฐ ์๋ ์์ฑ์ ๋ถ๋ฆฌ. ์์ ํจ์์ ์ข ์ ๊ด๊ณ |
3์ ๊ทํ (3NF) | ์ดํํจ์(A→B์ด๊ณ , B→C์ด๋ฉด A→C๊ด๊ณ๊ฐ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ) ์ข ์ ์ ๊ฑฐ |
๋ณด์ด์ค-์ฝ๋ ์ ๊ทํ (BCNF) | ๊ฒฐ์ ์ ํ๋ณดํค๊ฐ ์๋ ํจ์ ์ข ์ ์ ๊ฑฐ |
4์ ๊ทํ (4NF) | ๋ค์น ์ข ์ ์ ๊ฑฐ. ๊ฐ๋ฐ์-์ธ์ด / ๊ฐ๋ฐ์-์๊ฒฉ์ฆ ์ด๋ ๊ฒ ๋ถ๋ฆฌ |
5์ ๊ทํ (5NF) | ์กฐ์ธ ์ข ์ ์ ๊ฑฐ. |
๋ฐ์ ๊ทํ (De-Normalization)
- ์ ๊ทํ๋ ์ํฐํฐ, ์์ฑ, ๊ด๊ณ์๋ํด ์ฑ๋ฅ ํฅ์๊ณผ ๊ฐ๋ฐ ์ด์์ ๋จ์ํ๋ฅผ ์ํด ์ค๋ณต, ํตํฉ, ๋ถ๋ฆฌ๋ฅผ ์ํํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ
๋ฐ์ ๊ทํ ๊ธฐ๋ฒ
ํ ์ด๋ธ ๋ณํฉ | ๋ฆด๋ ์ด์ ๊ด๊ณ๋ฅผ ํตํฉํด ์กฐ์ธ ํ์๋ฅผ ์ค์ฌ ์ฑ๋ฅ ํฅ์ | |
ํ ์ด๋ธ ๋ถํ | ์ํ๋ถํ | ํ ์ด๋ธ ๋ถํ ์ ๋ ์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํํฐ์ ๋ |
์์ง๋ถํ | ํ ์ด๋ธ์ด ๊ฐ์ง๋ ์ปฌ๋ผ ๊ฐ์๊ฐ ๋ง์๊ฒฝ์ฐ ํ์ฉ | |
์ค๋ณต ํ ์ด๋ธ ์ถ๊ฐ | ์ง๊ณ ํ ์ด๋ธ ์ถ๊ฐ | GROUP BY ์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ์ํ ํ ์ด๋ธ ์์ฑ. ์๋ณธ ํ ์ด๋ธ์ ํธ๋ฆฌ๊ฑฐ ์์ฑ |
์งํ ํ ์ด๋ธ ์ถ๊ฐ | ์ด๋ ฅ ๊ด๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ถ๊ฐํ๋ ํ ์ด๋ธ | |
ํน์ ๋ถ๋ถ๋ง ํฌํจ ํ ์ด๋ธ ์ถ๊ฐ | ๋ฐ์ดํฐ๊ฐ ๋ง์ ํ ์ด๋ธ์ ํน์ ๋ถ๋ถ๋ง ์ฌ์ฉ | |
์ปฌ๋ผ ์ค๋ณตํ | ์กฐ์ธ ์ฑ๋ฅ ํฅ์์ ์ํ ์ค๋ณต ํ์ฉ | |
์ค๋ณต๊ด๊ณ ์ถ๊ฐ | ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ๊ฑฐ์ณ ์กฐ์ธ์ด ๊ฐ๋ฅํ๋ฐ ๊ทธ ์ฌ์ด์ ์ถ๊ฐ์ ๊ด๊ณ๋ฅผ ๋งบ์ด ์ฑ๋ฅ์ ํ์๋ฐฉ |
03. ๋ฌผ๋ฆฌ ๋ฐ์ดํฐ
๋ฌผ๋ฆฌ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
- ๋ ผ๋ฆฌ๋ชจ๋ธ์ ์ ์ฉํ๊ณ ์ ํ๋ ๊ธฐ์ ์ ๋ง๋๋ก ์์ธํํด๊ฐ๋ ๊ณผ์
๋ฌผ๋ฆฌ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ณํ ์ ์ฐจ
- ๊ฐ์ฒด → ํ ์ด๋ธ
- ์์ฑ → ์ปฌ๋ผ
- UID → ๊ธฐ๋ณธํค
- ๊ด๊ณ → ์ธ๋ํค
- ์ปฌ๋ผ์ ํ๊ณผ ๊ธธ์ด ์ ์
- ๋ฐ ์ ๊ทํ ์ํ
ํ ์ด๋ธ ์ ์ฝ ์กฐ๊ฑด
์ฐธ์กฐ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
- ๋ ๋ฆด๋ ์ด์ ์ฌ์ด์ ๋ํด ์ฐธ์กฐ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ์กฐ๊ฑด
โ ์ ํ(Restricted) : ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์์น์ ์๋ฐฐํ๋ ์ฐ์ฐ์ ๊ฑฐ์ ํ๋ ์ต์
โก ์ฐ์(Cascade) : ์ฐธ์กฐ๋๋ ๋ฆด๋ ์ด์ ์์ ํํ์ ์ญ์ . ์ฐธ์กฐํ๋ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ ํํ๋ ํจ๊ป ์ญ์ ํ๋ ์ต์
โข ๋๊ฐ(Nullify) : ์ฐธ์กฐ๋๋ ๋ฆด๋ ์ด์ ์์ ํํ ์ญ์ . ์ฐธ์กฐํ๋ ๋ฆด๋ ์ด์ ์์ ํํ์ NULL๊ฐ์ ๋ฃ๋ ์ต์ . NOT NULL์ค์ ์ ์ญ์ ์ฐ์ฐ์ ๊ฑฐ์
์ธ๋ฑ์ค(Index)
- ๊ฒ์์ฐ์ฐ์ ์ต์ ํ๋ฅผ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด ์ด์ ๋ํ ์ ๋ณด๋ฅผ ๊ตฌ์ฑํ ๋ฐ์ดํฐ๊ตฌ์กฐ
์ธ๋ฑ์ค ์ ์ฉ ๊ธฐ์ค
- ์ธ๋ฑ์ค ๋ถํฌ๋๊ฐ 10~15% ์ธ ๊ฒฝ์ฐ
- ๋ถํฌ๋ = (1 / (์ปฌ๋ผ ๊ฐ์ ์ข ๋ฅ)) x 100
- ๋ถํฌ๋ = (์ปฌ๋ผ ๊ฐ์ ํ๊ท Row ์) / (ํ ์ด๋ธ์ ์ด Row ์) x 100
์ธ๋ฑ์ค์ปฌ๋ผ ์ ์
- ๋ถํฌ๋๊ฐ ์ข์ ์ปฌ๋ผ์ ๋จ๋ ์ ์ผ๋ก ์์ฑ
- ์์ฃผ ์กฐํฉ๋์ด ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ ๊ฒฐํฉ ์ธ๋ฑ์ค๋ก ์์ฑ
- ๊ฒฐํฉ ์ธ๋ฑ์ค๋ ๊ตฌ์ฑ๋๋ ์ปฌ๋ผ ์์ ์ ์ ์ ์ ์ (์ฌ์ฉ๋น๋, ์ ์ผ์ฑ, ์ ๋ ฌ)
- ๊ฐ๋ฅํ ํ ์์ ์ด ๋น๋ฒํ์ง ์์ ์ปฌ๋ผ์ ์ ์
ํด๋ฌ์คํฐ(Cluster) ์ ์ฉ๊ธฐ์ค
- ์ธ๋ฑ์ค์ ๋จ์ ์ ํด๊ฒฐํ ๊ธฐ๋ฒ. ๋ถํฌ๋๊ฐ ๋์์๋ก ์คํ๋ ค ์ ๋ฆฌ
- ๋๋์ ๋ฒ์๋ฅผ ์์ฃผ ์ก์ธ์ค ํ๋ ๊ฒฝ์ฐ ์ ์ฉ
- ์ฌ๋ฌ๊ฐ์ ํ ์ด๋ธ์ด ๋น๋ฒํ๊ฒ ์กฐ์ธ์ ์ผ์ผํฌ ๋ ํ์ฉ
ํด๋ฌ์คํฐ ์ค๊ณ ์ ๊ณ ๋ ค์ฌํญ
- ๊ฒ์ ํจ์จ์ ๋์ฌ์ฃผ๋ ์ ๋ ฅ, ์์ , ์ญ์ ์ ๋ถํ ์ฆ๊ฐ
- ์งํฉํฉ์ ๋น๋ฒํ ์ปฌ๋ผ์ด๋ผ๋ฉด ๊ฒํ ํ์
ํํฐ์ (Partition)
โ ๋ ์ธ์ง ํํฐ์
๋ (Range Partitioning) |
- ์ฐ์์ ์ธ ์ซ์๋ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ํํฐ์
๋ - ์์ฌ์ด ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ์ ๊ณตํ์ฌ ๊ด๋ฆฌ ์๊ฐ์ ๋จ์ถ์ด ๊ฐ๋ฅ - ์ ) ์ฐํธ๋ฒํธ, ์ผ๋ณ, ์๋ณ, ๋ถ๊ธฐ๋ณ |
โก ํด์ ํํฐ์
๋ (Hash Partitioning) |
- ํํฐ์
ํค์ ํด์ ํจ์ ๊ฐ์ ์ํ ํํฐ์
๋ - ๊ท ๋ฑํ ๋ฐ์ดํฐ ๋ถํ ์ด ๊ฐ๋ฅํ๊ณ ์ง์ ์ฑ๋ฅ์ด ํฅ์ ๊ฐ๋ฅ - ์ ) ํํฐ์ ์ ์ํ ๋ฒ์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์ ํฉ |
โข ๋ฆฌ์คํธ ํํฐ์
๋ (List Partitioning) |
- ํน์ ํํฐ์
์ ์ ์ฅ ๋ ๋ฐ์ดํฐ์ ๋ํ ๋ช
์์ ์ ์ด๊ฐ ๊ฐ๋ฅํ ํํฐ์
๋ - ๋ถํธ๋๊ฐ ๋น์ทํ๊ณ ๋ฐ์ดํฐ๊ฐ ๋ง์ sql์์ ์ปฌ๋ผ์ ์กฐ๊ฑด์ด ๋ง์ด ๋ค์ด์ค๋ ๊ฒฝ์ฐ ์ ์ฉ - ์ ) ํ๊ตญ,์ผ๋ณธ,์ค๊ตญ์ ์์์. ๋ ธ๋ฅด์จ์ด,์ค์จ๋ด,ํ๋๋๋ ๋ถ์ ๋ฝ |
โฃ ์ปดํฌ์งํธ ํํฐ์
๋ (Composite Partitioning) |
- ์ ๋๊ฐ ํํฐ์
๋์ ๊ฒฐํฉํ๋ ํํฐ์
๋ - ํฐ ํํฐ์ ์ ๋ํ I/O์์ฒญ์ ์ฌ๋ฌ ํํฐ์ ์ผ๋ก ๋ถ์ฐ |
โค ๋ผ์ด๋๋ก๋น ํํฐ์
๋ (Round-Robin Partitioning) |
- ๋ผ์ด๋๋ก๋น ๋ถํ ๋ก ํ์ ํ๋ฉด์ ์๋ก์ด ํ์ด ํํฐ์
์ ํ ๋นํ๋ ๋ฐฉ์ - ํํฐ์ ์ ํ์ ๊ณ ๋ฅธ ๋ถํฌ๋ฅผ ์ํ ๋ ์ฌ์ฉ |
ํํฐ์ ์ ์ฅ์
์ฑ๋ฅ ํฅ์ | ๋ฐ์ดํฐ ์ก์ธ์ค ๋ฒ์๋ฅผ ์ค์ |
๊ฐ์ฉ์ฑ ํฅ์ | ์ ์ฒด ๋ฐ์ดํฐ ํผ์ ๊ฐ๋ฅ์ฑ ๊ฐ์. ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ ํฅ์ |
๋ฐฑ์ ๊ฐ๋ฅ | ๋ถํ ์์ญ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฑ์ ํ๊ณ ๋ณต๊ตฌ๊ฐ๋ฅ |
๊ฒฝํฉ ๊ฐ์ | ๋์คํฌ ์ปจํธ๋กค๋ฌ์ ๋ํ ๊ฒฝํฉ์ ๊ฐ์ ๋์คํฌ ์คํธ๋ผ์ดํ* ์ ์ถ๋ ฅ ์ฑ๋ฅ์ ํฅ์ * ์ฑ๋ฅ ํฅ์์ ์ํด ๋ฐ์ดํฐ๋ฅผ 1๊ฐ ์ด์์ ๋์คํฌ ๋๋ผ์ด๋ธ์ ์ ์ฅํ์ฌ ๋๋ผ์ด๋ธ๋ฅผ ๋ณ๋ ฌ๋ก ์ฌ์ฉํ ์ ์๋ ๊ธฐ์ |
04. ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ๊ฐ๋
- ๋ค์์ ์ธ์, ์์คํ ๋๋ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ํตํฉํ์ฌ ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ์ ์งํฉ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์
ํต์ ์ด๊ณต
ํตํฉ๋ ๋ฐ์ดํฐ (Integrated Data) | ์๋ฃ ์ค๋ณต์ ๋ฐฐ์ ํ ๋ฐ์ดํฐ์ ๋ชจ์ |
์ ์ฅ๋ ๋ฐ์ดํฐ (Stored Data) | ์ ์ฅ ๋งค์ฒด์ ์ ์ฅ๋ ๋ฐ์ดํฐ |
์ด์ ๋ฐ์ดํฐ (Operational Data) | ์กฐ์ง์ ์ ๋ฌด๋ฅผ ์ํํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ |
๊ณต์ฉ ๋ฐ์ดํฐ (Shared Data) | ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ , ์์คํ ๋ค์ด ๊ณต๋์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ |
๋ฐ์ดํฐ๋ฒ ์ด์ค ํน์ฑ
์ค์ ๊ณ๋ณ ๋๋ด
์ค์๊ฐ ์ ๊ทผ์ฑ (Real-Time Accessibility) |
์ฟผ๋ฆฌ์ ๋ํ์ฌ ์ค์๊ฐ ์๋ต์ด ๊ฐ๋ฅํด์ผ ํจ |
๊ณ์์ ์ธ ๋ณํ (Continuous Evolution) |
์๋ก์ด ๋ฐ์ดํฐ์ ์ฝ์ , ์ญ์ , ๊ฐฑ์ ์ผ๋ก ํญ์ ์ต์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํจ |
๋์ ๊ณต์ฉ (Concurrent Sharing) |
๋ค์์ ์ฌ์ฉ์๊ฐ ๋์์ ๊ฐ์ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ์ ์์ด์ผ ํจ |
๋ด์ฉ ์ฐธ์กฐ (Content Refernce) |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ ๋ ๋ฐ์ดํฐ ๋ ์ฝ๋์ ์ฃผ์๋ ์์น์ ์ํด์๊ฐ ์๋๋ผ, ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ ๋ฐ์ดํฐ ๋ด์ฉ์ผ๋ก ์ฐพ๋๋ค. |
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ (RDBMS, Relational Database Management System)
- ๊ด๊ณํ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฐ์ฅ ๋ณดํธํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
- ํ ์ด๋ธ์ ์ํ ๊ด๊ณ๋ก ํ์ํ๋ฉฐ ์๊ด๊ด๊ณ๋ฅผ ์ ๋ฆฌ
๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ (HDBMS, Hierarchical Database Management System)
- ๋ฐ์ดํฐ๋ฅผ ์ํ ์ข ์์ ์ธ ๊ด๊ณ๋ก ๊ณ์ธตํ ํ์ฌ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๋ฐ์ดํฐ ์ ๊ทผ ์๋๊ฐ ๋น ๋ฅด์ง๋ง ์ข ์์ ์ธ ๊ตฌ์กฐ๋ก ๋ณํํ๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ์ ์ ์ฐ๋์ ์ด๋ ค์
๋คํธ์ํฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ (NDBMS, Network Database Management System)
- ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋คํธ์ํฌ์์ ๋ง์ ํํ๋ก ํํํ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ํธ๋ฆฌ๊ตฌ์กฐ๋ ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ณด๋ค๋ ์ ์ฐํ์ง๋ง ์ค๊ณ๊ฐ ๋ณต์กํ ๋จ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ํด ๊ธฐ๋ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ, ์ญ์
- SQL๋ช ๋ น์ด ์์ฑ ๋ฐ ์คํ
- ์ํ ๋ชจ๋ํฐ๋ง
- ์ฌ์ฉ์ ๊ณ์ ๊ด๋ฆฌ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋ณด๋ด๊ธฐ/๊ฐ์ ธ์ค๊ธฐ
- ํ๊ฒฝ์ค์
DBMS(Database Management System)
- ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ์ ํด๊ฒฐํ๋ ๋์์ ๋ฐ์ดํฐ ์ถ๊ฐ, ๋ณ๊ฒฝ, ๊ฒ์, ์ญ์ , ๋ณต๊ตฌ, ๋ณด์ ๋ฑ ๊ธฐ๋ฅ์ ์ง์ํ๋ SW
DBMS ํน์ง
๋ฌด์ผํ๋ณดํจ
- ๋ฌด๊ฒฐ์
- ์ผ๊ด์ฑ
- ํ๋ณต์ฑ
- ๋ณด์์ฑ
- ํจ์จ์ฑ
DBMS ์ ํ
ํค์ปฌ๋๊ทธ
ํค ๊ฐ DBMS (Key-Value DBMS) |
- ํค ๊ธฐ๋ฐ GET/PUT/DELETE ์ ๊ณต. ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ์์ ์ฑ๋ฅ ์ฐ์ ์์คํ
๋ฐ ๋น
๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฐ๋ฅ - Redis, DynamicDB |
์ปฌ๋ผ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ ์ฅ DBMS (Column Family Data Store DBMS) |
- Key์์ (Column Value) ์กฐํฉ์ผ๋ก ๋ ์ฌ๋ฌ๊ฐ์ ํ๋๋ฅผ ๊ฐ๋ DBMS - ํ ์ด๋ธ ๊ธฐ๋ฐ, ์กฐ์ธ ๋ฏธ์ง์, ์ปฌ๋ผ ๊ธฐ๋ฐ. - ๊ตฌ๊ธ์ Bigtable ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ - HBase, Cassandra |
๋ฌธ์ ์ ์ฅ DBMS (Document Store DBMS) |
- ๊ฐ์ ๋ฐ์ดํฐ ํ์
์ด ๋ฌธ์๋ผ๋ ํ์
์ ์ฌ์ฉ - XML, JSON๊ณผ ๊ฐ์ด ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๋ณต์กํ ๊ณ์ธต ๊ตฌ์กฐ ํํ ๊ฐ๋ฅ - MongoDB, Couchbase |
๊ทธ๋ํ DBMS (Graph DBMS) |
- ์๋ฉํฑ ์น๊ณผ ์จํจ๋ก์ง ๋ถ์ผ์์ ํ์ฉ๋๋ ๊ทธ๋ํ๋ก ๋ฐ์ดํฐ๋ฅผ ํํ - ๋ ธ๋์ ์ฃ์ง๋ก ํน์ง๋๋ ์์ ํนํ. ๋ ธ๋ ๊ฐ ๊ด๊ณ๋ฅผ ๊ตฌ์กฐํํ์ฌ ์ ์ฅ - Neo4j, AllegroGraph |
๋น ๋ฐ์ดํฐ
- ์์คํ , ์๋น์ค, ์กฐ์ง, ํ์ฌ๋ฑ์์ ์ฃผ์ด์ง ๋น์ฉ, ์๊ฐ ๋ด์ ์ฒ๋ฆฌ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋ฒ์๋ฅผ ๋์ด์ ์์ญ ํํ๋ฐ์ดํธ ํฌ๊ธฐ์ ๋น์ ํ ๋ฐ์ดํฐ์ด๋ค.
๋น ๋ฐ์ดํฐ์ ํน์ฑ
V3
๋ฐ์ดํฐ์ ์(Volume) | ํํ๋ฐ์ดํธ ์์ค์ ๋๊ท๋ชจ ๋ฐ์ดํฐ |
๋ฐ์ดํฐ์ ๋ค์์ฑ(Variety) | ์ ํ, ๋น์ ํ, ๋ฐ์ ํ ๋ค์ํ ๋ฐ์ดํฐ ๋ก๊ทธ, ์์ , ์์น ๋ฑ ๋ฐ์ดํฐ ์ ํ์ด ๋ค์ํด์ง๋ ๊ฒ์ ์๋ฏธ |
๋ฐ์ดํฐ์ ์๋(Velocity) | ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๊ณ ์์ง๋๋ฉฐ ์ฒ๋ฆฌ๋๋ ๋ฐ์ดํฐ |
NoSQL(Not Only SQL)
- ์ ํต์ ์ธ RDBMS์ ๋ค๋ฅธ DBMS๋ฅผ ์ง์นญํ๊ธฐ ์ํ ์ฉ์ด
- ๋ฐ์ดํฐ ์ ์ฅ์ ๊ณ ์ ๋ ํ ์ด๋ธ ์คํค๋ง๊ฐ ํ์ํ์ง ์์
- ์กฐ์ธ ์ฐ์ฐ์ ์ฌ์ฉํ ์ ์์
- ์ํ์ ์ผ๋ก ํ์ฅ์ด ๊ฐ๋ฅ
NoSQL์ BASE ํน์ฑ
Basically Available | ์ธ์ ๋ ์ง ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ด์ผํจ ๋ถ์ฐ ์์คํ ์ด๊ธฐ ๋๋ฌธ์ ํญ์ ๊ฐ์ฉ์ฑ ์ค์ |
Soft-State | ๋
ธ๋์ ์ํ๋ ์ธ๋ถ์์ ์ ์ก๋ ์ ๋ณด๋ฅผ ํตํด ๊ฒฐ์ ๋๋ ์์ฑ ํน์ ์์ ์์๋ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋์ง ์์ |
Eventually Consistency | ์ผ์ ์๊ฐ ์ง๋๋ฉด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ด ์ ์ง๋๋ ์์ฑ ์ผ๊ด์ฑ์ ์ค์ํ๊ณ ์งํฅ |
๋ฐ์ดํฐ ๋ง์ด๋(Data Minnig)
- ๋๊ท๋ชจ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ ์์์ ์ฒด๊ณ์ ์ด๊ณ ์๋์ ์ผ๋ก ํต๊ณ์ ๊ท์น์ด๋ ํจํด์ ์ฐพ์๋ด๋ ๊ธฐ์
- ์๋ฏธ์๋ ํจํด์ ํ์ , ์์ธกํ์ฌ ์์ฌ๊ฒฐ์ ์ด ํ์ฉํ๋ ๊ธฐ๋ฒ
๋ฐ์ดํฐ๋ง์ด๋ ์ ์ฐจ
๋ชฉ์ ์ค์ > ๋ฐ์ดํฐ ์ค๋น > ๊ฐ๊ณต > ๋ง์ด๋ ๊ธฐ๋ฒ ์ ์ฉ > ์ ๋ณด ๊ฒ์ฆ
๋ฐ์ดํฐ๋ง์ด๋ ์ฃผ์๊ธฐ๋ฒ
๋ถ์ฐ์ฐ๋ฐ
๋ถ๋ฅ ๊ท์น (Classification) |
๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ก๋ถํฐ ํน์ฑ์ ์ฐพ์ ์ด๋ฅผ ํ ๋๋ก ์๋ก์ด ๊ฒฐ๊ณผ ๊ฐ์ ์์ธก - ๋ง์ผํ , ๊ณ ๊ฐ ์ ์ฉํ๊ฐ ๋ชจํ์ ํ์ฉ |
์ฐ๊ด ๊ท์น (Association) |
๋ฐ์ดํฐ ์์ ์กด์ฌํ๋ ํญ๋ชฉ๋ค ๊ฐ ์ข
์๊ด๊ณ๋ฅผ ์ฐพ์๋ด๋ ๊ธฐ๋ฒ - ์๋น์ค ๊ต์ฐจํ๋งค, ๋งค์ฅ ์ง์ด ๋ฑ (๋ฅํ์ด ์ฌ๋ฉด ์ ์ธ ๋ฅผ ๊ตฌ๋งค) |
์ฐ์ ๊ท์น (Sequence) |
์ฐ๊ด ๊ท์น + ์๊ฐ ๊ด๋ จ ์ ๋ณด ํฌํจ๋ ํํ์ ๊ธฐ๋ฒ - ํธ๋์ญ์ ์ด๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์๊ณ์ด์ ์ผ๋ก ๋ถ์ํ์ฌ ํธ๋์ญ์ ํฅํ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์์ธก |
๋ฐ์ดํฐ ๊ตฐ์งํ (Clustering) |
๋์ ๋ ์ฝ๋๋ค์ ์ ์ฌํ ํน์ฑ์ ์ง๋ ์๊ทธ๋ฃน์ผ๋ก ๋ถํ ํ๋ ์์
์ ๋ณด๊ฐ ์๋ ์ํ์์ ๋ฐ์ดํฐ ๋ถ๋ฅํ๋ ๊ธฐ๋ฒ |
ํ ์คํธ ๋ง์ด๋
-๋๋์ ํ ์คํธ ๋ฐ์ดํฐ๋ก๋ถํฐ ํจํด, ๊ด๊ณ๋ฅผ ์ถ์ถํด ์๋ฏธ์๋ ์ ๋ณด๋ฅผ ์ฐพ์๋ด๋ ๊ธฐ๋ฒ
์น ๋ง์ด๋
- ์น์ผ๋ก ์ป์ด์ง๋ ๋ฐฉ๋ํ ์ ๋ณด๋ก๋ถํฐ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ฐพ์๋ด๊ธฐ ์ํด ๋ถ์ํ๋ ๊ธฐ๋ฒ
'๊ฐ๋ฐ๊ธฐ > ์ ์ฒ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ์ ๋ฌธ์ 3 (0) | 2025.04.01 |
---|---|
๋ชจ์ ๋ฌธ์ 2 (0) | 2025.03.30 |
๋ชจ์ ๋ฌธ์ (0) | 2025.03.30 |
2. ํ๋ฉด ์ค๊ณ (UI ์๊ตฌ์ฌํญ ํ์ธ / UI ์ค๊ณ) (0) | 2025.02.11 |
1. ์๊ตฌ์ฌํญ ํ์ธ (์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก / ํํ ์์คํ ๋ถ์ / ์๊ตฌ์ฌํญ ํ์ธ / ๋ถ์ ๋ชจ๋ธ ํ์ธํ๊ธฐ) (1) | 2025.02.08 |