본문 바로가기
개발자 기술 면접/데이터베이스

[DB] 트랜잭션이란?

by se-black 2023. 12. 28.
트랜잭션
- 트랜잭션이란 관련된 여러 처리를 하나의 큰 처리로 취급할 경우의 단위입니다.
- 즉, 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다.

 

 

트랜잭션 속성 → ACID 속성
  • 원자성(Atomicity)
    • 트랜잭션을 구성하는 연산들이 모두 정상적으로 실행되거나 아니면 전혀 실행되지 않아야 한다는 ALL-OR-NOTHING 방식을 의미합니다.
    • 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생할 경우 트랜잭션 전부가 취소되어야 합니다.
  • 일관성(Consistency)
    • 트랜잭션이 그 실행을 성공적으로 수행한 후에도 언제나 일관성 있는 데이터베이스 상태로 유지해야 합니다.
    • 시스템이 가지고 있는 고정 요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야 합니다.
  • 독립성(Isolation)
    • 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우, 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없습니다.
    • 수행 중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없습니다.
  • 지속성(Durability)
    • 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 합니다.
728x90