카테고리 없음
데이터베이스 - 트랜잭션(Transaction)
우 석
2023. 12. 27. 20:39
트랜잭션(Transaction)
- 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성
- 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
트랜잭션의 특성
- 원자성(Atomicity): 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 성질
- 일관성(Consistency): 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질
- 고립성(Isolation): 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질
- 영속성(Durability): 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질
트랜잭션 상태변화
- 활동 상태(Active): 초기 상태, 트랜잭션이 실행 중일 때 가지는 상태
- 부분 완료 상태(Partially Committed): 마지막 명령문이 실행된 후에 가지는 상태
- 완료 상태(Committed): 트랜잭션이 성공적으로 완료된 후 가지는 상태
- 실패 상태(Failed): 정상적인 실행이 더 이상 진행될 수 없을 때 가지는 상태
- 철회 상태(Aborted): 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태
트랜잭션 제어
TCL(Transaction Control Language): 트랜잭션의 결과를 허용하거나 취소하는 목적으로 사용되는 언어를 지칭합니다.
- 커밋(COMMIT): 트랜잭션 확정, 트랜잭션을 메모리에 영구적으로 저장하는 명령어
- 롤백(ROLLBACK): 트랜잭션 취소, 트랜잭션 내역을 저장 무효화 시키는 명령어
- 체크포인트(CHECKPOINT): 저장 시기 설정, 롤백을 위한 시점을 지정하는 명령어
DBMS는 데이터베이스가 정확하고 일관된 상태를 유지할 수 있도록 기능을 제공합니다. 트랜잭션을 관리함으로써 데이터베이스의 회복과 병행 제어가 가능해져 결과적으로 데이터베이스가 일관된 상태를 유지할 수 있게 됩니다.