IT 기술/DB

데이터베이스 트랜잭션

gooooooood 2024. 12. 4. 22:45
반응형

Ⅰ. 데이터베이스 논리적 작업 단위, 트랜잭션의 개요

가. 트랜잭션의 정의

- 한번에 처리되어야 할 하나 또는 둘 이상의 일련의 작업단위로 데이터베이스에 행해지는 작업의 논리적 단위

 

나. 트랜잭션의 특징

특징 상태관리 설명
Atomicity
(원자성)
All or Nothing - 연산 전체가 처리되거나 전체가 처리되지 않아야함
Consistency
(일관성)
모순없는 상태 - 트랜잭션 실행을 성공적으로 완료하면 모순 없이 일관성 있는 데이터베이스 상태를 보존
Isolation
(고립성)
Locking - 트랜잭션이 실행 중에 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근할 수 없음
Durability
(영속성)
Storeing - 성공적으로 완료된 트랜잭션의 결과는 영구적으로 데이터베이스에 저장됨

 

Ⅱ. 트랜잭션의 상태 전이

작업 구분 상태 설명
시작 활성
(Active)
- 초기 상태로 트랜잭션이 실행 중이면 동작 상태에 있다고 할 수 있음
성공 부분 완료
(Partially Committed)
- 마지막 명령문이 실행된 후에 가지는 상태
완료
(Committed)
- 트랜잭션이 성공적으로 완료된 후 가지는 상태
실패 실패
(Failed)
- 정상적인 실행이 더 이상 진행 될 수 없을 때 가지는 상태
철회
(Aborted)
- 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원되었을때 가지는 상태

 

Ⅲ. 트랜잭션 처리를 위한 DBMS 구성요소 및 관련기법

구성요소 기능 기법
스케쥴러 - 직렬 스케줄: 각 트랜잭션의 명령들이 끼어들기 방식으로 실행되지 않고 연속적으로 실행되는 스케줄
- 직렬화 스케줄: 병행수행을 보장하면서 직렬 스케줄과 동일한 결과를 얻는 스케줄
- Locking
- Timestamp
트랜잭션 관리자 - 트랜잭션 명령어를 처리 - Transaction Begin, End, Commit, Rollback
로그 관리자 - 데이터베이스 변화를 디스크에 로그로 기록
- 트랜잭션의 원자성, 지속성 보장
- 백업파일, 로그
회복 관리자 - 로그를 검토하여 데이터베이스를 일관성 있는 상태로 재저장
- 시스템 다운 시 트랜잭션 원자성 보장
- 즉시갱신
- 지연갱신

- 여러 트랜잭션이 병행 수행될 때 직렬성을 보장하여 데이터베이스 일관성 보장 필요

반응형

'IT 기술 > DB' 카테고리의 다른 글

분산 데이터베이스의 투명성  (0) 2024.12.04
데이터옵스 (DataOps)  (0) 2024.12.04
빅데이터 분석 도구 선택 원칙  (0) 2024.12.04
정규화와 역정규화  (0) 2024.12.04
NoSQL  (0) 2024.12.04