달력

11

« 2024/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2011. 1. 25. 18:38

2PC (2 Phase Commit) Work/Database General2011. 1. 25. 18:38

정의
분산 데이터베이스 환경에서 원자성을 보장하기 위해 분산 트랜잭션에 포함되어 있는 모든 노드가 Commit하거나 Rollback하는 메커니즘
분산 환경의 데이터 처리에서 데이터 신뢰성 향상을 위한 트랜잭션 처리 구조

필요성
분산 데이터베이스 환경에서는 Commit과 Rollback만으로 여러 노드에 분산된 데이터베이스의 일관성이 보장되지 않음
분산 데이터베이스에서는 모든 노드의 데이터베이스에서 트랜잭션이 성공적으로 완료되었음을 확인한 후에 트랜잭션의 처리가 완료되어야 함

실행주체, 처리절차
실행주체: 서버, 조정자(Global Coordinator),참여자(Participant),클라이언트(Client)
2PC의 처리절차 (GC: Global Coordinator, C:Client 노드, P:Participant 서버, LC:Local Coordinator)
1. C -> G : Commit요청 (트랜잭션 처리 요청)
2. G -> LC in P's : Commit Point Site결정 (분산 로컬 사이트에 트랜잭션 처리 알림)
3. LC in P's -> G : Prepare메시지 전송
4. G -> LC in P's : Prepare메시지 응답
5. G -> LC in P's : Commit/Rollback 명령

장단점
장점: 분산환경에서 데이터 신뢰성 향상을 위한 방안
단점: 분산의 규모가 증가할수록 다양한 환경이 존재하므로 신뢰할 수 있는 트랜잭션 보호가 어려움

2PC 활용시 고려사항
다단계로 증가시 신뢰성은 증가하지만 오버헤드는 증가하므로 적정수준 결정
상용 DBMS로는 완벽한 2PC를 지원하기 어려움
TP-monitor등의 트랜잭션 관리를 위한 미들웨어 제품 필요
:
Posted by Elick