1 λΆ„ μ†Œμš”

νŠΈλžœμž­μ…˜μ΄λž€?

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

λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚¨λ‹€.
이 말은 SQL을 톡해 λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€.

  • SELECT
  • INSERT
  • DELETE
  • UPDATE

μž‘μ—…μ˜ λ‹¨μœ„λŠ” μ§ˆμ˜μ–΄ ν•œ λ¬Έμž₯이 μ•„λ‹ˆλ‹€. μž‘μ—…μ˜ λ‹¨μœ„λŠ” λ§Žμ€ μ§ˆμ˜μ–΄ λͺ…령문듀을 μ‚¬λžŒμ΄ μ •ν•˜λŠ” 기쀀에 따라 μ •ν•˜λŠ” 것이닀.

νŠΈλžœμž­μ…˜μ˜ νŠΉμ§•

νŠΈλžœμž­μ…˜μ˜ νŠΉμ§•μ€ 크게 4κ°€μ§€λ‘œ κ΅¬λΆ„λœλ‹€.

  • μ›μžμ„±(Atommicity)
  • 일관성(Consistency)
  • 독립성(Isolation)
  • 지속성(Durability)

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

μ›μžμ„±μ€ νŠΈλžœμž­μ…˜μ΄ λ°μ΄ν„°λ² μ΄μŠ€μ— λͺ¨λ‘ 반영이 λ˜κ±°λ‚˜ μ „ν˜€ 반영이 λ˜μ§€ μ•Šμ•„μ•Όν•œλ‹€λŠ” λœ»μ΄λ‹€.
λ§Œμ•½ νŠΈλžœμž­μ…˜ λ‹¨μœ„λ‘œ 데이터가 μ²˜λ¦¬λ˜μ§€ μ•ŠλŠ”λ‹€λ©΄, μ„€κ³„ν•œ μ‚¬λžŒμ€ 데이터 처리 μ‹œμŠ€ν…œμ„ μ΄ν•΄ν•˜κΈ° νž˜λ“€κ³  μ˜€μž‘λ™ μ‹œ 원인을 μ°ΎκΈ°κ°€ 맀우 νž˜λ“€μ–΄μ§ˆ 수 μžˆλ‹€.

일관성(Consistency)

일관성은 νŠΈλžœμž­μ…˜μ˜ μž‘μ—… 처리 κ²°κ³Όκ°€ 항상 일관성이 μžˆμ–΄μ•Ό ν•œλ‹€λŠ” λœ»μ΄λ‹€.
νŠΈλžœμž­μ…˜μ΄ μ§„ν–‰λ˜λŠ” λ™μ•ˆ λ°μ΄ν„°λ² μ΄μŠ€κ°€ λ³€κ²½ λ˜λ”λΌλ„ μ—…λ°μ΄νŠΈλœ λ°μ΄ν„°λ² μ΄μŠ€λ‘œ νŠΈλžœμž­μ…˜μ΄ μ§„ν–‰λ˜λŠ” 것이 μ•„λ‹ˆλΌ, 처음 νŠΈλžœμž­μ…˜μ„ μ§„ν–‰ν•˜κΈ° μœ„ν•΄ μ°Έμ‘°ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ‘œ μ§„ν–‰λœλ‹€.

독립성(Isolation)

독립성은 λ‘˜ μ΄μƒμ˜ νŠΈλžœμž­μ…˜μ΄ λ™μ‹œμ— μ‹€ν–‰λ˜κ³  μžˆμ„ 경우, μ–΄λ–€ ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜μ΄λΌλ„ λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ˜ 연산에 끼어듀 수 μ—†λ‹€λŠ” λœ»μ΄λ‹€.
ν•˜λ‚˜μ˜ νŠΉμ • νŠΈλžœμž­μ…˜μ΄ μ™„λ£Œλ  λ•ŒκΉŒμ§€ λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ΄ νŠΉμ • νŠΈλžœμž­μ…˜μ˜ κ²°κ³Όλ₯Ό μ°Έμ‘°ν•  수 μ—†λ‹€.

지속성(Durability)

지속성은 νŠΈλžœμž­μ…˜μ΄ μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œλμ„ 경우, κ²°κ³ΌλŠ” 영ꡬ적으둜 λ°˜μ˜λ˜μ–΄μ•Ό ν•œλ‹€.λŠ” λœ»μ΄λ‹€.

νŠΈλžœμž­μ…˜ μ—°μ‚°(COMMIT, ROLLBACK)

COMMIT

COMMITμ΄λž€ ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜μ΄ μ„±κ³΅μ μœΌλ‘œ 끝났고, λ°μ΄ν„°λ² μ΄μŠ€κ°€ μΌκ΄€μ„±μžˆλŠ” μƒνƒœμ— μžˆμ„ λ•Œ ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜μ΄ λλ‚¬λ‹€λŠ” 것을 μ•Œλ €μ£ΌλŠ” 연산이닀.
COMMIT이 μ‚¬μš©λ˜λ©΄ μˆ˜ν–‰ν–ˆλ˜ νŠΈλžœμž­μ…˜μ΄ λ‘œκ·Έμ— μ €μž₯λœλ‹€.

ROLLBACKμ΄λž€ ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜ μ²˜λ¦¬κ°€ λΉ„μ •μƒμ μœΌλ‘œ μ’…λ£Œλ˜μ–΄ νŠΈλžœμž­μ…˜μ˜ μ›μžμ„±μ΄ κΉ¨μ§„ 경우, νŠΈλžœμž­μ…˜μ„ μ²˜μŒλΆ€ν„° λ‹€μ‹œ μ‹œμž‘ν•˜κ±°λ‚˜ νŠΈλžœμž­μ…˜μ˜ λΆ€λΆ„μ μœΌλ‘œλ§Œ μ—°μ‚°λœ κ²°κ³Όλ₯Ό λ‹€μ‹œ μ·¨μ†Œμ‹œν‚€λŠ” 연산이닀.
후에 μ‚¬μš©μžκ°€ νŠΈλžœμž­μ…˜ 처리된 λ‹¨μœ„λŒ€λ‘œ ROLLBACK을 μ§„ν–‰ν•  수 μžˆλ‹€.

참고자료

https://mommoo.tistory.com/62

μΉ΄ν…Œκ³ λ¦¬:

μ—…λ°μ΄νŠΈ:

λŒ“κΈ€λ‚¨κΈ°κΈ°