차례:
정의-분산 트랜잭션이란 무엇입니까?
분산 트랜잭션은 둘 이상의 연결된 네트워크 호스트와의 트랜잭션 유형입니다. 일반적으로 호스트는 리소스를 제공하며 트랜잭션 관리자는 트랜잭션 개발 및 처리를 담당합니다. 다른 트랜잭션과 마찬가지로 분산 트랜잭션에는 네 가지 ACID 속성 (원 자성, 일관성, 격리, 내구성)이 모두 포함되어야합니다. 작업의 특성상 작업 번들 (작업 단위)에 대해 전혀 또는 전혀없는 결과를 보장하려면 원 자성이 중요합니다.
Techopedia는 분산 트랜잭션을 설명합니다
데이터베이스는 표준 트랜잭션 리소스이며 일반적으로 트랜잭션은 소수의 데이터베이스로 확장됩니다. 이러한 경우 분산 트랜잭션은 다양한 물리적 위치간에 할당 된 다양한 참여 데이터베이스간에 동기화되어야하는 데이터베이스 트랜잭션으로 볼 수 있습니다. 격리 속성은 다중 데이터베이스 트랜잭션에 고유 한 장애물을 제공합니다.분산 트랜잭션의 경우 각 컴퓨터에는 로컬 트랜잭션 관리자가 있습니다. 트랜잭션이 여러 컴퓨터에서 작동하는 경우 트랜잭션 관리자는 상위 또는 종속 관계를 통해 다양한 다른 트랜잭션 관리자와 통신하며 이는 특정 트랜잭션에 대해서만 정확합니다.
리소스 관리자는 일관되거나 복원력있는 데이터를 처리하고 분산 트랜잭션 조정자 (DTC)와 긴밀하게 협력하여 응용 프로그램의 격리 및 원 자성을 보장합니다. 분산 트랜잭션에서 모든 참여 요소는 트랜잭션 전에 데이터베이스 업데이트와 같은 변경 작업 커밋을 준수해야합니다. DTC는 참여 구성 요소의 트랜잭션을 조정하고 트랜잭션을 관리 할 각 컴퓨터의 트랜잭션 관리자 역할을합니다. 다양한 컴퓨터간에 트랜잭션을 분배 할 때 트랜잭션 관리자는 각 하위 트랜잭션 관리자에게 메시지를 전달, 준비, 커밋 및 중단합니다.
DTC의 2 단계 커밋 알고리즘에서 1 단계에는 트랜잭션 관리자가 참여한 각 구성 요소의 커밋 준비를 요구하는 반면, 2 단계에서는 모든 구성 요소가 성공적으로 커밋 할 준비가되면 트랜잭션 관리자가 커밋 결정을 메시지로 보냅니다.