Schedule and its types

 Schedule: it refers to the sequence in which the set of concurrent/multiple transactions is executed.

- It is the sequence in which the operations (such as read, write, commit, abort) of multiple transcation executed 

- so it helps in data consistency and integrity

so for example, if we have T1, T2, T3 .... TN transcations then the possible schedule = n!

Incomplete schedule: An incomplete schedule is one where not all transactions have reached their final state, either commit or abort


T1: Read(A)

T1: Write(A)

T2: Read(B)\

T2: Write(B)

T2: commit

Here, T1 is  still in progress, as there is no commit for transaction T1


Complete schedule: A complete schedule is one where all transactions  in the schedule have either committed or aborted 

T1: Read(A)

T1: Write(A)

T1:commit

T2: Write(B)

T2: commit


Types of schedule:

1. serial schedule: transaction executed one after another. menas wait for T1 to commit/ abort then t2 start

Advantage:

    - It follows the ACID properties. transactions are isolated

    - it mantaine consitency

challenges

-    can be inefficient as there is poor throughput ( no of trans. completed per unit time)

-    since wait time is high, less no of transcation are completed


2.  Non-Serial/ Concurrent Schedule: where multiple transactions can execute simultaneously.

- We can say it as if there are two transcation T1 and T2, so T2 doesn't need T1 to commit, it can start at any point 

Advantage:

    - Better resource utilization

    - throughput(no of transcation completed per unit time) is high

challenge

- A consistency issue may arise because of non-serial execution. so need roboust concurrency control mechanism to ensure data consistency and  

-    We can use serializability and concurrency control mechanisms to ensure consistency

3. Conflict- serializable Schedule :  

4. View-serializable schedule : 

5. Recoverable Schedule: If a transaction reads data from another transaction, it should not commit until the transaction from which it read has committed. this help in maintaining the integrity of the database in case a transaction fails 

6. Irrecoverable Schedule: Allows a transaction to commit even if it has read data from another uncommitted transaction. This can lead to inconsistency and make it impossible to recover from certain failures 

7. Cascading schedule: When the failures or abort of one transaction cause a series of other transcation also to also abort 

8. Cascadeless Schedule: It ensures transactions only read committed data, such that the abort of one transaction does not lead to the other transaction that have alredy read its uncommitted changes 

9. Strict Schedule: It ensures transcation is not allowed to read or write a data item that another transaction has written until the first transaction has either committed or aborted. it prevents cascading aborts


 

Comments

Popular posts from this blog

Introduction to DBMS

ACID Properties

Understanding First Normal Form (1NF) in Database Design