데이터베이스 트랜잭션

2020. 10. 14. 11:41CS 필기 노트/DB

반응형

 

트랜잭션의 정의

- 상태를 일관적으로 유지하기 위한 병행 수행 제어 및 회복의 단위

- 하나의 트랜잭션은 완료(COMMIT)되거나 복귀(ROLLBACK) 되어야 한다.

 

COMMIT : 트랜잭션 실행이 성공적으로 완료되었음을 알리는 연산

수행된 결과들이 물리적 디스크로 저장된다.

 

ROLLBACK : 트랜잭션 실행이 실패하였음을 선언하는 연산

수행한 결과를 원래 상태로 되돌린다.

 

 

 

 

특성

원자성 : 트랜잭션의 연산은 모두 반영하던지 아니면 전혀 반영되지 않아야 한다. (All or Nothing) 

A가 수행되는 동안 B는 A가 지금까지 수행한 중간 결과를 참조할 수 없다.

 

일관성 : 트랜잭션 실행 후 DB의 상태는 무결성이 유지되고, 모순되지 말아야 한다.

시스템이 가지고 있는 요소는 트랜잭션 전과 후 결과가 같아야 한다.

 

독립성 : 트랜잭션 수행 중에 다른 트랜잭션 연산을 수행할 수 없다.

 

영속성 : 트랜잭션 결과로 나온 상태는 계속 유지될 수 있어야 한다.

 

 

 

 

상태

1. Active (활동) : 트랜잭션이 실행했거나 실행 중인 상태

2. Failed (실패) : 실행에 오류가 생겨 중단된 상태

3. Aborted (철회) : 트랜잭션이 비정상적으로 종료되어 Rollback된 상태

4. Partially committed (부분 완료) : 트랜잭션 마지막 연산까지 실행했지만 아직 Commit되기 전 상태

5. Committed (완료) : Commit 하여 트랜잭션이 성공적을 종료됨.

반응형