transaction ; 트랜잭션

컴퓨터 프로그램에서 트랜잭션의 일반적인 의미는 정보의 교환이나 데이터베이스 갱신 등 연관되는 작업들에 대한 일련의 연속을 의미하는데, 데이터베이스의 무결성이 보장되는 상태에서 요청된 작업을 완수하기 위한 작업의 기본 단위로 간주된다.

전형적인 트랜잭션의 예로, 고객의 전화 주문을 받아 대리인이 주문내용을 컴퓨터에 입력하는 것을 들 수 있는데, 이 주문 트랜잭션은 다음과 같은 여러 개의 작업단계로 이루어진다.

  • 데이터베이스로부터 재고량 조사하기
  • 그 상품이 가용한지(혹시, 다른 고객으로부터 예약된 것인지의 여부) 확인하기
  • 주문하기
  • 주문이 이루어졌는지 확인하기
  • 예상 선적시간 확인하기

위의 작업단계를 하나의 트랜잭션으로 보았을 때, 트랜잭션이 성공적으로 끝나기 위해서는 각 작업 단계들이 모두 완성되어야만 하며, 그랬을경우 비로소 이 새로운 주문 내용이 데이터베이스에 실제로 반영된다. 만약 그렇지 못했을 경우, 즉 어떤 한 작업 단계에서라도 오류가 발생하면 데이터베이스에는 아무런 수정이 이루어지지 않으며, 트랜잭션이 시작되기 이전 상태로 유지된다. 트랜잭션이 성공리에 끝났을때 이루어지는 데이터베이스의 갱신을 "commit" 이라고 부르며, 트랜잭션이 실패되었을때 데이터베이스의 수정 내용이 취소되는 것을 "rollback"이라고 부른다. 트랜잭션의 각 사건들을 관리 감독하는 프로그램을 트랜잭션 모니터라고 하며, 트랜잭션은 SQL에 의해 제공된다.


가끔 어떤 컴퓨터에서 트랜잭션이라는 용어는 다른 의미를 갖는다. 예를 들어 IBM 대형기종 운영체계배치 처리에서, 트랜잭션은 작업(job) 또는 작업단계(job step)를 의미한다.

이 정보는 1999년 6월 22일에 수정되었으며, 최송희님께서 도움을 주셨습니다.
영어판(whatis.com)