A database system is a collection of data items, read or written by transactions in a possibly interleaved fashion. An interleaved execution is assumed to be correct if the sequence of transaction steps, called history, is serializable, that is, the effect of the execution is equivalent to that of some serial execution of the transactions. We give a graph-theoretic analogue of serializable histories. We define a new class of graphs, called serializable graphs, whose properties are such that (i) a serializable graph can be associated with each serializable history, and this can be done for various notions of serializability of histories and for serializability under various sets of constraints, and (ii) a serializable history, in fact a serial one, can be associated with each serializable graph. We use serializable graphs to characterize in an intuitive manner serializable histories involving general multi-step transactions, where some data items may be accessed by several read and write steps in an arbitrary fashion, and those involving nested transactions. The main graph-theoretic properties used in these characterizations are a directed cutset matching property and graph contraction.
Unable to display preview. Download preview PDF.
- 1.Beeri, C., Bernstein, P.A., Goodman, N., Lai, M.Y., and Shasha, D.E. A concurrency control theory for nested transactions. Proc. 2nd ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, August 1983.Google Scholar
- 2.Bernstein, P.A., Shipman, D.W., and Wong, W.S. Formal aspects of serializability in database concurrency control, IEEE Trans. Software Eng. SE-5, 3 (May 1979), 203–215.Google Scholar
- 3.Brzozowski, J.A. On models of transactions. Technical Report #84001, Department of Applied Mathematics and Physics, Kyoto University, Japan, April 1984.Google Scholar
- 4.Eswaran, K.P., Gray, J.N., Lorie, R.A. and Traiger, I.L. The notions of consistency and predicate locks in a database system. Comm. ACM 19, 11 (Nov. 1976), 624–633.Google Scholar
- 5.Ibaraki, T., Kameda, T., and Minoura, T. Serializability with constraints, ACM TODS 12, 3(Sept. 1987), 429–452.Google Scholar
- 6.Lynch, N.A. Concurrency control for resilient nested transactions. Proc. 2nd ACM SIGACT-SIGMOD Symp. on Principles of Database Systems, March 1983, 166–181.Google Scholar
- 7.Moss, T.E.B. Nested transactions: an approach to reliable distributed computing. Ph.D. Thesis, Technical Report MIT/LCS/TR-260, MIT Laboratory for Computer Science, Cambridge, MA. 1981.Google Scholar
- 8.Papadimitriou, C.H. The serializability of concurrent database updates. J. ACM 26, 4(Oct. 1979), 631–653.Google Scholar
- 9.Sethi, R. A model of concurrent database transactions. Proc. 22nd IEEE Symp. Foundation of Comp. Sci., Oct. 1981, 175–184.Google Scholar
- 10.Vidyasankar, K. A simple characterization of database serializability. Proc. 5th Conf. on Foundations of Software Technology and Theoretical Computer Science, India, Lecture Notes in Computer Science 206, Berlin, Heidelberg, New York: Springer 1985, 329–345.Google Scholar
- 11.Vidyasankar, K. Generalized theory of serializability. Acta Informatica 24, 1(Feb. 1987), 105–119.Google Scholar
- 12.Yannakakis, M. Serializability by locking. J. ACM 31, 2(April 1984), 227–244.Google Scholar