Thursday, April 9, 2020

Multidatabase Query Processing, Introduction to Transaction Management, Distributed Concurrency Control, Distributed DBMS Reliability Essay Example

Multidatabase Query Processing, Introduction to Transaction Management, Distributed Concurrency Control, Distributed DBMS Reliability Essay Introduction to Transaction Management Name: Course: Lecturer: We will write a custom essay sample on Multidatabase Query Processing, Introduction to Transaction Management, Distributed Concurrency Control, Distributed DBMS Reliability specifically for you for only $16.38 $13.9/page Order now We will write a custom essay sample on Multidatabase Query Processing, Introduction to Transaction Management, Distributed Concurrency Control, Distributed DBMS Reliability specifically for you FOR ONLY $16.38 $13.9/page Hire Writer We will write a custom essay sample on Multidatabase Query Processing, Introduction to Transaction Management, Distributed Concurrency Control, Distributed DBMS Reliability specifically for you FOR ONLY $16.38 $13.9/page Hire Writer Date: Introduction to Transaction Management A transaction is a sequence of operations of the database that are organized in a basic unit where databases are kept reliable and consistent. A database is said to be consistent when it has the following features; it has referential integrity, it maintains entity integrity and if it remains within the constraints set by the domain values. Moreover, a database should remain consistent before the execution of a transaction and after. During the execution of a transaction, a database should be in an inconsistent state where no other transaction should be exposed to it. Regardless of the number of transactions accessing the database, it should always remain in a consistent state[1]. The reliability of a database is determined by its capability to recover and its resiliency. A transaction is a sequence of operations involving the commands of reading and writing on a database. For instance an SQL statement is regarded as a transaction, a program that is enclosed by the commands ‘Begin-transaction’ and ‘end’ is also a transaction. A transaction can be terminated by commands of committing it or rolling it back. If a transaction is committed, it has been successfully completed and if it is rolled back, it has been aborted. The commit command makes the effect of the operations of the database permanent and the results can be viewed by all other transactions. The rollback command on the other hand has the effect of undoing the operations and restoring the database to the state it was before the transaction was executed[2]. Transactions can fail to complete for three reasons. They could be aborted by the management system, either if the system crashes or if the transaction aborts itself. When this occurs, the effects of the transaction should be undone. This helps the user to forget about the undone transaction as it has already been taken care of. However, if a transaction is completed it should be durable and its effects should last. The database management system log ensures the undoing of incomplete transactions where necessary. A database must ensure that four very important qualities of a transaction are fulfilled. These are atomicity, consistency, isolation and durability. All transactions should be atomic, meaning that they are supposed to either happen or not. All transactions should run by themselves and should be consistent. By default, the database management system assumes that the transactions are consistent. Transactions should be isolated from the effects of other transactions that are executable concurrently. The effects of the transaction should be consistent once the user is notified of their success even in the event of the crashing of the system. A user is usually responsible for the consistency of their transaction. If a database is in a consistent state when the transaction is beginning, the database should remain in the same state after the transaction is over. The management system for the database does the work of enforcing the commands and other constraints that the transactions should operate on. Every transaction sees the database as consistent. The user issues commands that prompt transactions and assume that each transaction shall be executed by itself; however, the management system of the database arranges the actions to be performed concurrently. The total effect shows the user that the many transactions that they have tasked the system to perform have been executed one after the other[3]. Since transactions are seen as series of read and write commands by the management system, a list of actions is developed. The management system also specifies if the transaction is to be committed or aborted. A schedule is created by the management system for transactions. The schedule is a list of actions, whether read, commit, write or abort that are attributed to a set of transactions. The order in which they happen in the schedule is similar to how they occur in the transaction. The schedule is also seen as an execution sequence of a set of transactions. The schedule describes actions as they are seen by the management system. Transactions are of different types and can be classified according to different classifications. By applications, transactions can be regular or distributed transactions. The transactions can also be compensating or heterogeneous. A compensating transaction has the purpose of undoing the effects of previous transactions. A heterogeneous transaction on the other hand has the runs in a heterogeneous database. By duration, transactions can be classified as short-life or on-line transactions or as Batch or long-life transactions. By structure, there are nested transactions and traditional flat structured transactions[4]. There are other types of transactions, for instance, a sub-transaction is a transaction that must begin after its parent transaction and end before its parent transaction. This means that the commit or abort command of this kind of transaction depends on its parent. The sub-transactions that exist within one parent are executable in parallel. The sub transactions have a special feature of recovering from failures independently without affecting the rest of the database and other transactions. Bibliography Chorafas, Dimitris. Transaction management: managing complex transactions and sharing distributed databases. New York, NY: Palgrave Macmillan, 1998. Gray, Jim and Andreas Reuter. Transaction processing: concepts and techniques. New York, NY: Morgan Kaufmann, 1993. Ozsu, Tamer, and Patrick Valduriez. Principles of Distributed Database Systems. New York, NY: Springer, 2011. Saake, Gunter and Kerstin Schwarz. Transactions and database dynamics. New York, NY: Springer, 2000. [1] Dimitris Chorafas, Transaction management: managing complex transactions and sharing distributed databases (New York, NY: Palgrave Macmillan, 1998), 98.