개발조아

트랜잭션 본문

CS/데이터베이스

트랜잭션

개발조아 2021. 10. 20. 18:18
728x90
  • 데이터베이스의 상태를 변화시키는 작업의 단위, 한번에 수행하는 되어야하는 작업
  • 트랜잭션 특성(ACID)
    • 원자성(Atomicity)
      • 트랜잭션의 연산이 모두 반영이되던가 반영이 안되던가 둘중 하나여야한다.
      • 트랜잭션의 모든 연산이 완료되어야하며 하나라도 안된다면 모든 트랜잭션은 취소 되어야한다.
    • 일관성(Consistency)
      • 트랜잭션 수행 전후 데이터베이스의 상태가 같아야한다.
        • 데이터의 타입이 바뀐다던디 제약조건이 바뀐다던지 하면 안됨
    • 독립성(Isolation)
      • 동시에 여러 트랜잭션이 실행될 때 서로의 트랜잭션에 영향을 미치지 않는 독립적으로 실행되야한다.
      • 즉, 서로의 트랜잭션에 끼어들면 안된다. 
      • 한 트랜잭션이 완료될때까지 해당 트랜잭션의 결과는 참조할 수 없다
    • 영속성(Durability)
      • 트랜잭션의 결과는 영구저장되어야한다.
  • Commit
    • 트랜잭션이 성공적으로 끝나 데이터베이스가 다시 일관된 상태임을 트랜잭션 관리자에 알리는 연산
    • 트랜잭션이 결과를 물리 저장장치에 저장
  • Rollback
    • 하나의 트랜잭션의 처리가 비정상적으로 종료되어서 데이터베이스의 원자성이 깨졌을 때 이를 되돌리는 연산

'CS > 데이터베이스' 카테고리의 다른 글

병행제어  (0) 2021.10.20
키(Key)의 개념 및 종류  (0) 2021.10.20
정규화  (0) 2021.10.20
인덱스(Index)  (0) 2021.10.20
데이터베이스  (0) 2021.10.20
Comments