포스트

Transaction

Transaction

Transaction

트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미

DML

  • SUID의 조합

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
      예시) 사용자 A가 사용자 B에게 만원을 송금한다.
        
      * 이때 DB 작업
      - 1. 사용자 A의 계좌에서 만원을 차감한다 : UPDATE 문을 사용해 사용자 A의 잔고를 변경
      - 2. 사용자 B의 계좌에 만원을 추가한다 : UPDATE 문을 사용해 사용자 B의 잔고를 변경
        
      현재 작업 단위 : 출금 UPDATE문 + 입금 UPDATE문
      → 이를 통틀어 하나의 트랜잭션이라고 한다.
      - 위 두 쿼리문 모두 성공적으로 완료되어야만 "하나의 작업(트랜잭션)"이 완료되는 것이다. `Commit`
      - 작업 단위에 속하는 쿼리 중 하나라도 실패하면 모든 쿼리문을 취소하고 이전 상태로 돌려놓아야한다. `Rollback`
        
    

트랜잭션의 특징

  • 원자성

    모두 반영되거나 반영되지 않아야 한다.

  • 일관성

    언제나 작업의 처리 결과는 같아야한다.

  • 독립성

    둘 이상의 트랜잭션이 실행되더라도 서로에 연산에 끼어 들수 없다.

  • 지속성

    한번 처리가 되었다면 영구적으로 반영

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.