Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
Thomas Write Rule
3.
Thomas Write Rule Example
4.
Difference Between Basic TO Protocol and Thomas Write Rule
5.
Features of Thomas Write Rule
6.
Advantages
7.
Disadvantage
8.
Frequently Asked Questions
8.1.
What is the Thomas write rule in deadlock?
8.2.
What is the difference between timestamp protocol and Thomas write rule?
8.3.
What is the Thomas write rule for conflict serializability?
8.4.
Which condition is valid for Thomas' write rule?
9.
Key Takeaways
Last Updated: Apr 18, 2024
Easy

Thomas Write Rule in DBMS

Master Python: Predicting weather forecasts
Speaker
Ashwin Goyal
Product Manager @

Introduction

The Thomas write rule is a concurrency control mechanism used in database management systems to sustain and manage concurrent transactions and processes. It is an improved version of the timestamp ordering protocol used for concurrency control. The Thomas writes rule is based on the process of ignoring out-of-date writes. It holds all the timestamping protocol's characteristics, manages the concurrent transactions associated with conflict serializability, and views serializability scenarios. It is a helpful protocol for concurrent transactions associated with a preset logical order from the start and mapped with the appropriate timestamp rules.

Thomas Write Rule in DBMS

Recommended Topic, Schema in DBMS and  Checkpoint in DBMS

Thomas Write Rule

Thomas' write rule allows schedules that do not conflict serializable but are correct. Those non-conflict-serializable schedules satisfy the definition of view serializable schedules. The Thomas' write rule is a concurrency control modification of the timestamp-ordering protocol. The Thomas write rule is applied when a predefined logical order is assigned to transactions when they start.

We can ignore the write operation under the following conditions to increase the concurrency.

These conditions are as follows- 

Suppose that Transaction ‘Ti’ issues Write(Q)

    1. If Ts(Ti)< R(Q)

If the timestamp of Ti is less than R(Q), It implies that the value of Q that Ti is creating was previously required, and that value was never supposed to be produced.

Hence, in this case, the system rejects, and Ti is rolled back.

     2.   If Ts(Ti)<W(Q)

If the timestamp of Ti is less than W(Q), then it means that Ti is attempting to write an absolute value of Q. Hence this write operation can be ignored.

     3.  Otherwise, in all the cases, the system executes write operation and sets W(Q) to Ts(Ti).

The rule prohibits various outputs generated by changes when transactions are completed. The outputs will always be in the same logical sequence as the inputs.

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

Thomas Write Rule Example

Consider a database containing three variables (A, B, and C), as well as two atomic operations (C:= A (T1) and (C:= B (T2) ). A read and a write are needed for each transaction (C).

If  T1 is assigned a timestamp that precedes T2, only T2's write should be visible. However, we need to detect this and discard the write if T1's write is executed after T2's write.

One approach to this is to label each with a write timestamp (WTS) which symbolizes the timestamp of the last transaction to change the value. Enforcing the Thomas write rule requires checking if the object's write timestamp is larger than the timestamp of the transaction performing a write. If so, the write is discarded.

Also Read, Multiple Granularity in DBMS and Recursive Relationship in DBMS

Difference Between Basic TO Protocol and Thomas Write Rule

AspectBasic TO ProtocolThomas Write Rule
Concurrency ControlBasic TO (Timeout-based) protocol ensures strict serializability by using timestamps for transaction ordering and timeouts for transaction aborts.Thomas Write Rule is a concurrency control technique that allows a transaction to proceed only if it has the latest timestamp, preventing write conflicts.
Handling ConflictsBasic TO Protocol relies on timeouts to detect conflicts and abort transactions, leading to potential delays and overhead.Thomas Write Rule avoids conflicts by granting write access only to transactions with the latest timestamp, minimizing aborts and contention.
Timestamp ManagementBasic TO Protocol requires a centralized authority to assign timestamps to transactions and manage their ordering, potentially introducing bottlenecks.Thomas Write Rule decentralizes timestamp management, with each transaction assigning its own timestamp based on a global clock or logical clock.
Implementation ComplexityBasic TO Protocol can be complex to implement due to the need for timestamp management and timeout handling mechanisms.Thomas Write Rule simplifies implementation by focusing on timestamp-based access control, reducing overhead and complexity.

Features of Thomas Write Rule

  • Timestamp-based Concurrency Control: Thomas Write Rule utilizes timestamps to ensure transaction serialization and prevent write conflicts, promoting concurrency while maintaining data consistency.
  • Decentralized Timestamp Management: Transactions in Thomas Write Rule manage their own timestamps, eliminating the need for a centralized authority and reducing system overhead.
  • Optimized Write Access: Only transactions with the latest timestamp are granted write access, minimizing contention and reducing the likelihood of transaction aborts.
  • Scalability: Thomas Write Rule is scalable due to its decentralized nature, allowing for efficient handling of large-scale distributed systems with multiple concurrent transactions.
  • Simplicity: The rule simplifies concurrency control by focusing on timestamp-based access control, making it easier to implement and understand compared to complex timeout-based protocols.
  • Conflict Avoidance: By granting write access based on timestamps, Thomas Write Rule effectively avoids conflicts and ensures high throughput in transaction processing.
  • Consistency Maintenance: Transactions in Thomas Write Rule maintain data consistency by adhering to timestamp-based ordering, preventing write-write conflicts and preserving the integrity of the database.

Advantages

  • Thomas write rule assures view serializability by preserving and controlling the concurrent transaction's write operation schedules.
  • Based on the write operation performed by the most recent transaction, the data object will be updated with the most recent absolute values.
  • Thomas' write rule helps maintain data consistency in the serializable schedule transaction systems.
  • The Thomas write rule uses Timestamp order to maintain the check condition and regulate the write operations that modify the values of the data object in the database management system.
  • It provides a superior concurrency control technique in a database management system, ensuring efficient data consistency.

Disadvantage

  • It does not ensure the concurrent transaction's conflict serializability. However, it attempts to keep the view serializability schedule by neglecting the transaction's obsolete write operations.
     

You can also read about the Log based recovery and, Aggregation in DBMS

Frequently Asked Questions

What is the Thomas write rule in deadlock?

The Thomas write rule in deadlock prevention ensures transactions only proceed if they have the latest timestamp, preventing write conflicts.

What is the difference between timestamp protocol and Thomas write rule?

The timestamp protocol uses centralized timestamp management, while the Thomas write rule employs decentralized timestamp assignment and conflict prevention.

What is the Thomas write rule for conflict serializability?

In conflict serializability, the Thomas write rule ensures transactions proceed only if they have the latest timestamp, preventing write-write conflicts.

Which condition is valid for Thomas' write rule?

The Thomas write rule is applied when a predefined logical order is assigned to transactions when they start.

Key Takeaways

We learned about Thomas' Write rule and its advantages and disadvantages in this blog. Thomas write rules is a modified version of the timestamp ordering protocol.

The Thomas Write Rule guarantees the protocol's serializability order. The Basic Timestamp Ordering Algorithm gets more enhanced.

Check out this article - File System Vs DBMS, Serializability in DBMS,  States of Transaction in DBMS

Also, try Coding Ninjas Studio to practice programming problems for your complete interview preparation. Ninja, don't stop here; check out the Top 100 SQL Problems to get hands-on experience with frequently asked interview questions and land your dream job.

Previous article
Multiple Granularity in DBMS
Next article
Serializability in DBMS
Live masterclass