finerss's world!

트랜젝션이란

공부/용어2011. 12. 13. 09:48
트랜잭션(Transaction)은 ATM, 데이터베이스 등의 시스템에서 사용되는 쪼갤 수 없다는 업무처리의 단위이다.
영어의 Transaction은 거래를 뜻한다. 예를 들어 돈을 주었는데 물건을 받지 못한다면, 그 거래는 이루어 지지 못하고 원상태로 복구되어야 한다. 이와 같이 쪼갤 수 없는 하나의 처리 행위를 원자적 행위라고 한다. 여기서 쪼갤 수 없다는 말의 의미는 실제로 쪼갤 수 없다기 보다는 만일 쪼개질 경우 시스템에 심각한 오류를 초래할 수 있다는 것이다. 이러한 개념의 기능을 ATM 또는 데이터베이스 등의 시스템에서 제공하는 것이 바로 트랜잭션이다.
트랜잭션은 사용자가 시스템에 요구를 시작하여 시스템 내의 처리, 시스템에서 사용자에게 응답하는 모든 처리를 포함한다. 이러한 트랜잭션이 충족해야 하는 기술적인 요건은 ACID가 있다.
[편집]종류

트랜젝션의 범위에 따라 다음과 같이 분류된다.
로컬 트랜잭션 (Local Transaction)
단위 시스템에서 처리되는 트랜잭션으로 트랜잭션에 대한 관리를 DBMS에서 담당한다.
분산 트랜잭션 (Distributed Transaction)
여러 개의 시스템에서 처리되는 트랜잭션이다. 여러 DBMS에 걸친 트랜잭션을 담당하는 경우도 많아서 주로 미들웨어에서 트랜젝션 관리를 담당한다.
[편집]예

ATM에서의 인출 거래는 하나의 트랜잭션이다. 인출 거래는 사용자로부터 필요한 정보를 입력받고 사용자의 계좌를 조회하고 잔고를 확인하여 요청 금액을 지불할 수 있는지 살펴보고, 잔고를 감소시킨 후 현금을 지급하는 일련의 절차이다. 만약 정전 또는 통신망 장애 등으로 인해 도중에 중단되면 인출 거래 전의 상태로 복구될 것이다. 데이터베이스에서 여러 개의 질의를 트랜잭션으로 묶어 놓은 경우도 마찬가지이다.

출처 :http://ko.wikipedia.org/wiki/트랜잭션



트랜잭션은 응용 프로그램에서 모두 성공적으로 완료하지 않으면 각 작업의 변경 사항이 철회되는 일련의 작업입니다. 예를 들어 당좌 계좌의 자금을 저축 계좌로 대체하는 것은 다음 단계로 구성된 트랜잭션입니다.

당좌 계좌에 대체에 충분한 자금이 있는지 확인합니다.

당좌 계좌에 충분한 자금이 있을 경우 당좌 계좌의 금액을 차변에 기입합니다.

저축 계좌의 대변에 자금을 기입합니다.

당좌 계좌 로그에 대체를 기록합니다.

저축 계좌 로그에 대체를 기록합니다.

이 단계 중 어느 한 단계라도 실패할 경우 이전 단계의 모든 변경 사항이 철회되고 당좌 계좌와 저축 계좌는 트랜잭션 시작 전과 동일한 상태가 되어야 합니다. 이 이벤트를 롤백이라고 합니다. 모든 단계가 성공적으로 완료되면 트랜잭션은 완결된 상태에 있습니다. 트랜잭션은 완결 또는 롤백 상태로 종료됩니다.

'공부 > 용어' 카테고리의 다른 글

WS(Web Server) 와 WAS(Web Application Server) 정의  (0) 2011.11.08