Transaction
Transaction?
- DB 작업을 수행하는 단위 프로세스
- 여러 사용자가 (동시에) 동일한 데이터베이스 공유가 가능하도록 지원
- 동시성 제어(Concuirrency Control) 기능 제공 : 동시에 사용하더라도 일관성(consistency) 제공
⭐ ACID - Transaction의 주요 성질
- Atomicity(원자성)
- Transaction과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력
- Consistency(일관성)
- Transaction이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미함.
- Isolation(격리성)
- Transaction을 수행 시 다른 Transaction의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미함.
- Durability(영속성)
- 성공적으로 수행된 Transaction은 영원히 반영되어야 함.
MySQL의 autocommit, commit, rollback
Atomicity(원자성)을 위한 연산
Transaction Recovery
Transaction의 Atomicity를 위한 연산
- Commit(완료)
-
Transaction의 성공적인 실행
→ 일관성있는 데이터베이스 상태
-
영구적인 갱신
-
갱신된 데이터의 영속성을 보장함