Introduction to Validation Based Protocol in DBMS
Validation based protocol in DBM is a type of concurrency control techniques that works on the validation rules and time-stamps. It is also known as the optimistic concurrency control technique. The protocol associated with three phases for managing concurrent transactions such as read phase, validation phase, and write phase. The optimistic approach of the protocol assumes less interference among concurrent transactions, hence there is no checking process happening while the transactions are executed. This protocol is preferable for short transactions. It uses the local copy of the data for the rollback mechanism that is used to manage rare conflict scenarios and avoids cascading rollbacks.
How Validation Based Protocol works in DBMS?
The Validation based protocol works based upon the following three phases
- Read and Execution Phase: Read phases involve read and execute an operation for Transaction T1. The values of the multiple data items are being read in this phase and the protocol writes the data in a temporary variable. The temporary variable is a local variable that holds the data item instead of writing it to the database.
- Validation Phase: The validation phase is an important phase of the concurrency protocol. It involves validating the temporary value with the actual values in the database and to check the view serializability condition.
- Write Phase: The write phase ensures valid data to be written to the database that is validated in the validation phase. The protocol performs the rollback operation in case of an invalid scenario of the validation phase.
Various Timestamps Associated
Next, we will discuss various timestamps associated with each phase of the validation protocol. There are three timestamps that control the serializability of the validation based protocol in the database management system, such as.
- Start(Timestamp): The start timestamp is the initial timestamp when the data item being read and executed in the read phase of the validation protocol.
- Validation(Timestamp): The validation timestamp is the timestamp when T1 completed the read phase and started with the validation phase.
- Finish(Timestamp): The finish timestamp is the timestamp when T1 completes the writing process in the writing phase.
To manage the concurrency between transactions T1 and T2, the validation test process for T1 should validate all the T1 operations should follow TS(T1) < TS(T2) where TS is the timestamp and one of the following condition should be satisfying
Finish T1 < Start T2
- In this condition, T1 completes all the execution processes before the T2 starts the operations.
- It regulates maintaining the serializability.
Start(T2) <Finish(T1) <Validate(T2)
- The validation phase of T2 should occur after the finish phase of T1. This scenario is useful for concurrent transaction serializability.
- The Transactions are able to access the mutually exclusive database resource at a particular timestamp while validating the protocol conditions.
The validation based protocol relies on the timestamp to achieve serializability. The validation phase is the deciding phase for the transaction to be committed or rollback in the database. It works on the equation TS (T1) =Validation (T1) where TS is the time stamp and T1 is the transaction.
How does the Validation Protocol Work?
We will discuss an example scenario to demonstrate how the validation protocol works
Transaction T1 | Transaction T2 |
Read(A)
Read(B) <Validate> Display(B+A) |
Read(A)
A=A-40 Read(B) B=B+80 <Validate> Write(A) Write(B) |
The transaction table is shown in the example associated with transaction T1 and transaction T2. It represents the schedule produced using validation protocol.
The concurrent transaction process starts with T1 with a reading operation as Read (A) where A is the numeric data element in the database. In the next step, the transaction T2 also reads the same data variable A after some time. Transaction T2 performs an arithmetic operation by subtracting constant value 40 from the variable A. It is represented as A=A-40 in the transaction table. The next step is a read operation on transaction T2 where it’s reading another numerical value of variable B as the Read(B). After the read operation completed, the transaction T2 immediately performs an arithmetic operation on the variable B. It uses the addition operator ‘+’ for adding a constant value as 80 to variable B. The addition operation is represented as B=B+80 in the transaction table.
In the next step of the concurrent transaction, T1 reads the variable B with operation Read (B). Now the validation based protocol comes into the action in the transaction T1 that validates the time stamp of the start phase of T2 lesser than the finishing phase time stamp of Transaction T1 and that is a lesser timestamp as the validate phase of Transaction T2.
Similarly, in the Transaction T2, the validation based protocol validates the timestamps. In the example shown in the table indicates both the validation based protocol is provided with a valid result based on the timestamp condition. And, as the conclusive operations write operations are performed by the transaction T2 using Write (A) and Write (B) statements.
It completes the concurrent transaction scenario with validation based protocol in DBMS.
Advantages and Disadvantages
In this section, we will discuss some of the advantages and disadvantages of validation based protocol in DBMS.
Advantages
Below are mentioned the advantages:
- The validation based protocol considers high priority to the greater degree of concurrency resulting in fewer conflict scenarios.
- This protocol is known for less number of rollback while maintaining the concurrency control mechanism.
Disadvantages
Below are mentioned some of the disadvantages:
- The validation based protocol may arise in the scenario of transaction starvation. This could be due to the short transaction conflicts associated with this protocol.
- The validation based protocol may not suitable for large transactions as it efficient for maintaining the shorter conflicts in the transactions.
Conclusion
This protocol is implemented in various enterprise systems such as the banking system, ticket booking system, traffic lighting management system where a shared datastore is used for concurrency control. The validation based protocol in DBMS is a mostly used technique that helps to maintain the data consistency, serializability in the multitasking and multi-user environment.
Recommended Articles
This is a guide to Validation Based Protocol in DBMS. Here we discuss how does Validation Base Protocol work in DBMS with advantages and disadvantages. You can also go through our other related articles to learn more –