데이터베이스 트랜잭션
2020. 10. 14. 11:41ㆍCS 필기 노트/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 하여 트랜잭션이 성공적을 종료됨.
반응형
'CS 필기 노트 > DB' 카테고리의 다른 글
데이터 정규화와 무결성 (0) | 2020.10.13 |
---|---|
스키마 구성과 DB 설계 단계 (0) | 2020.10.13 |
데이터베이스 용어 정리 (테이블, 키, DB언어) (0) | 2020.10.13 |