트랜잭션 ( Transaction )
- 데이터베이스의 상태를 변화시키기 위하여 논리적인 기능을 수행하는 하나의 작업 단위
또는 한꺼번에 모두 수행되어야 할 일련 연산들
- 일반적으로 회복의 단위가 된다.
- 하나의 트랜잭션은 Commit 되거나 Rollback 되어야 한다.
- 특성 : 원자성(Atomicity), 일관성(Consistency), 독립성,격리성(Isolation), 영속성,지속성(Durability)
트랜잭션 특성
※원자성 (Atomicity)
- 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
- 완벽히 수행되지 않고 어느 하나라도 에러가 발생하면 트랜잭션 전부 취소되어야 한다.
- 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 한다.
※일관성 (Consistency)
- 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환
※독립성,격리성 (Isolation)
- 둘 이상 동시에 병행 실행 중 다른 트랜잭션 연산은 끼어들 수 없다.
※영속성,지속성 (Durability)
- 실행이 성공적으로 완료 되면 결과는 영속적이여야 한다.
- 일단 완료 되면 시스템이 고장 나더라도 트랜잭션의 결과는 잃어버리지 않고 지속되어야 한다.
Commit
- 트랜잭션의 실행을 성공적으로 완료 되었음을 선언하는 SQL문
- 데이터베이스가 다시 일관된 상태에 있을 때 이 트랜잭션이 행한 갱신 연산이 완료 된 것을
트랜잭션 관리자에게 알려주는 연산
Rollback
- 트랜잭션의 실행이 실패하였음을 알리는 연산자로 트랜잭션이 수행한 결과를
원래 상태로 원상 복귀시키는 연산
트랜잭션의 상태
※활동 : 트랜잭션이 실행 중인 상태
※부분 완료 : 트랜잭션의 마지막 연산까지 실행했지만 Commit 연산이 실행되기 직전의 상태
※완료 : 트랜잭션이 성공적으로 종료되어 Commit 연산을 실행한 후의 상태
※실패 : 트랜잭션 실행에 오류가 발생하여 중단된 상태
※철회 : 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
회복 (recovery)
- 트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때
손상되기 이전의 정상 상태로 복구시키는 작업
- 회복 기법의 종류
연기 갱신 기법 ( Deferred Modification )
즉각 갱신 기법 ( Immediate Update )
그림자 페이지 대체 기법 ( Shadow Paging )
검사점 기법 ( Check Point )
'개인 공부' 카테고리의 다른 글
운영체제 공부 ( 운영체제 정의 및 기능 , 로더 등 ) (0) | 2019.07.27 |
---|---|
데이터베이스 공부 ( 병행 제어 ) (0) | 2019.07.26 |
데이터베이스 공부 ( 뷰, 데이터 사전 ) (0) | 2019.07.26 |
데이터베이스 공부 ( SQL문 ) (0) | 2019.07.26 |
데이터베이스 공부 ( 정규화 ) (0) | 2019.07.26 |