TUTORIAL

Transaction Acid Principles

Transaction Acid Principles 튜토리얼

럿지 AI 팀
2025-01-15
15
ACID 원칙
A

Atomicity

원자성

전부 성공 또는 전부 실패

C

Consistency

일관성

제약조건 항상 만족

I

Isolation

격리성

트랜잭션 간 독립 실행

D

Durability

지속성

커밋 후 영구 저장

은행 이체 예시

1. BEGIN TRANSACTION

트랜잭션 시작

2. UPDATE 계좌A SET 잔액 = 잔액 - 10000

출금 계좌에서 차감

3. UPDATE 계좌B SET 잔액 = 잔액 + 10000

입금 계좌에 추가

4. COMMIT (또는 에러시 ROLLBACK)

모두 성공시 커밋, 하나라도 실패시 롤백

격리 수준 (Isolation Level)

Read Uncommitted

Dirty Read 발생

성능: 높음

Read Committed

Non-Repeatable Read

성능: 중상

Repeatable Read

Phantom Read

성능:

Serializable

문제 없음

성능: 낮음

실무 팁

대부분의 RDBMS는 Read Committed가 기본값입니다.
MySQL InnoDB는 Repeatable Read가 기본이며 대부분의 경우 충분합니다.

관련 태그

#transaction
#Tutorial
#Frontend
#Development