EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials DBMS Tutorial Serializability in DBMS
 

Serializability in DBMS

Priya Pedamkar
Article byPriya Pedamkar

Updated February 28, 2023

Serializability in DBMS

 

 

Introduction to Serializability in DBMS

Transactions in a database correspond to the set of instructions that are executed to achieve a target. All the transactions that take place in a database by theory should satisfy the ACID property. ACID is the acronym used to define transaction properties such as Atomicity, Consistency, Isolation, and Durability. A single transaction may contain one or more sets of independent instructions for accessing (read) or modifying (write) the huge data stored in a database. A collection of transactions becomes a schedule. Scheduling multiple transactions is necessary to maintain the execution order and to avoid the overlap of data operations.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

Scheduling in DBMS is majorly classified into Serial and Non-Serial Schedules. As a part of transaction management, it is important to verify if a non-serial schedule is serializable especially when the transactions have concurrent execution. A given non-serial schedule of ‘n’ Transactions is said to be serializable if there exists some kind of equivalent serial schedule to the same ‘n’ transactions.

What is Serializability in DBMS?

Serial schedule both by definition and execution means that the transactions bestowed upon it will take place serially, that is, one after the other. This leaves no place for inconsistency within the database. But, when a set of transactions are scheduled non-serially, they are interleaved leading to the problem of concurrency within the database. Non-serial schedules do not wait for one transaction to complete for the other one to begin. Serializability in DBMS decides if an interleaved non-serial schedule is serializable or not.

Example of Serializability

Consider 2 schedules, Schedule1 and Schedule2:

Serializability in DBMS - 1

  • Schedule1 is a serial schedule consisting of Transaction1 and Transaction2 wherein the operations on data item A (A1 and A2) are performed first and later the operations on data item B (B1 and B2) are carried out serially.
  • Schedule2 is a non-serial schedule consisting of Transaction1 and Transaction2 wherein the operations are interleaved.

Explanation: In the given scenario, schedule2 is serializable if the output obtained from both Schedule2 and Schedule1 are equivalent to one another In a nutshell, a transaction within a given non-serial schedule is serializable if its outcome is equivalent to the outcome of the same transaction when executed serially.

Types of Serializability

A schedule can be checked for serializability in one of the 3 methods mentioned below:

1. Result Equivalent Schedule

  • Two schedules, S1 and S2 are said to result equivalent if they produce the same output obtained when the schedules are serially executed.
  • Often, this kind of schedule is given the least significance since the result derived are mainly focussed on the output which in some cases may vary for the same set of inputs or might produce the same output for a different set of inputs.

2. Conflict Equivalent Schedule

When either of a conflict operation such as Read-Write or Write-Read or Write-Write is implemented on the same data item at the same time within different transactions then the schedule holding such transactions is said to be a conflict schedule. The prerequisites for such conflict schedule are:

  1. The conflict operations are to be implemented on the same data item.
  2. The conflict operations (RW, WR, WW) must take place within different transactions.
  3. At least one of the conflict operations must be the write operation.
  4. Two Read operations will not create any conflict.

Two schedules (one being serial schedule and another being non-serial) are said to be conflict serializable if the conflict operations in both the schedules are executed in the same order.

Example:

Consider 2 schedules, Schedule1 and Schedule2,

Serializability in DBMS - 2

Schedule2 (a non-serial schedule) is considered to be conflict serializable when its conflict operations are the same as that of Shedule1 (a serial schedule).

3. View Equivalent Schedule

Two schedules (one being serial schedule and another being non-serial) are said to be view serializable if they satisfy the rules for being view equivalent to one another.

The rules to be upheld are:View Equivalent Schedule

  1. Initial values of the data items involved within a schedule must be the same.
  2. Final values of the data items involved within a schedule must be the same.
  3. The number of WR operations performed must be equivalent for the schedules involved.

Example:

Consider 2 schedules, Schedule1 and Schedule2:

Schedule1 and Schedule2

The (non-serial) Schedule2 is considered as a view equivalent of the (serial) Schedule1, when the 3 rules of view serializability are satisfied. For the example shown above,

  • The Initial transaction of read operation on the data items A and B both begin at T1
  • The Final transaction of write operations on the data items A and B both end at T2
  • The number of updates from write-read operations are 2 in both the cases

Hence satisfying all the rules required, Schedule2 becomes view serializable w.r.t Schedule1.

Benefits of Serializability in DBMS

Let’s first understand the difference between a serial and non-serial schedule for a better understanding of the benefits that serializability provides. In the case of a serial schedule, the multiple transactions involved are executed one after the other sequentially with no overlap. This helps maintain the consistency in the database but limits the scope of concurrency and often a smaller transaction might end up waiting for a long time due to an execution of a previous longer transaction. Serial schedule also consumes a lot of CPU resources which gets wasted due to the serial execution.

In the case with a non-serial schedule, the multiple transactions executed are interleaved leading to inconsistency in the database but at the same time helps overcome the disadvantages of a serial schedule such as concurrent execution and wastage of CPU resources.

It’s established that the execution of multiple transactions in a non-serial schedule takes place concurrently. And because of the multiple combinations involved, the output obtained may be incorrect at times which cannot be afforded. This is where serializability comes into the picture and help us determine if the output obtained from a parallelly executed schedule is correct or not.

In other words, Serializability serves as a measure of correctness for the transactions executed concurrently. It serves a major role in concurrency control that is crucial for the database and is considered to provide maximum isolation between the multiple transactions involved. The process of Serializability can also help in achieving the database consistency which otherwise is not possible for a non-serial schedule.

Conclusion

  • Serializable means obtaining an equivalent output as of a serial schedule for the same ‘n’ number of transactions.
  • Serializability helps preserve the consistency and concurrency of a database.
  • There are 2 methods widely used to check serializability i.e. Conflict equivalent and View equivalent.
  • As a rule of thumb, it can be stated that all conflict serializable schedules can be view serializable, but all view serializable schedules may or may not be conflict serializable.

Recommended Articles

This is a guide to Serializability in DBMS. Here we discuss what is Serializability in DBMS along with examples, types and benefits. You can also go through our other related articles to learn more –

  1. Normal Forms in DBMS
  2. ER Model in DBMS
  3. Deadlock in DBMS
  4. Types of DBMS

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW