본문 바로가기
  • 개발 삽질 블로그
데이터/데이터베이스

[Database] Transaction과 ACID

by 갹둥 2024. 7. 5.

트랜잭션(Transaction)

- 논리적 작업의 단위로, 하나의 작업 단위를 의미
- All or Nothing을 보장
- 데이터의 일관성과 무결성을 유지하기 위해 중요

 

 

 

💫ACID: 트랜잭션의 성질

- Atomicity(원자성)

트랜잭션의 모든 작업이 전부 수행되거나 전혀 수행되지 않음(Roll back)을 보장해야하는 성질

 

- Consistency(일관성)

트랜잭션 실행 전과 실행 후 DB가 일관된 상태를 유지함을 보장

 

- Isolation(격리성)

트랜잭션이 동시에 실행될 때, 각각의 트랜잭션이 독립적으로 실행되도록 보장(간섭 x)

 

- Durability(지속성)

트랜잭션이 성공적으로 완료되면, 그 결과는 영구적으로 저장

 

 

 

💫트랜잭션 상태

 

- Active: 트랜잭션이 실행중인 생태

 

- Partially Commited: 마지막 연산이 실행된 후 커밋 되기 전 상태

 

- Commited: 트랜잭션이 성공적으로 완료되어 데이터베이스에 모든 변경사항이 저장된 상태

 

- Failed: 트랜잭션 실행 중 오류가 발생하여 더 이상 진행할 수 없는 상태

 

- Aborted: 트랜잭션이 실패하여 모든 변경 사항이 롤백된 상태

 

 

 

SHOW ENGINE INNODB STATUS;

*로그나 체크포인트 등으로 상태 확인하기

 

 

 

데이터베이스와 서버 개발 공부하면서 차곡차곡 기본기를 다시 정리하는 중...