728x90
728x90
데이터베이스 트랜잭션의 정의와 특징, 트랜잭션을 제어하기 위해 사용하는 명령어를 설명하시오.
DB 트랜잭션)
DB의 상태를 변환시키기 위해서 수행하는 작업의 논리적 단위로서, 한꺼번에 모두 수행되어야 할 일련의 연산들.
제어 명령어)
commit : 한 개의 트랜잭션에 대한 작업이 완료되었음을 알리는 명령어로, 커밋을 수행하면 하나의 트랜잭션 과정을 종료하게 된다.
rollback : 작업 중 문제가 발생하여 트랜잭션의 처리과정에서 발생한 변경사항을 취소하고 트랜잭션 과정을 종료시키는 명령어.
계좌 a의 초기잔고는 만원, 트랜잭션T1은 계좌에 만 원 이체, T2는 2만원 이체하는 것이다. T1을 수행하는 테스트를 진행하였는데, 실행 후 잔액이 3만원이 되었다. 원인을 분석해본 결과 T2가 동시에 수행되었다는 사실을 알게 되었다. 이와 같이 동시성 제어를 하지 않을 경우에 예상되는 문제점과 해결방안은?
갱신 분실: 이존 트랜잭션이 데이터 갱신 후 종료하기 전에 나중에 트랜잭션이 갱신값을 덮어쓰는 경우 발생
현황파악오류: 트랜잭션의 중간 수행결과를 다른 트랜잭션이 참조함으로써 발생하는 오류
모순성: 두 트랜잭션이 동시에 실행할 때 DB가 일관성이 없는 상태로 남는 문제
728x90
728x90
댓글