컴퓨터

데이터베이스(DB) 트랜잭션(transaction)

카앙구운 2015. 10. 30. 15:24
728x90
반응형

DB transaction

transaction의 사전적 의미는 거래,매매,처리(과정)을 뜻한다. 사전적 의미로써 다가간다면 트랜잭션이 조금은 어렵지 않게 느낄 수도 있다. 데이터베이스 내에서 하나로 처리해야되는 명령문의 작업단위로써 한번에 것을 말한다.




예를 들면 ##이 %%에게 돈을 전달했을 때 받는 %%의 처리과정 중 흐름이 끊겼다면 ##돈은 빠져나갔지만 %%은 받지 않은 상황이 된다.

이렇게 중간에 예외가 발생해 작업을 마칠 수 없다면 트랜잭션을 이용하여 처음과 같은 모습으로 돌려되야 한다. 그것이 바로 트랜잭션 롤백(transaction rollback)이다.

물론 롤백도 있다면 커밋(Commit)도 있다. 작업을 완료했을 때 내가 작업을 완료 했다는 신호처럼 보내는 것이다.


트랜잭션의 특성

트랜잭션의 특성- 원자성,정합성,고립성, 내구성


원자성(Atomicity)은 시스템의 어떠한 상황에서도 한 트랜잭션에 대한 모든 연산이 데이테베이스에 모두 반영되든가  혹은 반영되지 않던가 둘 중에 하나만을 수행해야하는것을 말한다.




정합성(Consistency)은 트랜잭션이 실행에 성공적으로 완료하고 언제가 일관적인 데이터베이스에 상태를 유지해야하는 것을 말한다. 무결성 제약에 위반하는것이 있다면 트랜잭션은 중단된다.




고립성(Isolation)은 트랜잭션 수행 시 다른 트랜잭션의 연산이 끼어들지 못하도록 보장 받는 것이며 트랜잭션 실행내역은 연속적이어함을 의미한다.



내구성(Durability)은 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미하고 보통의 트랜잭션의 경우 로그를 모두 저장뒤 commit을 하게 된다.



728x90
반응형