Week 10 Discussion:
Respond to the colleagues posts regarding the following
• There are times when a database is accessed by many users across the enterprise. Transaction logs can help maintain concurrency in a multiuser platform. Describe at least two business scenarios where COMMIT and ROLLBACK would be required. Describe how these functions would be essential for business continuity and concurrency control. Identify how these functions would enable an organization to recover from a database corruption event.
• Describe how locks could be used in order to qualify data transactions and enhance concurrency control. Suggest at least two business scenarios that would benefit from implementing locking methods.
VH’s post states the following:
In a database, a transaction consists of a series of operations. Examples of operations include modifying, changing, deleting, or inserting data in a database. After starting the execution of a transaction, it may terminate with two possibilities: in case of failure, the transaction may abort or otherwise commit if it was completed successfully (Alkhatib & Labban, 2020). A COMMIT and ROLLBACK are among the set of instructions that are used to perform the operations. A COMMIT statement is used to ensure the modification made by the current set of operations is permanent. It makes the changes made by the transaction to be permanent. ROLLBACK process, on the other hand, involves canceling or undoing a set of transactions to restore the database to its previous state before the transactions were performed (Satyal, Weber, Bass & Fu, 2015).
An example of a business scenario in which, COMMIT and ROLLBACK are applicable is the maintenance of the database of a company engaged in the production and selling of different products. The company may want to maintain a database for storing customer ID, customer name, state, and country. If there is a modification on the tables such as deletion or insertion of customer information, the database administrator may consider publishing COMMIT to ensure the changes are not lost in case the session is closed (Satyal, Weber, Bass & Fu, 2015). Therefore, if the database administrator realizes that there is a need to revert the changes, then the correct command is ROLLBACK. COMMIT and ROLLBACK can also be used by big data analytics companies to automatically make changes on the database permanently or automatically remove the half-made entries in case of sudden power loss, database crash, or server crash. The database system analyzes all the logged transactions after restarting the system to commit the full-made entries and roll back the half-made entries.
Concurrency is the ability of a database system to process more than the transaction at a particular time. There are different features of a well-formed transaction such as atomicity, isolation, consistency, and durability. Also known as ACID properties, they are used to qualify a transaction in a database environment. The ACID properties enhance the reliability of transactions. Among the techniques used to control concurrency is locking. Locking ensures that shared resources or objects are protected and that two more database users are prevented from updating the same piece of data at the same time (Franaszek, Haritsa, Robinson & Thomasian, 1993). An example is the prevention of airline reservation clerks from booking the same seat for different passengers. Another example would be how the banking systems use locking techniques to control concurrency.
Alkhatib, G., & Labban, R. S. (2020). Transaction management in distributed database systems: the case of Oracle’s two-phase commit. Journal of information systems education, 13(2), 4.
Franaszek, P. A., Haritsa, J. R., Robinson, J. T., & Thomasian, A. (1993). Distributed concurrency control based on limited wait-depth. IEEE transactions on parallel and distributed systems, 4(11), 1246-1264.
Satyal, S., Weber, I., Bass, L., & Fu, M. (2015). Scalable rollback for cloud operations using AI planning. In the 2015 24th Australasian software engineering conference (pp. 195-202). IEEE.