분산 트랜잭션
분산 트랜잭션(영어: Distributed transaction)은 2개 그 이상의 네트워크 상의 시스템 간의 트랜잭션이다. 일반적으로 시스템은 트랜잭션 리소스(transaction resource)의 역할을 하고, 트랜잭션 매니저(transaction manager)는 이러한 리소스에 관련된 모든 동작에 대해 트랜잭션의 생성 및 관리를 담당한다. 분산 트랜잭션은 다른 트랜잭션처럼 4가지 ACID(원자성, 일관성, 고립성, 지속성) 속성을 갖추어야 하며, 여기에서 원자성은 일의 단위(UOW)를 위해 all-or-nothing 결과를 보증해야 한다.
벤더 컨소시엄의 하나인 오픈 그룹은 트랜잭션 모델 구성 요소의 동작에 대한 사실상의 표준이 된 X/Open DTP 모델을 제안하였다.
데이터베이스는 흔한 트랜잭션 자원이며 트랜잭션은 이러한 데이터베이스들을 통과한다. 이 경우 분산 트랜잭션은 여러 참여 데이터베이스 간에 동기화(ACID 속성을 제공)해야 하는 데이터베이스 트랜잭션으로 볼 수 있다.
분산 트랜잭션의 정당성을 보증하기 위한 일반적인 알고리즘은 2단계 커밋(2PC)이다. 이 알고리즘은 일반적으로 수 밀리초에서 수 분 사이의 짧은 시간 내에 커밋할 수 있는 업데이트를 위해 적용된다.
같이 보기
편집참고 문헌
편집- “Web-Services Transactions”. 《Web-Services Transactions》. 2008년 5월 11일에 원본 문서에서 보존된 문서. 2005년 5월 2일에 확인함.
- “Nuts And Bolts Of Transaction Processing”. 《Article about Transaction Management》. 2014년 10월 18일에 원본 문서에서 보존된 문서. 2005년 5월 3일에 확인함.
- “A Detailed Comparison of Enterprise JavaBeans (EJB) & The Microsoft Transaction Server (MTS) Models”. 2018년 3월 9일에 원본 문서에서 보존된 문서. 2018년 3월 9일에 확인함.
이 글은 컴퓨터 과학에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |