Abstract
Locking is the concurrency control method used by almost all DBMSs. It is for this reason that the paradigm for “correct” transaction execution, i.e., two-phase locking was first stated in this context [EGLT76] (also see [Date83],[BeHG87],[GrRe92]). Two-phase locking simply requires that no locks be released before all locks are acquired,15 but this scheme is susceptible to cascading aborts, since a transaction whose updates have been accessed by other transactions may itself be aborted. Strict two-phase locking prevents cascading aborts by deferring the releasing of locks acquired by a transaction to its commit point, [Date83],[BeHG87],[GrRe92]. Only the analysis of strict two-phase locking is considered in this chapter, as is the case with almost all studies of standard locking performance (see Section 3.6 for exceptions). The lock holding time is then from the instant at which the lock is requested to transaction completion time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Reference
There is the additional requirement that locking modes cannot be downgraded, e.g., from exclusive to shared [GrRe92].
We ignore the dependency of P c on the transaction step, as justified by what follows.
The residual lifetime argument holds if the conflict rate with succeeding steps is the same, but this is not quite so since the probability of conflict increases with j. However, most conflicts occur with transactions holding a large number of locks, such that there is less sensitivity with respect to small increments in j.
This analysis considers a table where the row number corresponds to distinct transactions in the system and the columns to the synchronously requested locks by these transactions. The analysis does not take into account previous transaction blockings due to lock conflicts.
The increase in mean response time due to lock contention is similar to its increase in an M/M/t queueing system discussed in Section 2.3 in Chapter 2, R = x/(1 — p),with x = r(M a ) and p = ß.
This discussion is also applicable to the case of different processing times for transaction steps.
Generated locking modes according to Bernoulli trials introduces a degree of variability which does not exist in real systems. The effect of locking modes on system performance is discussed further in Section 4.4 in Chapter 4 in the context of wait depth limited methods.
The detailed representation of job class switching as in the analysis in [IrLi79],[Thom82] is not required, but has been provided in both papers for tutorial purposes. Given that the service demand of the ith step of a transaction at device n is X„,;,while the total service
The example in [WHMZ94] considers a system with three transaction classes with multiprogramming level limits 35, 20, and 15 for transactions in C,, C2, and C3, respectively. The multiprogramming level limit for C1 plus C2 is 40, and it is 35 over all classes. The number of transactions allocated in the system should satisfy all the constraints, e.g., the number of transactions in C1 is 35 when there are no other transaction classes, its 30 when there are 10 transactions in C2, and its only 10 when there are 10 transactions in C2 and 15 transactions in C3.
The process of query compilation creates a control structure with access paths to data after authorization checking has been performed.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1996 Springer Science+Business Media New York
About this chapter
Cite this chapter
Thomasian, A. (1996). Standard Locking and Its Performance. In: Database Concurrency Control. The Springer International Series on Advances in Database Systems, vol 1. Springer, Boston, MA. https://doi.org/10.1007/978-1-4757-2473-8_3
Download citation
DOI: https://doi.org/10.1007/978-1-4757-2473-8_3
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-5161-8
Online ISBN: 978-1-4757-2473-8
eBook Packages: Springer Book Archive