트랜잭션의 연산 중 ROLLBACK 이란?

2023. 3. 16. 16:27CS

728x90

롤백(rollback)이란

트랜잭션이 실패할 경우 실행되며, 전체 트랜잭션을 취소하는 연산이다.

 

트랜잭션을 실행하다 보면, 가끔 발생할 수 있는 여러 오류나

시스템의 예기치 않은 전원 차단 등으로 인해

트랜잭션이 실행 중 중단되는 경우가 있다. 

이런 요인들로 인해 트랜잭션이 실행 중 중단되게 되면 트랜잭션의 ROLLBACK 연산이 일어난다고 보면 된다.

 

롤백은 트랜잭션을 트랜잭션 시작부터 또는 트랜잭션 내의 저장 지점까지 되돌린다.

롤백 트랜잭션을 사용하면 트랜잭션 시작부터 또는 저장 지점까지의 모든 데이터 수정을 지울 수 있으며,

트랜잭션에 할당된 자원도 해제된다.

 

트랜잭션 처리 시스템에서 롤백은 다음과 같은 경우에 발생할 수 있다:

  1. 명시적 요청(예: 사용자가 의도적으로 ROLLBACK 을 요청함)
  2. 처리되지 않은 예외 또는 오류.

위 2번, 예외 또는 오류의 경우는 다음과 같은 상황을 포함한다.

  • 트랜잭션을 요청한 클라이언트와의 연결이 끊어짐.
  • 유효하지 않거나 범위를 벗어난 값 또는 매개변수가 들어오는 경우
  • 사용자 지연으로 인한 시간 초과.
728x90

'CS' 카테고리의 다른 글

TCP vs UDP  (0) 2023.03.18
HTTP GET vs POST?  (0) 2023.03.17
거품 정렬(Bubble Sort)이란?  (0) 2023.03.15
프록시란(proxy)?  (0) 2023.03.14
가상 메모리란?  (0) 2023.03.11