트랜잭션(Transaction)::데이터베이스

2020. 6. 24. 22:07computer science/database

1. 트랜잭션의 정의

 

 데이터베이스의 상태를 변환시키는 하나의 논리적인 작업의 단위를 구성하는 연산들의 집합입니다.

 하나의 트랜잭션은 Commit 되거나 Rollback 됩니다.

 

Commit

 

 - 하나의 트랜잭션에 대한 작업이 성공적으로 끝나 데이터베이스가 다시 일관된 상태에 있을 때, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산입니다.

 

Rollback

 

 - 하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 깨뜨렸을 때, 이 트랜잭션의 일부가 정상적으로 처리되었더라도 이 트랜잭션이 행한 모든 연산을 취소(Undo)하는 연산입니다.

 - Rollback 시 해당 트랜잭션을 재시작하거나 폐기합니다.

 

 

2. 트랜잭션의 성질(ACID)

 

Atomicity(원자성) : 트랜잭션의 모든 연산들은 정상적으로 수행 완료되거나 아니면 전혀 어떠한 연산도 수행되지 않은 상태를 보장해야 합니다.

 

Consistency(일관성) : 트랜잭션이 완료된 후에도 데이터베이스가 일관된 상태로 유지되어야 합니다.

 

Isolation(독립성) : 하나의 트랜잭션이 실행하는 도중에 변경한 데이터는 트랜잭션이 완료될 때까지 다른 트랜잭션이 참조하지 못합니다.

 

Durability(지속성) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 합니다.