Timestamp and its protocol |Concurrency Control
TIMESTAMP BASED PROTOCOLS-
This protocol require that we must have prior knowledge about the order in which the transaction will be accessed.In order to ordering the transaction, we associate a unique fixed timestamp ,denoted by TS(Ti) to each transaction like Ti.This time stamp is assigned by the database system before the transaction Ti starts execution.If a transaction Ti has been assigned timestamp TS(Ti) ,and a new transaction Tj enters the system then
TS(Ti)<TS(Tj)
DRAWBACKS OF TIMESTAMP-
1. Each value stored in the database requires two additional timestamp fields one for the last time the field was read and one for the last update.
2. It increases the memory requirements and the processing overhead of database.
IMPLEMENTATION-
To implement this scheme ,we associate with each data item Q two timestamp values:-
1. W-timestamp(Q) denoted the largest timestamp of any transaction that executed write(Q) successfully.
2. R-timestamp(Q) denoted the largest timestamp of any transaction that executed read(Q) successfully.
TIMESTAMP ORDERING PROTOCOL-
The timestamp-ordering protocol ensures that any conflicting read and write operations are executed in timestamp order.This protocol operates as follows-
1. SUPPOSE A TRANSACTION Ti ISSUES READ(Q)
(a) If TS(Ti)<W-timestamp(Q),then Ti needs to read a value of Q that was already overwritten.Hence the read operation is rejected and Ti is roll back.(Q)
(b) If TS(Ti)>=W-timestamp(Q),then read operation is executed and R-timesatmp(Q) is set to the maximum of R-timestamp(Q) i.e. TS(Ti).
2. SUPPOSE A TRANSACTION Ti ISSUES WRITE(Q)
(a) If TS(Ti)<R-timestamp(Q),then the value of Q that Ti is producing was needed previously and the system assumed that value would never be produced.Hence the write operation is rejected and Ti is roll back.(Q)
(b) If TS(Ti)<W-timestamp(Q),then Ti is attempting to write an obsolete value of Q. Hence the write operation is rejected and Ti is roll back.(Q).
(c) Otherwise the write operation is executed and W- timestamp(Q) is set o TS(Ti).