two phase commit
-
트랜잭션 2PC (Two Phase Commit)MySQL 2017. 8. 2. 21:31
새로운 프로젝트를 진행하면서 트랜잭션 2PC 개념에 대해 살펴보라는 피드백을 받고 2PC에 조사하고 정리한 내용을 포스팅 하고자한다. 우선, 트랜잭션 2PC를 살펴보기 전에 트랜잭션 개념부터 정리하자. 트랜잭션 ( Transaction, Tx ) 트랜잭션이란 시작과 끝이 있는 독립적인 일 여러 개를 하나로 묶어놓고 그 중 어느 하나라도 실패하면 모든 일들을 시작하기 전 상태로 돌리는 하나의 작업 단위를 말한다. 여러 개의 일을 각각으로 나눠서 처리하지만, 만약 한가지 일이라도 실패한다면 그룹화된 여러 개의 일에 적용되었던 부분들을 취소시키고 이전 상태로 되돌린다는 의미이다. 은행간의 이체를 예를 들어보자. A가 B에게 송금을 하는 과정은 크게 보면 2개의 단계로 나눠질 수 있다. 1) A의 계좌에서 송금..