
โ ์ ๊ทํ
- ์ด์(Anomaly) ํ์์ด ๋ฐ์ํ์ง ์๋๋ก ์ค๋ณต์ฑ/์ข ์์ฑ ์ต์ํ ํ๊ธฐ ์ํ ์์
- ๋ ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ ์ํ, ์์ฑ ์๊ฐ ์ ์ ํ ์ด๋ธ๋ก ๋ถํ ๋์ด ๊ด๋ฆฌ๊ฐ ์ฉ์ดํด์ง
- ๋ฐ์ดํฐ ๊ตฌ์กฐ ์์ ์ฑ ์ต๋ํ / ๋ฐ์ดํฐ ์ฝ์ ์ ๋ฆด๋ ์ด์ ์ฌ๊ตฌ์ฑ ํ์ ์ต์ํ
โ ์ด์ ํ์ ์ข ๋ฅ
- ์ฝ์ ์ด์ : ๋ฐ์ดํฐ ์ฝ์ ์ ๋ถํ์ํ ๋ฐ์ดํฐ๊ฐ ํจ๊ป ์ฝ์
- ์ญ์ ์ด์ : ํํ ์ญ์ ์ ํ์ํ ๋ฐ์ดํฐ๋ ํจ๊ป ์ญ์
- ๊ฐฑ์ ์ด์ : ์ผ๋ถ๋ง ์์ ๋์ด ๋ฐ์ดํฐ ๋ถ์ผ์น โ ์ ๋ณด ๋ชจ์ ๋ฐ์
โ ์ ๊ทํ ๊ณผ์
์ธ์ฐ๋ ๋ฒ : ๋๋ถ์ด๊ฒฐ๋ค์กฐ(๋๋ถ ์ด๊ฑธ ๋ค์ค)
์ 1 ์ ๊ทํ | ๋ชจ๋ ๋๋ฉ์ธ(Domain)์ด ์์ ๊ฐ๋ง์ผ๋ก ๋์ด ์์ |
์ 2 ์ ๊ทํ | - ๊ธฐ๋ณธํค๊ฐ ์๋ ์์ฑ์ด ๊ธฐ๋ณธํค์ ๋ํ ์์ ํจ์์ ์ข
์ ๋ง์กฑ - ๋ถ๋ถ์ ํจ์ ์ข ์์ ์ ๊ฑฐํ ์ ๊ทํ |
์ 3 ์ ๊ทํ | ๊ธฐ๋ณธํค๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ๊ธฐ๋ณธํค์ ๋ํด ์ดํ์ ํจ์ ์ข
์ ๊ด๊ณ๋ฅผ ๋ง์กฑํ์ง ์์์ผ ํจ * ์ดํ์ ํจ์ ์ข ์(X โ Y, Y โ Z ์ด๋ฉด X โ Z) |
BCNF (๋ณด์ด์ค / ์ฝ๋) |
๋ฆด๋ ์ด์ R์์ ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณดํค์ธ ์ ๊ทํ |
์ 4 ํ๊ทํ | ๋ฆด๋ ์ด์ R์ ๋ค์น ์ข ์์ด ์ฑ๋ฆฝํ๋ ๊ฒฝ์ฐ R์ ๋ชจ๋ ์์ฑ์ด A์ ํจ์์ ์ข ์ ๊ด๊ณ๋ฅผ ๋ง์กฑํ๋ ์ ๊ทํ |
์ 5 ์ ๊ทํ | ๋ฆด๋ ์ด์ R์ ๋ชจ๋ ์กฐ์ธ ์ข ์์ด R์ ํ๋ณดํค๋ฅผ ํตํด์๋ง ์ฑ๋ฆฝ |
โ ๋ฐ์ ๊ทํ :
์ ๊ทํ ๊ณผ์ ์งํ ํ, ์์คํ ์ฑ๋ฅ ํฅ์ ๋ฐ ์ด์ ํธ์์ฑ์ ์ํด ์๋์ ์ผ๋ก ๋ฐ์ดํฐ ์ค๋ณต/ํตํฉ/๋ถ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์ ๊ทํ ์์น์ ์๋ฐ
[SQLD] ์ ๊ทํ, ๋ฐ์ ๊ทํ
๋ด๊ฐ ๋ณด๋ ค๊ณ ํท๊ฐ๋ฆฌ๋ ๊ฑฐ ์ ๋ฆฌํ ๊ฒ 1. ์ ๊ทํ๋ฐ์ดํฐ์ ์ ํฉ์ฑ(๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๋ณด์ฅ)ํ๊ธฐ ์ํด ์ํฐํฐ๋ฅผ ์์ ๋จ์๋ก ๋ถ๋ฆฌํ๋ ๊ณผ์ ์ด๋ค. ์ ๊ทํ๋ฅผ ํ ๋ ๋ฐ์ดํฐ ์กฐํ ์ฑ
awesomepossum.tistory.com
โ ํจ์์ ์ข
์
์์ ํจ์์ ์ข ์ | Full functional Dependency / ์ข ์์๊ฐ ๊ธฐ๋ณธํค์๋ง ์ข ์ |
๋ถ๋ถ ํจ์์ ์ข ์ | Partial Functional Dependency / ๊ธฐ๋ณธ ํค๊ฐ ์ฌ๋ฌ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ ๋ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ ์ค ์ผ๋ถ๋ง ์ข ์ |
์ดํ์ ํจ์ ์ข ์ | Transitive Functional Dependency / XโY, YโZ ์ด๋ฉด XโZ |
โ ๊ด๊ณ ๋์
์ํ๋ ์ ๋ณด์ ๊ฒ์ ๊ณผ์ ์ ์ ์ํ๋ ์ ์ฐจ์ ์ธ์ด


