오늘은 트랜잭션이랑, 교착상태에 대해 알아볼 것이다.
우선 트랜잭션이란 무엇일까?
데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻하는 것이다.
SQL를 이용하여 데이터베이스를 접근 하는 것을 의미한다.
특징은 크게 4가지로 구분할 수 있다.
Commit, Rollback
→ Commit: 하나의 트랜잭션이 성공적으로 끝나고, DB가 일관성 있는 상태에 있을때이다.
→ Rollback: 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션의 원자성이 깨질때, 트랜잭션을 처음부터 다시 시작하거나, 트랜잭션의 부분적으로만 연산된 결과를 다시 취소시킨다.
이제 교착 상태가 무엇인지 한 번 알아보자
데드락이라고 하며, 두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있어 결과적으로 아무것도 하지 못하는 상태이다.
다중 프로그래밍 환경에서 흔히 발생할 수 잇는 문제이다.
다중 프로그래밍: 하나의 CPU로 동시에 여러 프로그램을 실행하는 것처럼 처리하는 것이다.
교착상태의 조건은 다음과 같다.