Database/개념

[DATABASE] 데이터베이스 분산트랜잭션, XA 트랜잭션 의미 알아보기

꽁담 2018. 1. 25. 10:34

XA 트랜잭션

여러 개의 노드 또는 다른 종료의 데이터베이스가 참여하는 하나의 트랜잭션(=분산 트랜잭션)을 의미합니다.

Goldilocks DBMS 에서는 이를 Global Transaction 이라고 칭하고 있습니다.




XA 트랜잭션의 로직

1. AP 에서 트랜잭션 관리자에게, 트랜잭션을 시작을 알립니다.

2. 트랜잭션 관리자는 어느 노드가 트랜잭션에 참여하는지 확인합니다. 다음 각 노드에 트랜잭션의 시작을 알립니다.

3. AP 에서 SQL 문장을 통해 작업을 수행합니다.

4. 모든 작업이 완료되면 AP 에서 트랜잭션 관리자에게 트랜잭션을 종료를 알립니다.

5. 트랜잭션 관리자는 각 데이터베이스 노드에 커밋과 롤백을 동시에 하도록 지시하며 이 때 2 단계 커밋을 수행합니다.



2단계 커밋은 아래 URL 을 참고 하시면 됩니다.

http://mozi.tistory.com/113