Home SQL 트랜잭션
Post
Cancel

SQL 트랜잭션


트랜잭션(Transaction)



트랜잭션 이란?

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

트랜잭션의 특징

  • 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 논리적 단위 입니다.
  • 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위 입니다.
  • 하나의 트랜잭션은 commit 되거나 Rollback 됩니다.

트랜잭션의 ACID

Atomicity(원자성)

  • 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되지 않아야 합니다.

Consistency(일관성)

  • 트랜잭션을 수행하기 전이나 후나 데이터베이스는 항상 일관된 상태를 유지해야 합니다.

Isolation(고립성)

  • 수행 중인 트랜잭션에 다른 트랜잭션이 끼어들어 변경중인 데이터 값을 훼손하지 않아야 합니다.

Durability(지속성)

  • 수행을 성공적으로 완료한 트랜잭션은 변경한 데이터를 영구히 저장해야 합니다.

트랜잭션의 연산 및 상태

Commit 연산

  • 하나의 트랜잭션이 성공적으로 끝났고, 데이터베이스가 일관성 있는 상태에 있을 때 하나의 트랜잭션이 끝났다는걸 알리기 위해 사용하는 연산 입니다.
  • Commit 연산을 사용하게 되면 트랜잭션이 로그에 저장되며 후에 Rollback 연산을 수행할 수 있는 단위를 만들어 줍니다.

Rollback 연산

  • 하나의 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션의 원자성이 깨진 경우 트랜잭션을 처음부터 다시 시작하거나 트랜잭션의 부분적으로 연산된 결과를 다시 취소 시킨다.

-즉, Commit 이나 Rollback을 사용하면 트랜잭션이 처리된 단위대로 후에 Rollback을 진행할 수도 있다.

This post is licensed under CC BY 4.0 by the author.