πŸ“š CS [ComputerScience]/πŸ“š CS λ©΄μ ‘

πŸ“š [CSλ©΄μ ‘] μ›Ή λ©΄μ ‘ 질문 [2]

Dbswnstjd 2024. 1. 17. 09:00

1.  Transaction

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

μ€ν–‰μ—μ„œ λ‚΄κ°€ Aμ—κ²Œ λˆμ„ λ³΄λƒˆλ‹€λ©΄ λ‚˜μ˜ 톡μž₯μ—μ„œ 돈이 λΉ μ Έλ‚˜κ°€κ³  A의 톡μž₯에 1000원이 μž…κΈˆλ˜λŠ” 것이 ν•˜λ‚˜μ˜ 과정이닀. 이 쀑간에 μ–΄λ– ν•œ λ¬Έμ œκ°€ μƒκ²¨μ„œ λˆ„κ΅°κ°€μ—κ²Œ μ μš©λ˜μ§€ μ•ŠλŠ” λ‹€λ©΄ 그것은 잘λͺ»λœ μ‹œμŠ€ν…œμ΄λΌκ³  ν•  수 μžˆλ‹€. 

μ—¬κΈ°μ„œ νŠΈλžœμž­μ…˜μ˜ νŠΉμ§• 4가지λ₯Ό λͺ¨λ‘ μ°Ύμ•„ λ³Ό 수 μžˆλ‹€. 

 

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

All or Nothing. νŠΈλžœμž­μ…˜μ΄ λ°μ΄ν„°λ² μ΄μŠ€μ— λͺ¨λ‘ λ°˜μ˜λ˜κ±°λ‚˜ μ „ν˜€ λ°˜μ˜λ˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€λŠ” νŠΉμ§•μ΄λ‹€. 쀑간에 λ¬Έμ œκ°€ 생기면 기쑴의 과정듀을 처음으둜 λŒμ•„κ°€μ•Ό ν•˜λŠ” 것과 λ˜‘κ°™λ‹€. λ§Œμ•½ νŠΈλžœμž­μ…˜ λ‹¨μœ„λ‘œ 데이터가 μ²˜λ¦¬λ˜μ§€ μ•ŠλŠ”λ‹€λ©΄ κ·Έ 쀑간에 였λ₯˜κ°€ λ‚œ 뢀뢄을 μ°ΎκΈ° 맀우 νž˜λ“€κ²ƒμ΄λ‹€. 

 

- 일관성 (Consistency)

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

 

- 격리성 (Isolation)

λ™μ‹œμ— μ‹€ν–‰λ˜λŠ” νŠΈλžœμž­μ…˜λ“€μ΄ μ„œλ‘œμ—κ²Œ 영ν–₯을 λ―ΈμΉ˜μ§€ μ•Šλ„λ‘ κ²©λ¦¬ν•΄μ•Όν•œλ‹€.예λ₯Ό λ“€μ–΄ λ™μ‹œμ— 같은 데이터λ₯Ό μˆ˜μ •ν•˜μ§€ λͺ»ν•˜λ„둝 ν•΄μ•Ό ν•œλ‹€.

 

- 지속성 (Durability)

νŠΈλžœμž­μ…˜μ„ μ„±κ³΅μ μœΌλ‘œ 끝내면 κ·Έ κ²°κ³Όκ°€ 항상 κΈ°λ‘λ˜μ–΄μ•Ό ν•œλ‹€.쀑간에 μ‹œμŠ€ν…œμ— λ¬Έμ œκ°€ λ°œμƒν•˜λ”λΌλ„ λ°μ΄ν„°λ² μ΄μŠ€ 둜그 등을 μ‚¬μš©ν•΄ μ„±κ³΅ν•œ νŠΈλžœμž­μ…˜ λ‚΄μš©μ„ 볡ꡬ해야 ν•œλ‹€.

 

μŠ€ν”„λ§μ—μ„œλŠ” @Transactional μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•  수 μžˆλ‹€.