โ ๊ด๊ณ ํด์
์ํ๋ ์ ๋ณด๊ฐ ๋ฌด์์ด๋ผ๋ ๊ฒ๋ง ์ ์ํ๋ ๋น์ ์ฐจ์ ์ธ์ด

โ ํธ๋์ญ์ (Transaction)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ๋จ์
์์์ฑ (Atomicity) |
ํธ๋์ญ์
์ฐ์ฐ์ด ์ ์์ ์ผ๋ก ์ํ๋๊ฑฐ๋ (Commit), ์๋๋ฉด ์ด๋ ํ ์ฐ์ฐ๋ ์ํ๋์ง ์์์ผ ํจ (Rollback) |
์ผ๊ด์ฑ (Consistency) |
์์คํ ์ ๊ณ ์ ์์๋ ํธ๋์ญ์ ์ํ ์ /ํ๋ก ๋์ผํด์ผ ํจ |
๋
๋ฆฝ์ฑ (Isolation) |
๊ฐ๋ณ ํธ๋์ญ์ ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ ๊ฐ์ญ ๋ฐ ์ํฅ ๋ฐ์ง ์์์ผ ํจ |
์์์ฑ (Durability) |
์๋ฃ๋ ํธ๋์ญ์ ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ผ๋ก ๊ธฐ๋ก๋์ด์ผ ํจ |
- COMMIT : ํธ๋์ญ์ ์ ์ ์ข ๋ฃ ํ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ DB์ ๋ฐ์ํ๋ ๋ช ๋ น์ด
- ROLLBACK : ํธ๋์ญ์ ๋น์ ์ ์ข ๋ฃ ํ ๋ชจ๋ ๋ณ๊ฒฝ ์์ ์ ์ทจ์ํ๊ณ ์ด์ ์ํ๋ก ์๋ณต
- REDO : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น์ ์ ์ข ๋ฃ์ ํธ๋์ญ์ ์์(start) ๊ฐ๊ณผ ์๋ฃ(commit)์ ๋ํ ๊ธฐ๋ก์ด ์๋ ํธ๋์ญ์ ๋ค์ ์์ ์ ์ฌ์์ (์ด์ ๊ฐ์ ์ดํ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ)
- UNDO : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น์ ์ ์ข ๋ฃ ์ ์์์ ์์ง๋ง ์๋ฃ ๊ธฐ๋ก์ด ์๋ ํธ๋์ญ์ ๋ค์ด ์์ ํ ๋ด์ฉ์ ๋ชจ๋ ์ทจ์ (์ดํ ๊ฐ์ ์ด์ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ)
โ ๋ฐ์ดํฐ ํ๋ณต ๊ธฐ๋ฒ
โถ ์ฆ์ ๊ฐฑ์ ๊ธฐ๋ฒ (Immediate Update)
โ ํธ๋์ญ์ ์คํ ์ํ์์ ๋ณ๊ฒฝ๋๋ ๋ด์ฉ์ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉ
โ ๋ณ๊ฒฝ๋๋ ๋ชจ๋ ๋ด์ฉ์ ๋ก๊ทธ(Log)์ ๊ธฐ๋กํ์ฌ ์ฅ์ ์ ํด๋น ๋ก๊ทธ ํ ๋๋ก ๋ณต์
โ Redo / Undo ๋ชจ๋ ์ํ
โถ ์ง์ฐ ๊ฐฑ์ ๊ธฐ๋ฒ (Deferred Update)
โ ํธ๋์ญ์ ์ํ ํ ๋ถ๋ถ ์๋ฃ๋ ๋๊น์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ๋ก ์ ์ฉํ์ง ์๊ณ , ์ง์ฐ์ํจ ํ ๋ถ๋ถ์๋ฃ ์ ๋ก๊ทธ(Log)์ ๋ด์ฉ์ ํ ๋๋ก ์ ์ฅ
โ ํธ๋์ง์ ์ด ์คํจํ ๊ฒฝ์ฐ Undo ์ํ ์์ด Redo๋ง ์ํ
โถ ๊ฒ์ฌ ์์ ๊ธฐ๋ฒ (Check Point)
โ ํธ๋์ญ์ ์ํ ์ค๊ฐ์ ๊ฒ์ฌ ์ง์ (Checkpoint) ์ง์ ํ์ฌ ๊ฒ์ฌ ์์ ๊น์ง ๋ถ๋ถ ์ํ ํ ์๋ฃ๋ ๋ด์ฉ์ ์ค๊ฐ์ค๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ
โถ๊ทธ๋ฆผ์ ํ์ด์ง ๊ธฐ๋ฒ(Shadow paging)
โ ๋ก๊ทธ ๋ฏธ์ฌ์ฉ / ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ผ ํฌ๊ธฐ์ ํ์ด์ง๋ก ๋ถํ ํ ๊ฐ ํ์ด์ง๋ง๋ค ๋ณต์ฌํ์ฌ ๊ทธ๋ฆผ์ ํ์ด์ง ๋ณด๊ด
โ ๋ณ๊ฒฝ ๋ด์ฉ์ ์๋ณธ ํ์ด์ง์๋ง ์ ์ฉํ์ฌ ์ฅ์ ๋ฐ์ ์ ํด๋น ํ์ด์ง ์ฌ์ฉ/ํ๋ณต
โ ๋กํน ๋จ์ (Locking)
๋กํน์ ๋์์ด ๋๋ ๊ฐ์ฒด์ ํฌ๊ธฐ
- ๋กํน : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณํ ์ ์ด ์ํด ํธ๋์ญ์ (transaction)์ด ์ ๊ทผํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฐ(lock) ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ ๊ทผํ์ง ๋ชปํ๋๋ก ํ๋ ๋ณํ ์ ์ด ๊ธฐ๋ฒ
- ๋์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค / ํ์ผ / ๋ ์ฝ๋
- ๋กํน๋จ์ โผ โ ๋กํฌ์ ์ โฒ โ ๋กํน ์ค๋ฒํค๋ โฒ โ ๋ณํ์ฑ(๊ณต์ ๋) โฒ
- ๋กํน๋จ์ โฒ โ ๋กํฌ์ ์ โผ โ ๋กํน ์ค๋ฒํค๋ โผ โ ๋ณํ์ฑ(๊ณต์ ๋) โผ
โ ๋ณํ์ ์ด ๊ธฐ๋ฒ ์ข ๋ฅ
- ๋กํน ๊ธฐ๋ฒ : ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ํธ๋์ญ์ ์ ์์ฐจ์ ์งํ์ ๋ณด์ฅ (๋ณํ ์ํ ํธ๋์ญ์ ๋ค ๊ฐ ๋์ผ ๋ฐ์ดํฐ ์ ๊ทผ ์ฐจ๋จ)
- ๋๊ด์ ๊ฒ์ฆ : ์ผ๋จ ํธ๋์ญ์ ์ ์ํํ๊ณ , ํธ๋์ญ์ ์ข ๋ฃ ์ ๊ฒ์ฆ์ ์ํ
- ํ์ ์คํฌํ ๊ธฐ๋ฒ : ํ์ ์คํฌํ๋ฅผ ๋ถ์ฌ ํด ๋ถ์ฌ๋ ์๊ฐ์ ๋ฐ๋ผ ํธ๋์ญ์ ์ํ
- ๋ค์ค๋ฒ์ ๋์์ฑ ์ ์ด(MVCC) : ํ์ ์คํฌํ๋ฅผ ๋น๊ตํด ์ง๋ ฌ๊ฐ๋ฅ์ฑ์ด ๋ณด์ฅ๋๋ ์ ์ ํ ๋ฒ์ ์ ์ ํํด ์ ๊ทผํ๋๋ก ํจ
โ ๋ถ์ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค
- ๋ ผ๋ฆฌ์ ์ผ๋ก๋ ํ๋์ ์์คํ ์ ์กด์ฌํ๋, ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ์ฐ๊ฒฐ๋ ๋ค์์ ์ปดํจํฐ์ ๋ถ์ฐ๋์ด ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊ตฌ์ฑ ์์ : ๋ถ์ฐ์ฒ๋ฆฌ๊ธฐ(๋ถ์ฐ๋ ์ง์ญ ์ปดํจํฐ) / ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค / ํต์ ๋คํธ์ํฌ
- ๋ชฉํ : ์์น ํฌ๋ช ์ฑ (Loacation) / ์ข ๋ณต ํฌ๋ช ์ฑ (Replication) / ๋ณํ ํฌ๋ช ์ฑ (Concurrency) / ๋ถํ ํฌ๋ช ์ฑ (Division) / ์ฅ์ ํฌ๋ช ์ฑ (Failure)
- ์ฌ์ฉ์ ์ ์ฅ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์น/์ค๋ณต/๋ณํ/๋ถํ /์ฅ์ ์ฌ๋ถ ์ธ์ํ ํ์X
โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ์ฉ์ด
์ธ๋ฑ์ค (Index) |
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
์ด๋ธ ๊ฒ์ ์๋ ํฅ์์ ์ํ ์ ์ฅ ์์น ์๋ฃ โ ๋ฐ์ดํฐ ๋น ๋ฅธ ์กฐํ๋ฅผ ์ํ ์์น ์ ๋ณด(ํฌ์ธํฐ) ํฌํจ |
ํด๋ฌ์คํฐ (Cluster) |
์์ฃผ ์ฌ์ฉํ๋ ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ๋์ผ ์์น์ ์ ์ฅํ์ฌ ๋ฐ์ดํฐ ์ ๊ทผ ํจ์จ ํฅ์ |
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์คํ | ์๋น์ค ์ฅ์ ๋๋นํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ณต(๋ณต์ )ํ์ฌ ๊ด๋ฆฌ - Eager ๊ธฐ๋ฒ : ๋ชจ๋ ์ด์คํ ๋ฐ์ดํฐ ์ฆ์ ์ ๋ฐ์ดํธ - Lazy ๊ธฐ๋ฒ : ๋ณ๊ฒฝ ์ฌํญ์ ์๋ก์ด ํธ๋์ญ์ ์ผ๋ก ๊ฐ ๋ ธ๋์ ์ ๋ฌ |
ํํฐ์
๋ (Partitioning) |
๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ๋ฌ ์น์
์ผ๋ก ๋ถํ (์กฐํ ์๋ ํฅ์) - ๋ฒ์ ๋ถํ : ํํฐ์ ํค ๊ฐ์ ๋ฒ์๋ก ๋ถํ - ํด์ ๋ถํ : ํด์ ํจ์ ์ ์ฉ ํ ๋ฐํ๋ ๊ฐ์ผ๋ก ํํฐ์ ๋ถํ - ํฉ์ฑ ๋ถํ : ๋ฒ์ ๋ถํ ํ ํด์ ํจ์ ์ ์ฉํ์ฌ ๋ค์ ๋ถํ |
๋ณต๊ตฌ ์๊ฐ ๋ชฉํ (RTO) |
Recovery Time Objective / ์๋น์ค ์ค๋จ ํ ๋ณต์๊น์ง ์ต๋ ์๊ฐ โ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ต๋ ํ์ฉ ์๊ฐ |
๋ณต๊ตฌ ์์ ๋ชฉํ (RPO) |
Recovery Point Objective / ๋ง์ง๋ง ๋ฐ์ดํฐ ๋ณต๊ตฌ ํ ํ์ฉ๋๋ ์ต๋ ์๊ฐ โ ํ์ฉ ๊ฐ๋ฅํ ์ต๋ ๋ฐ์ดํฐ ์์ค๋ ๊ฒฐ์ |
'ETC > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ

โ ์ ๊ทํ
- ์ด์(Anomaly) ํ์์ด ๋ฐ์ํ์ง ์๋๋ก ์ค๋ณต์ฑ/์ข ์์ฑ ์ต์ํ ํ๊ธฐ ์ํ ์์
- ๋ ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ ์ํ, ์์ฑ ์๊ฐ ์ ์ ํ ์ด๋ธ๋ก ๋ถํ ๋์ด ๊ด๋ฆฌ๊ฐ ์ฉ์ดํด์ง
- ๋ฐ์ดํฐ ๊ตฌ์กฐ ์์ ์ฑ ์ต๋ํ / ๋ฐ์ดํฐ ์ฝ์ ์ ๋ฆด๋ ์ด์ ์ฌ๊ตฌ์ฑ ํ์ ์ต์ํ
โ ์ด์ ํ์ ์ข ๋ฅ
- ์ฝ์ ์ด์ : ๋ฐ์ดํฐ ์ฝ์ ์ ๋ถํ์ํ ๋ฐ์ดํฐ๊ฐ ํจ๊ป ์ฝ์
- ์ญ์ ์ด์ : ํํ ์ญ์ ์ ํ์ํ ๋ฐ์ดํฐ๋ ํจ๊ป ์ญ์
- ๊ฐฑ์ ์ด์ : ์ผ๋ถ๋ง ์์ ๋์ด ๋ฐ์ดํฐ ๋ถ์ผ์น โ ์ ๋ณด ๋ชจ์ ๋ฐ์
โ ์ ๊ทํ ๊ณผ์
์ธ์ฐ๋ ๋ฒ : ๋๋ถ์ด๊ฒฐ๋ค์กฐ(๋๋ถ ์ด๊ฑธ ๋ค์ค)
์ 1 ์ ๊ทํ | ๋ชจ๋ ๋๋ฉ์ธ(Domain)์ด ์์ ๊ฐ๋ง์ผ๋ก ๋์ด ์์ |
์ 2 ์ ๊ทํ | - ๊ธฐ๋ณธํค๊ฐ ์๋ ์์ฑ์ด ๊ธฐ๋ณธํค์ ๋ํ ์์ ํจ์์ ์ข
์ ๋ง์กฑ - ๋ถ๋ถ์ ํจ์ ์ข ์์ ์ ๊ฑฐํ ์ ๊ทํ |
์ 3 ์ ๊ทํ | ๊ธฐ๋ณธํค๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ๊ธฐ๋ณธํค์ ๋ํด ์ดํ์ ํจ์ ์ข
์ ๊ด๊ณ๋ฅผ ๋ง์กฑํ์ง ์์์ผ ํจ * ์ดํ์ ํจ์ ์ข ์(X โ Y, Y โ Z ์ด๋ฉด X โ Z) |
BCNF (๋ณด์ด์ค / ์ฝ๋) |
๋ฆด๋ ์ด์ R์์ ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณดํค์ธ ์ ๊ทํ |
์ 4 ํ๊ทํ | ๋ฆด๋ ์ด์ R์ ๋ค์น ์ข ์์ด ์ฑ๋ฆฝํ๋ ๊ฒฝ์ฐ R์ ๋ชจ๋ ์์ฑ์ด A์ ํจ์์ ์ข ์ ๊ด๊ณ๋ฅผ ๋ง์กฑํ๋ ์ ๊ทํ |
์ 5 ์ ๊ทํ | ๋ฆด๋ ์ด์ R์ ๋ชจ๋ ์กฐ์ธ ์ข ์์ด R์ ํ๋ณดํค๋ฅผ ํตํด์๋ง ์ฑ๋ฆฝ |
โ ๋ฐ์ ๊ทํ :
์ ๊ทํ ๊ณผ์ ์งํ ํ, ์์คํ ์ฑ๋ฅ ํฅ์ ๋ฐ ์ด์ ํธ์์ฑ์ ์ํด ์๋์ ์ผ๋ก ๋ฐ์ดํฐ ์ค๋ณต/ํตํฉ/๋ถ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์ ๊ทํ ์์น์ ์๋ฐ
[SQLD] ์ ๊ทํ, ๋ฐ์ ๊ทํ
๋ด๊ฐ ๋ณด๋ ค๊ณ ํท๊ฐ๋ฆฌ๋ ๊ฑฐ ์ ๋ฆฌํ ๊ฒ 1. ์ ๊ทํ๋ฐ์ดํฐ์ ์ ํฉ์ฑ(๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๋ณด์ฅ)ํ๊ธฐ ์ํด ์ํฐํฐ๋ฅผ ์์ ๋จ์๋ก ๋ถ๋ฆฌํ๋ ๊ณผ์ ์ด๋ค. ์ ๊ทํ๋ฅผ ํ ๋ ๋ฐ์ดํฐ ์กฐํ ์ฑ
awesomepossum.tistory.com
โ ํจ์์ ์ข
์
์์ ํจ์์ ์ข ์ | Full functional Dependency / ์ข ์์๊ฐ ๊ธฐ๋ณธํค์๋ง ์ข ์ |
๋ถ๋ถ ํจ์์ ์ข ์ | Partial Functional Dependency / ๊ธฐ๋ณธ ํค๊ฐ ์ฌ๋ฌ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ ๋ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ ์ค ์ผ๋ถ๋ง ์ข ์ |
์ดํ์ ํจ์ ์ข ์ | Transitive Functional Dependency / XโY, YโZ ์ด๋ฉด XโZ |
โ ๊ด๊ณ ๋์
์ํ๋ ์ ๋ณด์ ๊ฒ์ ๊ณผ์ ์ ์ ์ํ๋ ์ ์ฐจ์ ์ธ์ด


โ ๊ด๊ณ ํด์
์ํ๋ ์ ๋ณด๊ฐ ๋ฌด์์ด๋ผ๋ ๊ฒ๋ง ์ ์ํ๋ ๋น์ ์ฐจ์ ์ธ์ด

โ ํธ๋์ญ์ (Transaction)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ๋จ์
์์์ฑ (Atomicity) |
ํธ๋์ญ์
์ฐ์ฐ์ด ์ ์์ ์ผ๋ก ์ํ๋๊ฑฐ๋ (Commit), ์๋๋ฉด ์ด๋ ํ ์ฐ์ฐ๋ ์ํ๋์ง ์์์ผ ํจ (Rollback) |
์ผ๊ด์ฑ (Consistency) |
์์คํ ์ ๊ณ ์ ์์๋ ํธ๋์ญ์ ์ํ ์ /ํ๋ก ๋์ผํด์ผ ํจ |
๋
๋ฆฝ์ฑ (Isolation) |
๊ฐ๋ณ ํธ๋์ญ์ ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ ๊ฐ์ญ ๋ฐ ์ํฅ ๋ฐ์ง ์์์ผ ํจ |
์์์ฑ (Durability) |
์๋ฃ๋ ํธ๋์ญ์ ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ผ๋ก ๊ธฐ๋ก๋์ด์ผ ํจ |
- COMMIT : ํธ๋์ญ์ ์ ์ ์ข ๋ฃ ํ ๋ณ๊ฒฝ๋ ๋ด์ฉ์ DB์ ๋ฐ์ํ๋ ๋ช ๋ น์ด
- ROLLBACK : ํธ๋์ญ์ ๋น์ ์ ์ข ๋ฃ ํ ๋ชจ๋ ๋ณ๊ฒฝ ์์ ์ ์ทจ์ํ๊ณ ์ด์ ์ํ๋ก ์๋ณต
- REDO : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น์ ์ ์ข ๋ฃ์ ํธ๋์ญ์ ์์(start) ๊ฐ๊ณผ ์๋ฃ(commit)์ ๋ํ ๊ธฐ๋ก์ด ์๋ ํธ๋์ญ์ ๋ค์ ์์ ์ ์ฌ์์ (์ด์ ๊ฐ์ ์ดํ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ)
- UNDO : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น์ ์ ์ข ๋ฃ ์ ์์์ ์์ง๋ง ์๋ฃ ๊ธฐ๋ก์ด ์๋ ํธ๋์ญ์ ๋ค์ด ์์ ํ ๋ด์ฉ์ ๋ชจ๋ ์ทจ์ (์ดํ ๊ฐ์ ์ด์ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ)
โ ๋ฐ์ดํฐ ํ๋ณต ๊ธฐ๋ฒ
โถ ์ฆ์ ๊ฐฑ์ ๊ธฐ๋ฒ (Immediate Update)
โ ํธ๋์ญ์ ์คํ ์ํ์์ ๋ณ๊ฒฝ๋๋ ๋ด์ฉ์ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉ
โ ๋ณ๊ฒฝ๋๋ ๋ชจ๋ ๋ด์ฉ์ ๋ก๊ทธ(Log)์ ๊ธฐ๋กํ์ฌ ์ฅ์ ์ ํด๋น ๋ก๊ทธ ํ ๋๋ก ๋ณต์
โ Redo / Undo ๋ชจ๋ ์ํ
โถ ์ง์ฐ ๊ฐฑ์ ๊ธฐ๋ฒ (Deferred Update)
โ ํธ๋์ญ์ ์ํ ํ ๋ถ๋ถ ์๋ฃ๋ ๋๊น์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ๋ก ์ ์ฉํ์ง ์๊ณ , ์ง์ฐ์ํจ ํ ๋ถ๋ถ์๋ฃ ์ ๋ก๊ทธ(Log)์ ๋ด์ฉ์ ํ ๋๋ก ์ ์ฅ
โ ํธ๋์ง์ ์ด ์คํจํ ๊ฒฝ์ฐ Undo ์ํ ์์ด Redo๋ง ์ํ
โถ ๊ฒ์ฌ ์์ ๊ธฐ๋ฒ (Check Point)
โ ํธ๋์ญ์ ์ํ ์ค๊ฐ์ ๊ฒ์ฌ ์ง์ (Checkpoint) ์ง์ ํ์ฌ ๊ฒ์ฌ ์์ ๊น์ง ๋ถ๋ถ ์ํ ํ ์๋ฃ๋ ๋ด์ฉ์ ์ค๊ฐ์ค๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ
โถ๊ทธ๋ฆผ์ ํ์ด์ง ๊ธฐ๋ฒ(Shadow paging)
โ ๋ก๊ทธ ๋ฏธ์ฌ์ฉ / ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ผ ํฌ๊ธฐ์ ํ์ด์ง๋ก ๋ถํ ํ ๊ฐ ํ์ด์ง๋ง๋ค ๋ณต์ฌํ์ฌ ๊ทธ๋ฆผ์ ํ์ด์ง ๋ณด๊ด
โ ๋ณ๊ฒฝ ๋ด์ฉ์ ์๋ณธ ํ์ด์ง์๋ง ์ ์ฉํ์ฌ ์ฅ์ ๋ฐ์ ์ ํด๋น ํ์ด์ง ์ฌ์ฉ/ํ๋ณต
โ ๋กํน ๋จ์ (Locking)
๋กํน์ ๋์์ด ๋๋ ๊ฐ์ฒด์ ํฌ๊ธฐ
- ๋กํน : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณํ ์ ์ด ์ํด ํธ๋์ญ์ (transaction)์ด ์ ๊ทผํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฐ(lock) ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ ๊ทผํ์ง ๋ชปํ๋๋ก ํ๋ ๋ณํ ์ ์ด ๊ธฐ๋ฒ
- ๋์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค / ํ์ผ / ๋ ์ฝ๋
- ๋กํน๋จ์ โผ โ ๋กํฌ์ ์ โฒ โ ๋กํน ์ค๋ฒํค๋ โฒ โ ๋ณํ์ฑ(๊ณต์ ๋) โฒ
- ๋กํน๋จ์ โฒ โ ๋กํฌ์ ์ โผ โ ๋กํน ์ค๋ฒํค๋ โผ โ ๋ณํ์ฑ(๊ณต์ ๋) โผ
โ ๋ณํ์ ์ด ๊ธฐ๋ฒ ์ข ๋ฅ
- ๋กํน ๊ธฐ๋ฒ : ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ํธ๋์ญ์ ์ ์์ฐจ์ ์งํ์ ๋ณด์ฅ (๋ณํ ์ํ ํธ๋์ญ์ ๋ค ๊ฐ ๋์ผ ๋ฐ์ดํฐ ์ ๊ทผ ์ฐจ๋จ)
- ๋๊ด์ ๊ฒ์ฆ : ์ผ๋จ ํธ๋์ญ์ ์ ์ํํ๊ณ , ํธ๋์ญ์ ์ข ๋ฃ ์ ๊ฒ์ฆ์ ์ํ
- ํ์ ์คํฌํ ๊ธฐ๋ฒ : ํ์ ์คํฌํ๋ฅผ ๋ถ์ฌ ํด ๋ถ์ฌ๋ ์๊ฐ์ ๋ฐ๋ผ ํธ๋์ญ์ ์ํ
- ๋ค์ค๋ฒ์ ๋์์ฑ ์ ์ด(MVCC) : ํ์ ์คํฌํ๋ฅผ ๋น๊ตํด ์ง๋ ฌ๊ฐ๋ฅ์ฑ์ด ๋ณด์ฅ๋๋ ์ ์ ํ ๋ฒ์ ์ ์ ํํด ์ ๊ทผํ๋๋ก ํจ
โ ๋ถ์ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค
- ๋ ผ๋ฆฌ์ ์ผ๋ก๋ ํ๋์ ์์คํ ์ ์กด์ฌํ๋, ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ์ฐ๊ฒฐ๋ ๋ค์์ ์ปดํจํฐ์ ๋ถ์ฐ๋์ด ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊ตฌ์ฑ ์์ : ๋ถ์ฐ์ฒ๋ฆฌ๊ธฐ(๋ถ์ฐ๋ ์ง์ญ ์ปดํจํฐ) / ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค / ํต์ ๋คํธ์ํฌ
- ๋ชฉํ : ์์น ํฌ๋ช ์ฑ (Loacation) / ์ข ๋ณต ํฌ๋ช ์ฑ (Replication) / ๋ณํ ํฌ๋ช ์ฑ (Concurrency) / ๋ถํ ํฌ๋ช ์ฑ (Division) / ์ฅ์ ํฌ๋ช ์ฑ (Failure)
- ์ฌ์ฉ์ ์ ์ฅ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์น/์ค๋ณต/๋ณํ/๋ถํ /์ฅ์ ์ฌ๋ถ ์ธ์ํ ํ์X
โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ์ฉ์ด
์ธ๋ฑ์ค (Index) |
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ
์ด๋ธ ๊ฒ์ ์๋ ํฅ์์ ์ํ ์ ์ฅ ์์น ์๋ฃ โ ๋ฐ์ดํฐ ๋น ๋ฅธ ์กฐํ๋ฅผ ์ํ ์์น ์ ๋ณด(ํฌ์ธํฐ) ํฌํจ |
ํด๋ฌ์คํฐ (Cluster) |
์์ฃผ ์ฌ์ฉํ๋ ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ๋์ผ ์์น์ ์ ์ฅํ์ฌ ๋ฐ์ดํฐ ์ ๊ทผ ํจ์จ ํฅ์ |
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์คํ | ์๋น์ค ์ฅ์ ๋๋นํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ณต(๋ณต์ )ํ์ฌ ๊ด๋ฆฌ - Eager ๊ธฐ๋ฒ : ๋ชจ๋ ์ด์คํ ๋ฐ์ดํฐ ์ฆ์ ์ ๋ฐ์ดํธ - Lazy ๊ธฐ๋ฒ : ๋ณ๊ฒฝ ์ฌํญ์ ์๋ก์ด ํธ๋์ญ์ ์ผ๋ก ๊ฐ ๋ ธ๋์ ์ ๋ฌ |
ํํฐ์
๋ (Partitioning) |
๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ๋ฌ ์น์
์ผ๋ก ๋ถํ (์กฐํ ์๋ ํฅ์) - ๋ฒ์ ๋ถํ : ํํฐ์ ํค ๊ฐ์ ๋ฒ์๋ก ๋ถํ - ํด์ ๋ถํ : ํด์ ํจ์ ์ ์ฉ ํ ๋ฐํ๋ ๊ฐ์ผ๋ก ํํฐ์ ๋ถํ - ํฉ์ฑ ๋ถํ : ๋ฒ์ ๋ถํ ํ ํด์ ํจ์ ์ ์ฉํ์ฌ ๋ค์ ๋ถํ |
๋ณต๊ตฌ ์๊ฐ ๋ชฉํ (RTO) |
Recovery Time Objective / ์๋น์ค ์ค๋จ ํ ๋ณต์๊น์ง ์ต๋ ์๊ฐ โ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ต๋ ํ์ฉ ์๊ฐ |
๋ณต๊ตฌ ์์ ๋ชฉํ (RPO) |
Recovery Point Objective / ๋ง์ง๋ง ๋ฐ์ดํฐ ๋ณต๊ตฌ ํ ํ์ฉ๋๋ ์ต๋ ์๊ฐ โ ํ์ฉ ๊ฐ๋ฅํ ์ต๋ ๋ฐ์ดํฐ ์์ค๋ ๊ฒฐ์ |