Computer Science/πΎ Database
[DB] νΈλμμ (Transaction) κ°λ , νΉμ§, μ°μ°, μν
J1Yun
2023. 3. 22. 14:47
728x90
νΈλμμ (Transaction)
- λ°μ΄ν°λ² μ΄μ€μ μνλ₯Ό λ³νμν€λ νλμ λ Όλ¦¬μ κΈ°λ₯μ μννκΈ° μν μμ μ λ¨μ
- νκΊΌλ²μ μνλμ΄μΌν μΌλ ¨μ μ°μ°
- λ°μ΄ν°λ² μ΄μ€ μΌκ΄μ±κ³Ό λ¬΄κ²½μ± λ³΄μ₯
- λ°μ΄ν°λ² μ΄μ€μ νλμ μμ μ΄ μνλλ λμ λ€λ₯Έ μμ μ΄ κ°μνμ§ λͺ»νλλ‘ ν¨
- λ Όλ¦¬μ μΈ μμ μ μ λͺ¨λ μλ²½νκ² μ²λ¦¬νκ±°λ λλ μ²λ¦¬νμ§ λͺ»ν κ²½μ°μλ μ μνλ‘ λ³΅κ΅¬ν΄μ μμ μ μΌλΆλ§ μ μ©λλ νμμ΄ λ°μνμ§ μκ² λ§λ€μ΄μ£Όλ κΈ°λ₯
νΈλμμ μ°μ°
- Commit
- νλμ νΈλμμ μ΄ μ±κ³΅μ μΌλ‘ λλμ λ°μ΄ν°λ² μ΄μ€κ° μΌκ΄μ± μλ μνμ μμμ μλ €μ£ΌκΈ° μν΄ μ¬μ©νλ μ°μ°
- Rollback
- νλμ νΈλμμ μ²λ¦¬κ° λΉμ μμ μΌλ‘ μ’ λ£λμ΄ λ°μ΄ν°λ² μ΄μ€μ μΌκ΄μ±μ κΉ¨λ¨λ Έμ λ, μ΄ νΈλμμ μ μΌλΆκ° μ μμ μΌλ‘ μ²λ¦¬λμλλΌλ νΈλμμ μ μμμ±μ 보μ₯νκΈ° μν΄ μ΄ νΈλμμ μ΄ νν λͺ¨λ μ°μ°μ μ·¨μ(Undo)νλ μ°μ°
νΈλμμ νΉμ§(ACID)
- Atomicity(μμμ±)
- νΈλμμ μ΄ λ°μ΄ν°λ² μ΄μ€μ λͺ¨λ λ°μλκ±°λ, μ ν λ°μ λμ§ μμμΌ ν¨
- νΈλμμ λ΄μ λͺ¨λ λͺ λ Ήμ λ°λμ μλ²½ν μνλμ΄μΌ νλ©°(Commit), λͺ¨λκ° μλ²½ν μνλμ§ μκ³ μ΄λ νλλΌλ μ€λ₯κ° λ°μνλ©΄ νΈλμμ μ λΆκ° μ·¨μλμ΄μΌ ν¨(Rollback)
- Consistency(μΌκ΄μ±)
- νΈλμμ μ μμ μ²λ¦¬ κ²°κ³Όλ νμ μΌκ΄μ±μ΄ μμ΄μΌ ν¨
- λ°μ΄ν°λ² μ΄μ€μ μν μ¦, μμ€ν μ΄ κ°μ§κ³ μλ κ³ μ μμ(λ°μ΄ν° νμ λ±)λ νΈλμμ μν μ κ³Ό μν μλ£ νμ μνκ° κ°μμΌ ν¨
- Isolation(λ
립μ±, 격리μ±)
- νΈλμμ μν μ λ€λ₯Έ νΈλμμ μ°μ°μ΄ λΌμ΄λ€μ§ λͺ»νλλ‘ λ³΄μ₯
- μν μ€μΈ νΈλμμ μ μμ ν μλ£λ λκΉμ§ λ€λ₯Έ νΈλμμ μμ μν κ²°κ³Όλ₯Ό μ°Έμ‘° ν μ μμ
- Durability(μ§μμ±, μμμ±)
- νΈλμμ μ΄ μ±κ³΅μ μΌλ‘ μλ£λμμ κ²½μ°, κ²°κ³Όλ μꡬμ μΌλ‘ λ°μλμ΄μΌ ν¨
νΈλμμ μν
- νλ(Active): νΈλμμ μ΄ μ€ν μ€μΈ μν
- λΆλΆ μλ£(Partially Committed): νΈλμμ μ λ§μ§λ§ μ°μ°κΉμ§ μ€ννμ§λ§, Commit μ°μ°μ΄ μ€νλκΈ° μ§μ μ μν
- μλ£(Committed): νΈλμμ μ΄ μ±κ³΅μ μΌλ‘ μ’ λ£λμ΄ Commit μ°μ°μ μ€νν νμ μν
- μ€ν¨(Failed): νΈλμμ μ€νμ μ€λ₯κ° λ°μνμ¬ μ€λ¨λ μν
- μ² ν(Aborted): νΈλμμ μ΄ λΉμ μμ μΌλ‘ μ’ λ£λμ΄ Rollback μ°μ°μ μνν μν (νΈλμμ μ·¨μ)
π‘ νΈλμμ μ¬μ© μ μ£Όμν μ
νΈλμμ μ΄ λ°μ΄ν°λ² μ΄μ€μ 컀λ₯μ μ μ€λ μ μ νλλ‘ νμ§ μκΈ° μν΄ νΈλμμ μ λ²μλ₯Ό μ΅μννμ¬ κΌ νμν μ½λμλ§ μ μ©νλ κ²μ΄ μ’λ€.
βοΈ μ°Έκ³
728x90