Transaction States and Additional OperationsA transaction is an atomic unit of work that should either be completed in itsentirety or not done at all. For recovery purposes, the system needs to keep track ofwhen each transaction starts, terminates, and commits or aborts (see Section21.2.3). Therefore, the recovery manager of the DBMS needs to keep track of thefollowing operations:■ BEGIN_TRANSACTION. This marks the beginning of transaction execution.■ READ or WRITE. These specify read or write operations on the databaseitems that are executed as part of a transaction.■ END_TRANSACTION. This specifies that READ and WRITE transaction oper-ations have ended and marks the end of transaction execution. However, atthis point it may be necessary to check whether the changes introduced by752 Chapter 21 Introduction to Transaction Processing Concepts and TheoryActiveBegintransactionEndtransaction CommitAbortAbortRead, WritePartially committedFailed TerminatedCommittedFigure 21.4State transition diagram illustrating the states fortransaction execution.the transaction can be permanently applied to the database (committed) orwhether the transaction has to be aborted because it violates serializability(see Section 21.5) or for some other reason.■ COMMIT_TRANSACTION. This signals a successful end of the transaction sothat any changes (updates) executed by the transaction can be safelycommitted to the database and will not be undone.■ ROLLBACK (or ABORT). This signals that the transaction has ended unsuc-cessfully, so that any changes or effects that the transaction may have appliedto the database must be undone.Figure 21.4 shows a state transition diagram that illustrates how a transaction movesthrough its execution states. A transaction goes into an active state immediately afterit starts execution, where it can execute its READ and WRITE operations. When thetransaction ends, it moves to the partially committed state. At this point, somerecovery protocols need to ensure that a system failure will not result in an inabilityto record the changes of the transaction permanently (usually by recording changesin the system log, discussed in the next section).5 Once this check is successful, thetransaction is said to have reached its commit point and enters the committed state.Commit points are discussed in more detail in Section 21.2.3. When a transaction iscommitted, it has concluded its execution successfully and all its changes must berecorded permanently in the database, even if a system failure occurs.However, a transaction can go to the failed state if one of the checks fails or if thetransaction is aborted during its active state. The transaction may then have to berolled back to undo the effect of its WRITE operations on the database. Theterminated state corresponds to the transaction leaving the system. The transactioninformation that is maintained in system tables while the transaction has been run-ning is removed when the transaction terminates. Failed or aborted transactionsmay be restarted later—either automatically or after being resubmitted by theuser—as brand new transactions.5Optimistic concurrency control (see Section 22.4) also requires that certain checks are made at this
Question
Transaction States and Additional OperationsA transaction is an atomic unit of work that should either be completed in itsentirety or not done at all. For recovery purposes, the system needs to keep track ofwhen each transaction starts, terminates, and commits or aborts (see Section21.2.3). Therefore, the recovery manager of the DBMS needs to keep track of thefollowing operations:■ BEGIN_TRANSACTION. This marks the beginning of transaction execution.■ READ or WRITE. These specify read or write operations on the databaseitems that are executed as part of a transaction.■ END_TRANSACTION. This specifies that READ and WRITE transaction oper-ations have ended and marks the end of transaction execution. However, atthis point it may be necessary to check whether the changes introduced by752 Chapter 21 Introduction to Transaction Processing Concepts and TheoryActiveBegintransactionEndtransaction CommitAbortAbortRead, WritePartially committedFailed TerminatedCommittedFigure 21.4State transition diagram illustrating the states fortransaction execution.the transaction can be permanently applied to the database (committed) orwhether the transaction has to be aborted because it violates serializability(see Section 21.5) or for some other reason.■ COMMIT_TRANSACTION. This signals a successful end of the transaction sothat any changes (updates) executed by the transaction can be safelycommitted to the database and will not be undone.■ ROLLBACK (or ABORT). This signals that the transaction has ended unsuc-cessfully, so that any changes or effects that the transaction may have appliedto the database must be undone.Figure 21.4 shows a state transition diagram that illustrates how a transaction movesthrough its execution states. A transaction goes into an active state immediately afterit starts execution, where it can execute its READ and WRITE operations. When thetransaction ends, it moves to the partially committed state. At this point, somerecovery protocols need to ensure that a system failure will not result in an inabilityto record the changes of the transaction permanently (usually by recording changesin the system log, discussed in the next section).5 Once this check is successful, thetransaction is said to have reached its commit point and enters the committed state.Commit points are discussed in more detail in Section 21.2.3. When a transaction iscommitted, it has concluded its execution successfully and all its changes must berecorded permanently in the database, even if a system failure occurs.However, a transaction can go to the failed state if one of the checks fails or if thetransaction is aborted during its active state. The transaction may then have to berolled back to undo the effect of its WRITE operations on the database. Theterminated state corresponds to the transaction leaving the system. The transactioninformation that is maintained in system tables while the transaction has been run-ning is removed when the transaction terminates. Failed or aborted transactionsmay be restarted later—either automatically or after being resubmitted by theuser—as brand new transactions.5Optimistic concurrency control (see Section 22.4) also requires that certain checks are made at this
Solution
A transaction is an atomic unit of work that should either be completed in its entirety or not done at all. For recovery purposes, the system needs to keep track of when each transaction starts, terminates, and commits or aborts. Therefore, the recovery manager of the DBMS needs to keep track of the following operations:
- BEGIN_TRANSACTION: This marks the beginning of transaction execution.
- READ or WRITE: These specify read or write operations on the database items that are executed as part of a transaction.
- END_TRANSACTION: This specifies that READ and WRITE transaction operations have ended and marks the end of transaction execution
Similar Questions
4. Explain the role of transactions in database operations. How can you use the COMMIT and ROLLBACK statements to manage transactions effectively?
Atomicity. A transaction is an atomic unit of processing; it should either beperformed in its entirety or not performed at all.■ Consistency preservation. A transaction should be consistency preserving,meaning that if it is completely executed from beginning to end withoutinterference from other transactions, it should take the database from oneconsistent state to another.■ Isolation. A transaction should appear as though it is being executed in iso-lation from other transactions, even though many transactions are executing7Undo and redo are discussed more fully in Chapter 23.21.4 Characterizing Schedules Based on Recoverability 755concurrently. That is, the execution of a transaction should not be interferedwith by any other transactions executing concurrently.■ Durability or permanency. The changes applied to the database by a com-mitted transaction must persist in the database. These changes must not belost because of any failure.
What are the types of recovery in transaction?
Describe the actions that are carried out during a checkpoint operation in a DBMS
Transaction processing is associated with everything below except producing detail, summary, or exception reports. recording a business activity. maintaining data. confirming an action or triggering a response.
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.