HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
Database
Database
/
💼
데이터베이스 트랜잭션
💼

데이터베이스 트랜잭션

 

트랜잭션

  • 상호작용의 단위
  • 이론적으로 ACID를 만족해야하지만 성능 향상을 위해 종종 완화 되곤 한다.
 

ACID

ACID 는 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질
Atomicity
  • 원자성
  • 트랜잭션의 연산은 원자적이여야함. 즉, 모두 성공하거나 실패해야함
 
Consistency
  • 일관성
  • 트랜잭션은 유효한 상태로만 변경될 수 있다.
 
Isolation
  • 고립성
  • 트랜잭션수행시 다른 트랜잭션의 연산 작업이 끼어들지 못한다.
  • 성능관련 이유로 가장 유연성 있는 제약 조건이다.
 
Durability
  • 지속성
  • 성공적으로 수행된 트랜잭션은 영원히 반영되어야 한다.
  • 일반적으로 비휘발성 메모리에 데이터가 저장되는 것을 의미
 

트랜잭션 격리 수준

• READ UNCOMMITTED: 다른 트랜잭션에서 커밋되지 않은 내용도 참조할 수 있다. • READ COMMITTED: 다른 트랜잭션에서 커밋된 내용만 참조할 수 있다. • REPEATABLE READ: 트랜잭션에 진입하기 이전에 커밋된 내용만 참조할 수 있다. • SERIALIZABLE: 트랜잭션에 진입하면 락을 걸어 다른 트랜잭션이 접근하지 못하게 한다.(성능 매우 떨어짐)