본문 바로가기
전산 필기 시험/전산학(컴퓨터일반) 개념정리

트랜잭션(Transaction) 관리자

by 응_비 2022. 6. 8.

📌트랜잭션(Transaction)

트랜잭션(Transaction)이란

하나의 작업을 수행하기 위해 데이터베이스에서 논리적인 작업의 단위 또는 한번에 모두 수행되어야 하는 일련의 연산을 말한다.  

1. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변화 과정의 작업 단위이다.
2. 하나의 트랜잭션은 commit 과 rollback 명령어를 사용한다.
- 커밋(commit) : 변경 사항을 DB에 정상적으로 반영한다, 반영 완료
- 롤백(rollback) : 작업 실패 시 트랜잭션 실행 전 상태로 되돌린다, 작업 취소

 

📌 트랜잭션의 특징 (ACID)

1. Atomicity(원자성) : 트랜잭션 구성하는 연산들은 모두 정상 실행되거나 모두 실행되지 않아야 함
2. Consistency(일관성) : 트랜잭션 수행 전 일관된 데이터베이스와 트랜잭션 수행 후 결과도 일관성 있는 상태를 유지해야 함
3. Isolation(격리성) : 수행 중인 트랜잭션이 완료될 때 까지 다른 트랜잭션이 접근 할 수 없음
4. Durability(지속성) : 시스템 장애 발생 하더라도 데이터베이스에 그대로 남아있어야 함

 

 

📌 트랜잭션 관리자(Transaction Manager)

TM은 트랜잭션이 완료 될 때까지 트랜잭션 상태를 유지하는 역할을 한다.

여러 작업이 동시에 실행되고 있을때, 만약 2개의 작업 중 1개의 작업이 에러 발생시 이 트랜잭션은 중지가 되고 트랜잭션들이 충돌없이 잘 이루어지도록 관리해준다. 이러한 트랜잭션 관리자를 Spring framework에서도 구현할 수 있다.

 

댓글