DB

[DB] Transaction(νŠΈλžœμž­μ…˜)μ΄λž€?

2023. 10. 30. 09:49
λͺ©μ°¨
  1. πŸ” νŠΈλžœμž­μ…˜μ΄λž€?
  2. 🎑 νŠΈλžœμž­μ…˜ νŠΉμ§•

πŸ” νŠΈλžœμž­μ…˜μ΄λž€?

νŠΈλžœμž­μ…˜μ€ ACID(μ›μžμ„±, 일관성, 격리 및 지속성) 속성이 μžˆλŠ” μž‘μ—… 그룹이닀.

즉, ν•΄λ‹Ή 속성을 κ°€μ§€λ©° λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚€κΈ° μœ„ν•΄μ„œ μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ˜ λ‹¨μœ„λ₯Ό λ§ν•œλ‹€.

 

보톡 μ•„λž˜μ˜ μ§ˆμ˜μ–΄λ₯Ό ν†΅ν•΄μ„œ μž‘μ—…μ΄ 이루어지며 ACID κ·œμΉ™μ„ μ§€ν‚€κ²Œ λœλ‹€.

  • SELECT
  • INSERT
  • DELETE
  • UPDATE

 

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

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

μ›μžμ„±μ€ νŠΈλžœμž­μ…˜μ΄ λ°μ΄ν„°λ² μ΄μŠ€μ— λͺ¨λ‘ λ°˜μ˜λ˜λ˜κ°€, μ•„λ‹ˆλ©΄ μ „ν˜€ λ°˜μ˜λ˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€λŠ” 것이닀. 

 

은행 μ†‘κΈˆμ„ 예둜 λ“€μ–΄λ³΄μž.

은행 μ†‘κΈˆμ€ ν•œ κ³„μ’Œμ™€ λ‹€λ₯Έ κ³„μ’Œμ— λŒ€ν•œ 행동이 μ›μžμ„±μ˜ 집합이닀. 

Aκ³„μ’Œμ—μ„œ Bκ³„μ’Œλ‘œ λˆμ„ μ΄μ²΄ν–ˆλŠ”λ° 쀑간에 였λ₯˜κ°€ λ‚˜μ„œ Aκ³„μ’Œμ—λŠ” 돈이 λΉ μ Έλ‚˜κ°”μ§€λ§Œ Bκ³„μ’Œμ—λŠ” 돈이 λ“€μ–΄μ˜€μ§€ μ•Šμ„ μˆ˜κ°€ μžˆλ‹€. 이런 문제λ₯Ό λ°©μ§€ν•˜μ§€ μœ„ν•΄μ„œ μ›μžμ„±μ΄λΌλŠ” κ°œλ…μ΄ μ‚¬μš©λ˜λ©° 쀑간에 였λ₯˜λ‚˜ λ‚¬μœΌλ©΄ Aκ³„μ’Œμ˜ μΆœκΈˆμ„ λ‹€μ‹œ 볡ꡬ μ‹œν‚€λŠ” λ‘€λ°±(Rollback)μž‘μ—…μ΄ μ‹€ν–‰λœλ‹€.

 

 

일관성 (Consistency)

일관성은 νŠΈλžœμž­μ…˜μ˜ μž‘μ—… 처리 κ²°κ³Όκ°€ 항상 일관성이 μžˆμ–΄μ•Ό ν•œλ‹€λŠ” 것이닀.

 

νŠΈλžœμž­μ…˜μ΄ μ§„ν–‰λ˜λŠ” λ™μ•ˆ λ°μ΄ν„°λ² μ΄μŠ€κ°€ λ³€κ²½λ˜λ”λΌλ„ λ³€κ²½λœ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ°Έμ‘°ν•˜λŠ” 것이 μ•„λ‹ˆλΌ μ²˜μŒμ— νŠΈλžœμž­μ…˜μ„ μ§„ν–‰ν•  λ•Œ μ°Έμ‘°ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ‘œ μ§„ν–‰λœλ‹€. 

즉, 각 μ‚¬μš©μžλŠ” 항상 일관성 μžˆλŠ” 데이터λ₯Ό λ³Ό 수 μžˆλ‹€.

 

 

독립성 (Isolation)

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

즉, μ—¬λŸ¬ μ‚¬μš©μžκ°€ 같은 μ‹œκ°„μ— 같은 데이터λ₯Ό μ ‘κ·Ό ν–ˆμ„ λ•Œ μˆ˜ν–‰μ€‘μΈ νŠΈλžœμž­μ…˜μ΄ μ™„λ£Œλ  λ•ŒκΉŒμ§€ λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ˜ μš”μ²­μ„ λ§‰μŒμœΌλ‘œμ¨ 데이터가 κΌ¬μ΄λŠ” ν˜„μƒμ„ 막아쀄 수 μžˆλ‹€. 

 

 

지속성 (Durability)

지속성은 μ»€λ°‹λœ 연산이 영ꡬ적으둜 지속됨을 보μž₯ν•˜λŠ” 것이닀. 

즉, μ‹œμŠ€ν…œ λ¬Έμ œλ“±μœΌλ‘œ 였λ₯˜κ°€ λ°œμƒν•˜λ”λΌλ„ νŠΈλžœμž­μ…˜μ΄ μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰λœ 이후라면 데이터λ₯Ό 영ꡬ적으둜 보쑴할 수 μžˆλ‹€λŠ” 것을 λ§ν•œλ‹€.

 

 

μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[DB] DB μΈλ±μŠ€λž€?  (2) 2024.02.26
[DB] κ΅μ°©μƒνƒœ(Dead Lock)λž€?  (0) 2024.01.18
DB μ •κ·œν™”λž€?  (0) 2024.01.14
ν…Œμ΄λΈ” 이름은 λ‹¨μˆ˜ν˜•μœΌλ‘œ ν•΄μ•Όλ κΉŒ λ³΅μˆ˜ν˜•μœΌλ‘œ ν•΄μ•Όλ κΉŒ? πŸ€”  (2) 2023.10.17
  1. πŸ” νŠΈλžœμž­μ…˜μ΄λž€?
  2. 🎑 νŠΈλžœμž­μ…˜ νŠΉμ§•
'DB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [DB] DB μΈλ±μŠ€λž€?
  • [DB] κ΅μ°©μƒνƒœ(Dead Lock)λž€?
  • DB μ •κ·œν™”λž€?
  • ν…Œμ΄λΈ” 이름은 λ‹¨μˆ˜ν˜•μœΌλ‘œ ν•΄μ•Όλ κΉŒ λ³΅μˆ˜ν˜•μœΌλ‘œ ν•΄μ•Όλ κΉŒ? πŸ€”
DAHLIA CHOI
DAHLIA CHOI
DAHLIA CHOI
🌼 dali's log 🌼
DAHLIA CHOI
전체
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (103)
    • Spring (42)
    • JAVA & OOP (8)
    • AWS (2)
    • DevOps (5)
    • Network (7)
    • DB (5)
    • Algorithm (9)
      • BOJ (6)
      • PROGRAMMERS (2)
      • LEETCODE (0)
    • Books (5)
    • νŠΈλŸ¬λΈ” μŠˆνŒ… (5)
    • 회고 (0)
    • 기타 (5)
    • FRENCH (1)
    • 필사 (2)
    • κ²½ν—˜ (5)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

졜근 κΈ€

hELLO Β· Designed By μ •μƒμš°.
DAHLIA CHOI
[DB] Transaction(νŠΈλžœμž­μ…˜)μ΄λž€?
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.