개발자 입니다
고양이손녀의 반대말은
개발자 입니다
전체 방문자
오늘
어제
  • 분류 전체보기 (51)
    • iOS (4)
      • swift (3)
      • swiftUI (0)
    • Python (3)
    • CS (0)
    • 자료구조 (0)
    • 독학사 (44)
      • 데이터베이스 (42)
      • 통합컴퓨터시스템 (0)
      • 알고리즘 (0)
      • 통합프로그래밍 (2)

블로그 메뉴

  • 깃허브
  • 태그
  • 방명록

인기 글

태그

  • 입출력
  • optionalChaining
  • 파이썬
  • 코딩테스트
  • 데이터베이스
  • 통합프로그래밍
  • Swift
  • Guard
  • 알고리즘
  • OptionalBinding
  • 독학사
  • optional

티스토리

hELLO · Designed By 정상우.
개발자 입니다

고양이손녀의 반대말은

독학사/데이터베이스

타임스탬프 순서 기법

2022. 10. 15. 02:03

평가영역

  • 상세 평가영역 없음

타임스탬프

데이터베이스 시스템으로 입력된 복수의 트랜잭션에 대하여 입력된 시간에따라 타임스탬프를부여하는 기법으로아래의 두가지 방법이 있다.

  • 시스템 시계의 값을 타임스탬프로 사용
  • 새로운 타임스탬프가 할당된 후에 증가하는 계수기(counter)를 사용

 

또한 read와 write 트랜잭션을 다르게 관리하기위해(read인지 write인지에 따라 동시성제어가 달라지므로) 아래와 같은 2개의 값을 이용한다.

  • R-타임스탬프(Q): read(Q)를 성공적으로 실행한 트랜잭션중에서 가장 큰 타임스탬프
  • W-타임스탬프(Q): write(Q)를 성공적으로 실행한 트랜잭션중에서 가장 큰 타임스탬프 

이들은 새로운 read(Q)와 write(Q) 명령을 실행할 때마다 갱신한다.


중요한것은 빠른 타임스탬프가 찍힌 트랜잭션을 실행하는것이다.(타임스탬프가 작은쪽이 더 빨리 실행된다)

  • read 트랜잭션이 실행요청 들어왔을때
    • read요청 < W-타임스탬프(Q)이면: 가장 최근에 write되기 전의 데이터를 보여달라는 요청이므로 read거절
    • read요청 >= W-타임스탬프(Q)이면: 가장 최근에 write된 후의 데이터를 보여달라는 요청이므로 read승인
  • write 트랜잭션이 실행요청 들어왔을때
    • write요청 < R-타임스탬프(Q)이면: 이미 조회가 끝난 값을 write할 필요가없기 대문에 write거절
    • write요청 < W-타임스탬프(Q)이면: 가장 최근에 write가 끝난 값이기 때문에 write거절
    • 이외의 경우는 wirte 실행되고 W-타임스탬프(Q) 갱신
저작자표시
    '독학사/데이터베이스' 카테고리의 다른 글
    • 다중버전 기법
    • 검증 기법
    • 로킹
    • 트랜잭션과 직렬화
    개발자 입니다
    개발자 입니다

    티스토리툴바