반응형
트랜잭션이란?
트랜잭션(Transaction)은 데이터베이스 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한번에 모두 수행되야야 하는 일련의 연산을 의미 합니다.
트랜잭션의 특징
- 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위
- 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위
트랜잭션의 특성
Atomicity(원자성) | Consistency(일관성) | Isolation(독립성, 격리성) | Durablility(영속성, 지속성) |
Atomicity
- 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 합니다.
- 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되야 합니다.
Consistency
- 트랜잭션 실행 전 DB 내용이 잘못되지 않으면 실행 후도 잘못되지 않아야 합니다.
- 시스템의 고정요소는 트랜잭션 수행 전과 후의 상태가 같아야 합니다.
Isolation
- 하나의 트랜잭션 실행 중 다른 트랜잭션의 연산이 끼어 들 수 없습니다.
- 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안됩니다.
Durablility
- 트랜잭션이 성공적으로 수행되면 데이터베이스의 내용은 영구적으로 반영되어야 합니다.
트랜잭션의 연산
Commit | Rollback | Savepoint |
- commit : 올바르게 반영된 데이터를 db에 반영
- rollback : 트랜잭션 시작 이전의 상태로 되돌림 (commit 전까지, auto commit 포함)
- savepoint : 저장 지점
반응형
'IT 개념' 카테고리의 다른 글
[IT 개념] 리눅스 데몬(Daemon) 이란? (0) | 2022.12.16 |
---|---|
객체지향(OOP) 과 절차적 프로그래밍(PP) (0) | 2022.02.26 |
[Window] 작업관리자 창 확인하는 법 (0) | 2022.01.07 |