본문 바로가기

디지털 포렌식 (Forensic)/디지털포렌식전문가 2급 필기

[디지털포렌식전문가 2급 필기] 4-5-1. 트랜잭션

728x90
반응형

트랜잭션

- 완전히 수행하거나 전혀 수행되지 않은 상태로 회복되어야 함

- 데이터베이스를 변경시키고 그 변경이 완료되면 결과는 이후의 어떠한 고장에도 손실되지 않아야 함

- 완료될 때 까지 자신이 갱신한 값들을 다른 트랜잭션이 보게 해서는 안 됨

트랜잭션의 정의 또는 특징

- 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업 단위

- 데이터베이스 복구 및 병행 수행 시 처리되는 논리적 작업 단위

- 한 번에 실행되어야 할 일련의 데이터베이스 연산 집합

트랜잭션의 특징ㄷ

- Atomicity (원자성)

- Consistency (일관성)

- Isolation (고립성)

- Durability (지속성)

Atomicity

- 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 함

- 트랜잭션의 모든 연산들이 완전히 수행하거나 혹은 전혀 수행하지 않아야 함

Consistency

- 트랜잭션 수행 전의 값이 정확한 값을 가졌다면, 수행 후의 최종 값이 항상 정확한 값이 유지하도록 보장해야 함

Isolation

- 여러 개의 트랜잭션들이 동시에 수행되는 경우 하나의 트랜잭션은 다른 트랜잭션들과는 독립적으로 수행되는 것처럼 보여야 함

- 즉 하나의 트랜잭션의 수행은 동시에 수행 중인 다른 트랜잭션이 간섭을 받지 않아야 함

트랜잭션이 가져야 할 4가지 ACID 특성

- 트랜잭션은 완전히 실행되거나 전혀 수행되지 말아야 함

- 트랜잭션 실행의 결과로 데이터베이스의 상태가 모순되지 않음

- 트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 영속적

데이터베이스를 접근하여 갱신 연산을 수행하는 트랜잭션의 상태

- 활동 : 트랜잭션이 Begin_trans에서부터 실행을 시작하였거나 실행 중인 상태

- 실패 : 정상적 실행을 더이상 계속할 수 없어서 중단한 상태

- 철회 : 트랜잭션이 실행에 실패하여 Rollback 연산을 수행한 상태

728x90
반응형