(two-phase commit)【정보통신용어사전】통신망에 접속되어 있는 복수의 컴퓨터에 분산 배치되어 있는 데이터베이스를 갱신할 때, 갱신 처리를 모순 없이 정확하게 동시에 처리하기 위하여 커미트 처리(commit processing)를 갱신 준비 단계와 갱신 단계의 2단계로 나누어 제어하는 것. 현재 시판되고 있는 대부분의 관계 데이터베이스 관리 시스템(RDBMS)은 2단계 커미트 기능을 장비하고 있다. 구체적인 갱신 절차는 다음과 같다. 트랜잭션 처리를 하는 응용 프로그램은 데이터베이스의 갱신 처리 마지막 단계에서 ‘커미트’라는 명령을 내린다. 이것은 ‘갱신을 확정하라’는 의미이다. 여기까지의 갱신 처리는 작업 영역(기억 장치)에 있는 데이터를 갱신하는 것뿐이고 실제로 자기 디스크에 있는 데이터를 갱신하지는 않았다. 커미트 명령을 최초로 접수한 컴퓨터(마스터)는 그 트랜잭션 처리에서 갱신 대상으로 한 데이터를 보유하고 있는 모든 컴퓨터(서버)에 대해서 ‘커미트 준비를 하라’는 지시를 보낸다. 각 서버는 거기까지의 처리가 정상적으로 종료되어 실제로 데이터를 갱신할 준비가 되어 있으면 ‘준비 완료’라고 응답한다. 여기까지가 제1단계이다. 마스터의 컴퓨터는 모든 서버로부터 ‘준비 완료’의 응답을 받으면 각 서버에 커미트 처리를 지시한다. 이 지시를 받고 각 서버는 실제로 자기 디스크의 데이터를 갱신한다. 이것이 제2단계이다. 어느 한 대의 서버에서도 처리에 이상이 있으면 마스터의 컴퓨터는 모든 서버에 후퇴 회복(rollback) 처리를 명령한다. 이것은 트랜잭션 처리 중에서 실행한 데이터 갱신을 모두 무효화하는 처리이다.

CreativeMinds Super Tooltip Glossary