트랜잭션의 연산 중 ROLLBACK 이란?
2023. 3. 16. 16:27ㆍCS
728x90
롤백(rollback)이란
트랜잭션이 실패할 경우 실행되며, 전체 트랜잭션을 취소하는 연산이다.
트랜잭션을 실행하다 보면, 가끔 발생할 수 있는 여러 오류나
시스템의 예기치 않은 전원 차단 등으로 인해
트랜잭션이 실행 중 중단되는 경우가 있다.
이런 요인들로 인해 트랜잭션이 실행 중 중단되게 되면 트랜잭션의 ROLLBACK 연산이 일어난다고 보면 된다.
롤백은 트랜잭션을 트랜잭션 시작부터 또는 트랜잭션 내의 저장 지점까지 되돌린다.
롤백 트랜잭션을 사용하면 트랜잭션 시작부터 또는 저장 지점까지의 모든 데이터 수정을 지울 수 있으며,
트랜잭션에 할당된 자원도 해제된다.
트랜잭션 처리 시스템에서 롤백은 다음과 같은 경우에 발생할 수 있다:
- 명시적 요청(예: 사용자가 의도적으로 ROLLBACK 을 요청함)
- 처리되지 않은 예외 또는 오류.
위 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 |