Concurrency Control - Timestamp Based Protocol

함궈·2022년 6월 18일
0

데이터베이스

목록 보기
4/4

Timestamp-based protocol

Locking protocol들은 실행 중 동적으로 locking 순서가 결정되지만, Timestamp-based protocol은 트랜잭션들 사이에 순서가 결정된다.

각 data item Q에 부여되는 두개의 timestamp 값

  • W-timestamp(Q) : write(Q)를 성공적으로 수행한 transaction들 중에서 가장 최근의 timestamp
  • R-timestamp(Q) : read(Q)를 성공적으로 수행한 transaction들 중에서 가장 최근의 timestamp

Timestamp-ordering Protocol

  1. conflict serializability
  2. deadlock-free
  3. no waiting

Algorithm

for each operation Ti
	do case operation-type(Ti) = read(Q)
    	do case TS(Ti) < W-timestamp(Q) {
        	reject read operation;
            rollback Ti; }
        
        case TS(Ti) >= W-timestamp(Q) {
        	execute read operation;
            R-timestamp = TS(Ti); }
        
        endcase
        
    case operation-type(Ti) = write(Q)
    	do case TS(Ti) < R-timestamp(Q){
        	reject write operation;
            rollback Ti; }
        
        case TS(Ti) < W-timestamp(Q){
        	reject write operation;
            rollback Ti; }
        
        otherwise{
        	execute write operation;
            W-timestamp = TS(Ti); }
       	
        endcase
    endcase

0개의 댓글

관련 채용 정보