๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ๊ธฐ/์ •์ฒ˜๊ธฐ

3. ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ ๊ตฌํ˜„ (๋ฐ์ดํ„ฐ๋ชจ๋ธ, ๋…ผ๋ฆฌ ๋ฐ์ดํ„ฐ, ๋ฌผ๋ฆฌ ๋ฐ์ดํ„ฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

by ๋™ ๋”” 2025. 2. 18.

๐Ÿ”ข

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)
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)
๋Œ€์ƒ ๋ ˆ์ฝ”๋“œ๋“ค์„ ์œ ์‚ฌํ•œ ํŠน์„ฑ์„ ์ง€๋‹Œ ์†Œ๊ทธ๋ฃน์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ์ž‘์—…
์ •๋ณด๊ฐ€ ์—†๋Š” ์ƒํƒœ์—์„œ ๋ฐ์ดํ„ฐ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ธฐ๋ฒ•

 

ํ…์ŠคํŠธ ๋งˆ์ด๋‹

-๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํŒจํ„ด, ๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•ด ์˜๋ฏธ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๊ธฐ๋ฒ•

 

์›น ๋งˆ์ด๋‹

- ์›น์œผ๋กœ ์–ป์–ด์ง€๋Š” ๋ฐฉ๋Œ€ํ•œ ์ •๋ณด๋กœ๋ถ€ํ„ฐ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ฐพ์•„๋‚ด๊ธฐ ์œ„ํ•ด ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋ฒ•