πŸΌλ°±μ•€λ“œ/database

νŠΈλžœμž­μ…˜

κ³„λž€μ†Œλ…„ 2023. 12. 22. 14:02

νŠΈλžœμž­μ…˜

νŠΈλžœμž­μ…˜μ˜ μ •μ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚€κΈ° μœ„ν•΄ μˆ˜ν–‰ν•˜λŠ” μž‘μ—… λ‹¨μœ„μ΄λ‹€.

μ΄λ•Œ, μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚¨λ‹€λŠ”κ²Œ 무슨 말일까? 말을 μ–΄λ ΅κ²Œ ν–ˆλŠ”λ° μ‰½κ²Œ μ΄μ•ΌκΈ°ν•΄μ„œ sql을 가지고 λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜λŠ”κ²ƒμ΄λ‹€.

ν”νžˆ λ§ν•˜λŠ” SELECT, INSERT,DELETE,UPDATEλ₯Ό 가지고….

μž‘μ—…λ‹¨μœ„λΌλŠ”κ²Œ μžˆγ„΄λ‹€. μ—¬λŸ¬κ°€μ§€ 쿼리문을 기쀀에 따라 μ •ν•˜λŠ” 것이닀. μ΄λ•Œ, 각 μž‘μ—…λ‹¨μœ„λŠ” ν•œλ¬Έμž₯이 μ•„λ‹˜μ— μœ μ˜ν•΄μ•Όν•œλ‹€.

예λ₯Όλ“€μ–΄ μΈμŠ€νƒ€κ·Έλž¨μ—  글을 μ˜¬λ¦¬λŠ” 과정을 λ‚˜λˆ λ³΄λ©΄ 글을 μž‘μ„±ν•˜κ³ , μž‘μ„±ν•œ 글을 μ„œλ²„μ— 올리고, μ„œλ²„μ—μ„œ λ‚΄κ°€ μž‘μ„±ν•œ 글을 λ³΄λŠ” 과정을 κ±°μΉ˜λŠ”λ°,

글을 μ˜¬λ¦¬λŠ” INSERT도 μžˆμ„ 것이고, κ·Έ 글을 μ°ΎλŠ” SELECT도 λ“€μ–΄κ°ˆ 것이닀. 이것을 ν•©μ³μ„œ ν•˜λ‚˜μ˜ λ‹¨μœ„ = νŠΈλžœμž­μ…˜μ΄λΌκ³  ν•˜λŠ”κ²ƒμ΄λ‹€.

 

νŠΈλžœμž­μ…˜μ—λŠ” 4가지 νŠΉμ§•μ΄ μžˆλ‹€.

μ›μžμ„± (Atomicity)

독립성 (Isolation)

일관성 (Consistency)

지속성 (Durability)

 

 

νŠΈλžœμž­μ…˜μ„ κ΄€λ¦¬ν•˜λŠ” 것을 이야기해보면

Commit, RollBack을 주둜 이야기 ν•  수 μžˆλ‹€. 

Commit: ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜μ΄ 끝났닀 λΌλŠ” 것을 μ•Œλ €μ£ΌκΈ° μœ„ν•΄ Commit을 μ‚¬μš©ν•˜λ©°, 이λ₯Ό 톡해 λ‘œκ·Έμ— μ €μž₯λœλ‹€.

RollBack: ν•˜λ‚˜μœΌλ‹ˆ νŠΈλžœμž­μ…˜ μ²˜λ¦¬κ°€ λΉ„μ •μƒμ μœΌλ‘œ μ’…λ£Œλ˜μ–΄ μ›μžμ„±μ΄ κΉ¨μ§„κ²½μš°, λ‹€μ‹œ μ‹œμž‘ν•˜κ±°λ‚˜ μ·¨μ†Œμ‹œμΌœμ•Ό ν•œλ‹€.