본문 바로가기

기술 용어 검색

2PC (2 Phase Commit)

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

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

II.2PC의 실행주체, 처리절차및 장단점

가.실행주체: 서버, 조정자(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의 장단점
- 장점: 분산환경에서 데이터 신뢰성 향상을 위한 방안
- 단점: 분산의 규모가 증가할수록 다양한 환경이 존재하므로
신뢰할 수 있는 트랜잭션 보호가 어려움

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

'기술 용어 검색' 카테고리의 다른 글

XML DB  (0) 2007.12.08
OR Mapping  (0) 2007.12.08
데이터 마이닝  (0) 2007.12.08