반응형
Ⅰ. 데이터베이스 논리적 작업 단위, 트랜잭션의 개요
가. 트랜잭션의 정의
- 한번에 처리되어야 할 하나 또는 둘 이상의 일련의 작업단위로 데이터베이스에 행해지는 작업의 논리적 단위
나. 트랜잭션의 특징
특징 | 상태관리 | 설명 |
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 |