skip to main content
article
Free Access

Applying formal methods to semantic-based decomposition of transactions

Published:01 June 1997Publication History
Skip Abstract Section

Abstract

In some database applications the traditional approach of seerializability, in which transactions appear to execute atomically and in isolation on a consistent database state, fails to satisfy performance requirements. Although many researchers have investigated the process of decomposing transactions into steps to increase concurrency, such research typically focuses on providing algorithms necessary to implement a decomposition supplied by the database application developer and pays relatively little attention to what constitutess a desirable decomposition or how the developer should obtain one. We focus onthe decomposition itself. A decomposition generates proof obligations whose descharge ensures desirable properties with respect to the original collection of transactions. We introduce the notion of semantic histories to formulate and prove the necessary properties, and the notion of successor sets to describe efficiently the correct interleavings of steps. The successor set constraints use information about conflicts between steps so as to take full advantage of conflict serializability at the level of steps. We propose a mechanism based on two-phase locking to generate correct stepwise serializable histories.

References

  1. AGRAWAL, D., EL ABBADI, A., AND SINGH, A.K. 1993. Consistency and orderability: Semantics-based correctness criteria for databases. ACM Trans. Database Syst. 18, 3, (Sept.) 460-486. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ABRIAL, J.R. 1993. B-Technology Technical Overview. B-Core(UK) Ltd., Oxford, UK.Google ScholarGoogle Scholar
  3. AMMANN, P., JAJODIA, S., AND RAY, I. 1995. Using formal methods to reason about semantics-based decomposition of transactions. In Proceedings of the International Conference on Very Large Databases (Zurich, Switzerland, Sept.), 218-227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. ARORA, A. AND KULKARNI, S. S. 1995. Designing masking fault-tolerance via nonmasking fault-tolerance. In Proceedings of Symposium on Reliable Distributed Systems, (Bad Neuenahr, Germany, Sept.), 174-185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BERNSTEIN, P. n., HADZILACOS, V., AND GOODMAN, N. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BADRINATH, B. R. AND RAMAMRITHAM, K. 1992. Semantics-based concurrency control: Beyond commutativity. ACM Trans. Database Syst. 17, 1 (Mar.) 163-199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CHRYSANTHIS, P. K. AND RAMAMRITHAM, K. 1994. Synthesis of extended transaction models using ACTA. ACM Trans. Database Syst. 19, 3 (Sept.), 450-491. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Du, W. AND ELMAGARMID, A.K. 1989. Quasi serializability: A correctness criterion for global concurrency control in interbase. In Proceedings of the International Conference on Very Large Databases, (Amsterdam, Netherlands), 347-355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. ELMASRI, R. AND NAVATHE, S. B. 1989. Fundamentals of Database Systems. Benjamin/ Cummings, Redwood City, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. FARRAG, A. A. AND OZSU, M.T. 1989. Using semantic knowledge of transactions to increase concurrency. ACM Trans. Database Syst. 14, 4 (Dec.) 503-525. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. GARCIA-MOLINA, H. 1983. Using semantic knowledge for transaction processing in a distributed database. ACM Trans. Database Syst. 8, 2 (June) 186-213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. GARCIA-MOLINA, H. AND SALEM, K. 1987. Sagas. In Proceedings of ACM-SIGMOD International Conference on Management of Data, (San Francisco, CA), 249-259. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. HERLIHY, M. 1987. Extending multiversion time-stamping protocols to exploit type information. IEEE Trans. Comput., 36, 4 (April), 443-448. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. HERLIHY, M. P. AND WEIHL, W.E. 1991. Hybrid concurrency control for abstract data types. J. Comput. Syst. Sci. 43, 1 (Aug.) 25-61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. JAJODIA, S. AND MEADOWS, C. 1987. Managing a replicated file in an unreliable network. In Proceedings of 3rd IEEE International Conference on Data Engineering, (Los Angeles, CA, Feb.), 396-404. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. KORTH, H. F., LEVY, E., AND SILBERSCHATZ, A. 1990. A formal approach to recovery by compensating transactions. In Proceedings of the International Conference on Very Large Databases, (Brisbane, Australia), 95-106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. KORTH, H. F. AND SPEEGLE, G.D. 1988. Formal model of correctness without serializability. In Proceedings of ACM-SIGMOD International Conference on Management of Data, (June), 379-386. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. KORTH, H. F. AND SPEEGLE, a. 1994. Formal aspects of concurrency control in long-ouration transaction systems using the NT/PV model. ACM Trans. Database Syst. 19, 3 (Sept.), 492-535. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. LEVY, E., KORTH, H. F., AND SILBERSCHATZ, A. 1991. An optimistic commit protocol for distributed transaction management. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, (Denver, CO, May), 88-97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. LEVY, E., KORTH, H. F., AND SILBERSCHATZ, A. 1991. A theory of relaxed atomicity. In Proceedings of the ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, (Aug.), 95-109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. LYNCH, N., MERRITT, M., WEIHL, W., AND FEKETE, A. 1994. Atomic Transactions. Morgan Kaufmann, San Mateo, CA.Google ScholarGoogle Scholar
  22. LYNCH, N.A. 1983. Multilevel atomicity--A new correctness criterion for database concurrency control. ACM Trans. Database Syst. 8, 4 (Dec.), 484-502. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. OWICKI, S. AND GRIES, D. 1976. Verifying properties of parallel programs: An axiomatic approach. Commun. ACM, 19, 5 (May), 279-285. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. POTTER, B., SINCLAIR, J., AND TILL, D. 1991. An Introduction to Formal Specification and Z. Prentice-Hall, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. RASTOGI, R., KORTH, H. F., AND SILBERCHATZ, A. 1995. Exploiting transaction semantics in multidatabase systems. In Proceedings of the International Conference on Distributed Computing Systems, (Vancouver, Canada, June), 101-109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. SHA, L., LEHOCZKY, J. P., AND JENSEN, E.D. 1988. Modular concurrency control and failure recovery. IEEE Trans. Comput., 37, 2 (Feb.), 146-159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. SPIVEY, J. M. 1992. The Z Notation: A Reference Manual, Second Edition. Prentice-Hall, Englewood Cliffs, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. SHASHA, D., SIMON, E., AND VALDURIEZ, P. 1992. Simple rational guidance for chopping up transactions. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, (San Diego, CA, June), 298-307. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. WEIHL, W.E. 1984. Specification and Implementation of Atomic Data Types. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA.Google ScholarGoogle Scholar
  30. WEIHL, W.E. 1988. Commutativity-based concurrency control for abstract data types. IEEE Trans. Comput., 37, 12 (Dec.), 1488-1505. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. WACHTER, H. AND REUTER, A. 1992. The ConTract model. In Database Transaction Models for Advanced Applications, A. K. Elmagarmid, Ed., Morgan Kauffman, San Mateo, CA, 219-263. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Applying formal methods to semantic-based decomposition of transactions

            Recommendations

            Reviews

            Özgür Ulusoy

            Executing a transaction as an atomic unit may not satisfy the performance requirements of some database applications. It could be desirable for such applications to break a transaction into steps and execute each of these steps as an atomic unit. This paper formalizes a decomposition process and identifies desirable properties. It introduces the notion of semantic histories to formulate and prove the necessary properties, and the notion of successor sets to efficiently describe the correct interleavings of steps. It also describes a two-phase locking mechanism to generate stepwise conflict-serializable histories. The paper is a valuable contribution to transaction processing in database systems. Although it is theoretical, understanding is enhanc ed by a motivating example that illustrates the ideas. The authors also discuss how well the proposed transaction model scales up to real-world applications. The related work section that summarizes various extensions to the classical transaction model enhances the usefulness of the paper. The reader should be familiar with the Z specification language, because model-based specifications are expressed in Z.

            Access critical reviews of Computing literature here

            Become a reviewer for Computing Reviews.

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader