본문 바로가기

컴퓨터공학

트랜잭션(Transaction)

트랜잭션(Transaction)

DB의 상태를 변화시키기 해서 수행하는 작업의 단위

- 하나의 트랜잭션은 Commit되거나 Rollback 됨

DB의 완전성을 보장하기 위한 것

- Commit(커밋) : 해당 Connection의 요청을 완료하고 특별한 에러가 없다면 결과를 DB에 반영

- RollBack(롤백) : 해당 Connection 수행 중 예기치 않은 에러가 발생하였다면 모든 과정을 취소하고 DB를 Connection이 수행되기 이전상태로 변경




Atomicity(원자성)

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

- 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 함



Consistency(일관성)

- 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환

- 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 함



Isolation(독립성,격리성)

- 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음

- 수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없음



Durability(지속성)

- 트랜잭션이 성공적으로 완료됬을 경우, 결과는 영구적으로 반영

'컴퓨터공학' 카테고리의 다른 글

DB index (인덱스)  (0) 2019.05.01
추상화 (Abstraction)  (0) 2019.05.01
재귀함수  (0) 2019.04.30
해싱 과 암호화  (0) 2019.04.30
HTTP  (0) 2019.04.30