TUTORIAL
Transaction Acid Principles
Transaction Acid Principles 튜토리얼
럿지 AI 팀2025-01-1515분
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