트랜잭션(Transaction)이란?
트랜잭션이란,
데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 모두 수행되어야 할 일련의 연산들을 의미한다.
트랜잭션의 특징
1. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다.
2. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환
3. 하나의 트랜잭션은 Commit되거나 Rollback 된다.

트랜잭션의 상태
1. 활동(Active) : 트랜잭션이 수행되기 시작하여 현재 수행중인 상태
2. 실패(Failed) : 하드웨어나 소프트웨어의 문제, 트랜잭션 내부의 오류 등 여러 이유로 인하여 트랜잭션 수행이 중단된 상태
3. 철회(Aborted) : 트랜잭션을 수행하는 데 실패하여 Rollback 연산을 실행한 상태
4. 부분적 완료(Partially Committed) : 트랜잭션의 마지막 연산이 실행된 직후의 상태. 즉, 모든 연산을 처리한 상태.
5. 완료(Committed) : 트랜잭션이 완료되어 commit 연산을 실행한 상태
트랜잭션의 연산
1. commit 연산 : 트랜잭션이 성공적으로 수행되었음을 선언(작업 완료)
2. rollback 연산 : 트랜잭션을 수행하는 데 실패했음을 선언(작업 취소)
트랜잭션의 특성(ACID)
1. 원자성(Atomicity)
트랜잭션을 구성하는 모든 연산들이 모두 정상적으로 실행되거나 하나도 실행되지 않아야 한다(all - or - nothing).
2. 일관성(Consistency)
트랜잭션이 성공적으로 수행된 후에도 데이터베이스가 일관된 상태를 유지해야 함을 의미.
3. 격리성(Isolation)
현재 수행 중인 트랜잭션이 완료될 때까지 트랜잭션이 생성한 중간 연산 결과에 따른 트랜잭션들이 접근할 수 없음
4. 지속성(Durability)
영속성이라고도 함. 트랜잭션이 성공적으로 완료된 후 데이터베이스에 반영한 수행 결과는 어떠한 경우에도 손실되지 않고 영구적이어야 함.
'CS > DB' 카테고리의 다른 글
| DB 면접 대비 - 정규화 & 이상현상 (Normalization & Anomaly) (0) | 2024.03.13 |
|---|---|
| DB 면접 대비 - 인덱스(index) (0) | 2024.03.13 |
| DB 면접 대비 - 프로시저(Procedure) (0) | 2024.03.13 |
| DB 면접 대비 - 트리거(Trigger) (0) | 2024.03.13 |