오늘부터 공부한다
트랜잭션이란? 본문
트랜잭션 (Transaction)이란?
데이터 베이스의 상태를 변화시키기 위해 수행해야하는 것이다.
간단하게는 SELECT, INSERT, DELETE, UPDATE등을 이용하여 데이터베이스를 접근 하는 것을 의미한다.
이들은 모두 원자성, 일관성, 지속성, 독립성의 특징을 가진다.
원자성(Atomicity) : 원자성은 db에 모두 반영되던가 전혀 반영되지 않아야한다.
만약 트랜잭션 단위로 데이터가 처리되지 않는다면, 설계한 사람은 데이터 처리 시스템을 이해하기 힘들 뿐만 아니라, 오작동 했을시 원인을 찾기가 매우 힘들어질것이다.
일관성(Consistency) : 트랜잭션의 작업 처리 결과가 항상 일관성을 가져야한다.
트랜잭션이 진행되는 동안에 데이터베이스가 변경 되더라도 업데이트된 데이터베이스로 트랜잭션이 진행되는것이 아니라, 처음에 트랜잭션을 진행 하기 위해 참조한 데이터베이스로 진행된다. 이렇게 함으로써 각 사용자는 일관성 있는 데이터를 볼 수 있는 것이다.
지속성(Durability) : 트랜잭션이 성공적으로 완료시, 결과는 영구 반영되야한다.
독립성(Lsolation) : 어느 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없다.
하나의 특정 트랜잭션이 완료될때까지, 다른 트랜잭션이 특정 트랜잭션의 결과를 참조할 수 없다.
트랜잭션의 Commit 연산
하나의 트랜잭션 작업을 성공하고 DB가 일관성 있는 상태일 때 트랜잭션이 끝났다고 알려주기 위해 사용하는 연산
=> 수행 시 수행한 트랜잭션이 로그에 저장된다.
트랜잭션의 RollBack 연산
하나의 트랜잭션 처리가 비정상적으로 종료되어 원자성이 깨진 경우,
다시 시작하거나 부분적으로만 연산 결과를 취소시킨다.
'데이터베이스' 카테고리의 다른 글
데이터베이스 정규화 (0) | 2019.10.15 |
---|---|
무결성 제약조건 (0) | 2019.10.11 |
트랜잭션(Transaction) 내용 추가 및 기타 (0) | 2019.10.08 |
데이터베이스 모델링 (0) | 2019.10.08 |
2단계 Commit(Two Phase Commit) (0) | 2019.10.07 |