분산 트랜잭션

분산 트랜잭션()은 2개 그 이상의 네트워크 상의 시스템 간의 트랜잭션이다. 일반적으로 시스템은 트랜잭션 리소스(transaction resource)의 역할을 하고, 트랜잭션 매니저(transaction manager)는 이러한 리소스에 관련된 모든 동작에 대해 트랜잭션의 생성 및 관리를 담당한다. 분산 트랜잭션은 다른 트랜잭션처럼 4가지 ACID(원자성, 일관성, 고립성, 지속성) 속성을 갖추어야 하며, 여기에서 원자성은 일의 단위(UOW)를 위해 all-or-nothing 결과를 보증해야 한다.

벤더 컨소시엄의 하나인 오픈 그룹은 트랜잭션 모델 구성 요소의 동작에 대한 사실상의 표준이 된 X/Open DTP 모델을 제안하였다.

데이터베이스는 흔한 트랜잭션 자원이며 트랜잭션은 이러한 데이터베이스들을 통과한다. 이 경우 분산 트랜잭션은 여러 참여 데이터베이스 간에 동기화(ACID 속성을 제공)해야 하는 데이터베이스 트랜잭션으로 볼 수 있다.

분산 트랜잭션의 정당성을 보증하기 위한 일반적인 알고리즘은 2단계 커밋(2PC)이다. 이 알고리즘은 일반적으로 수 밀리초에서 수 분 사이의 짧은 시간 내에 커밋할 수 있는 업데이트를 위해 적용된다.

같이 보기 
 자바 트랜잭션 API

참고 문헌 
 
 
 

데이터 관리