개인 공부

데이터 베이스 공부 ( 트랜잭션 )

HA젠옹 2019. 7. 26. 20:36
반응형

트랜잭션 ( 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 )

반응형