본문 바로가기
정보관리기술사/데이터베이스

병행 제어 기법 - 타임스탬프(Timestamp)

by 두음달인 2022. 8. 23.
반응형

타임스탬프(Timestamp)

 

데이터베이스 병행제어를 위해 데이터 항목에 타임스탬프를 부여하여 직렬가능성을 보장하는 기법

 

  • 트랜잭션에서 읽기 또는 쓰기 작업이 정상적으로 완료되면 타임스탬프를 기록한다.
  • 트랜잭션에서 읽기 또는 쓰기 작업을 수행하려고 하는 경우 타임스탬프를 확인한다.
  • 트랜잭션 수행 도중에 타임스탬프가 갱신된 경우 트랜잭션 작업을 중단한다.

 

  • 데이터에 접근하는 시간을 미리 정하여서 정해진 시간(Time Stamp)의 순서대로 데이터에 접근 하여 수행
  • 직렬가능성을 보장한다.
  • 교착상태가 발생하지 않는다.
  • 연쇄복귀(Cascading Rollback)를 초래할 수 있음

예시

  • 데이터 항목 x에 대하여
    • read_TS(x): x에 대한 읽기 작업이 최종적으로 성공한 시간
    • write_TS(x): x에 대한 쓰기 작업이 최종적으로 성공한 시간
  • 데이터 항목 x를 읽으려 하는 경우
    • read(x) 보다 write_TS(x)가 더 최신인 경우, 읽기 작업을 포함한 트랜잭션 ROLLBACK
  • 데이터 항목 x에 쓰려고 하는 경우
    • wrtie(x) 보다 read_TS(x)가 더 최신인 경우, 쓰기 작업을 포함한 트랜잭션 ROLLBACK

ex) T1이 11분11초에 시작되어 11분 13초에 a 데이터를 업데이트 하려고 하는데,

      a 데이터의 타임스탬프가 11분 12초인 경우 a 데이터는 다른 트랜잭션에 의해 읽히거나 쓰인 상태이므로

     현재 트랜잭션을 계속 실행하면 모순이 생기므로 ROLLBACK한다.

 

참고 자료

 

데이터베이스 병행제어 - IT위키 (itwiki.kr)

 

 

데이터베이스 동시성 제어 > 도리의 디지털라이프 (skby.net)

 

데이터베이스 동시성 제어 > 도리의 디지털라이프

I. 데이터베이스 무결성 확보 방안, 동시성 제어의 개요 가. 동시성 제어(Concurrency Control)의 개념 다중 사용자 환경을 지원하는 데이터베이스 시스템에서 여러 트랜잭션들이 성공적으로 동시에

blog.skby.net

 

동시성 제어( Concurrency Control ) (velog.io)

 

동시성 제어( Concurrency Control )

1. 프로그래밍 세계에서 '동시성 제어' 의 개념 2. 동시성 제어기법의 종류 3. 동시성 제어기법 종류별 작동 메커니즘

velog.io

 

반응형

댓글