본문 바로가기

카테고리 없음

트랜잭션의 이해

트랜잭션(Transaction)이란?

 - 데이터베이스의 상태를 변화시키기 위해 수행하는 작업

 - SELECT, INSERT, DELETE, UPDATE 등의 SQL문을 이용해 DB에 접근

 

트랜잭션의 특징

 1. 원자성

    - ALL or Nothing

    - DB에 모두 반영되거나, 아예 안되거나 둘중 하나이다.

 

 2. 일관성

    - 작업처리의 결과과 일관

    - 데이터 타입이 항상 동일

 

 3. 독립성

    - 각각의 트랜잭션은 독립적이라 간섭 불가

 

  4. 지속성

    - 트랜잭션이 완료되면 영구적으로 결과에 반영

    - commit 되면 지속성 만족

 

 

트랜잭션의 Commit과 Rollback

  1. Commit

    - 트랜잭션이 성공적으로 끝나 DB가 일관성있는 상태

 

  2. Rollback

    - 트랜잭션의 처리가 비정상적으로 종료된 상태

    - 롤백이 이루어지면 트랜잭션을 다시 실행 or 부분적으로 변경된 결과를 취소

 

트랜잭션의 상태?

 

 

  1. Active

    - 트랜잭션이 현재 실행 중

 

  2. Failed

    - 트랜잭션이 실행되다 오류가 발생해서 중단된 상태

 

  3. Aborted

    - 트랜잭션이 비정상 종료되어 Rollback 이 수행된 상태

 

  4. Partially Committed

    - 트랜잭션이 마지막 연산까지 싱행되고 Commit 직전 상태

 

  5. Committed

    - 트랜잭션이 성공적으로 종료되어 Commit 실행 후의 상태