Abstract
Traditional atomic and nested transactions are not always well-suited to cooperative applications, such as design applications. Cooperative applications place requirements on the database that may conflict with the serializability requirement. They require transactions to be long, possibly nested, and able to interact with each other in a structured way. We define a transaction framework, called acooperative transaction hierarchy, that allows us to relax the requirement for atomic, serializable transactions to better support cooperative applications. In cooperative transaction hierarchies, we allow the correctness specification for groups of designers to be tailored to the needs of the application. We usepatterns andconflicts to specify the constraints imposed on a group's history for it to be correct. We also provide some primitives to smooth the operation of the members. We characterize deadlocks in a cooperative transaction hierarchy, and provide mechanisms for deadlock detection and resolution. We examine issues associated with failure and recovery.
Similar content being viewed by others
References
Campbell, R.H. and Habermann, A.N. The specification of process synchronization by path expressions,Lecture Notes in Computer Science, 16:89–102, 1974.
Ellis, C.A. and Gibbs, S.J. Concurrency control in groupware systems.Proceedings of the ACM SIGMOD International Conference on Management of Data, Portland, OR, 1990, pp 399–407.
Fernandez, M. and Zdonik, S. Transaction groups: A model for controlling cooperative transactions.Third International Workshop On Persistent Object Systems, Newcastle, Australia, 1989.
Garcia-Molina, H., Gawlick, D., Klein, J., Kleissner, K., and Salem, K. Coordinating multi-transaction activities.Technical Report CS-TR-247-90, Princeton, NJ: Princeton University Department of Computer Science, 1990.
Garcia-Molina, H. and Salem, K. Sagas.Proceedings of the ACM SIGMOD International Conference on Management of Data, San Francisco, CA, 1987, pp 249–259.
Haerder, T. and Rothermel, K. Concepts for transaction recovery in nested transactions.Proceedings of the ACM SIGMOD International Conference on Management of Data, San Francisco, CA, 1987, pp 239–248.
Kaiser, G.E. A flexible transaction model for software engineering.Proceedings of the 6th International Conference on Data Engineering, Los Angeles, CA, 1990.
Kim, W., Lorie, R., McNabb, D., and Plouffe, W. A transaction mechanism for engineering design databases.Proceedings of the 10th International Conference on Very Large Databases, Singapore, 1984, pp 355–362.
Klahold, P., Schlageter, G., Unland, R., and Wilkes, W. A transaction model supporting complex applications in integrated information systems.Proceedings of the ACM SIGMOD International Conference on Management of Data, Austin, TX, 1985, pp 388–401.
Korth, H.F., Kim, W., and Bancilhon, F. On long-duration (CAD) transactions.Information Sciences, 46:73–107, 1988.
Korth, H.F., Levy, E., and Silberschatz, A. A formal approach to recovery by compensating transactions.Proceedings of the 16th International Conference on Very Large Data Bases, Brisbane, Australia, 1990, pp 95–106.
Korth, H.F. and Speegle, G.D. Formal model of correctness without serializability.Proceedings of the ACM SIGMOD International Conference on Management of Data, Chicago, IL, 1988, pp 379–386.
Lynch, N.A. Multilevel atomicity-a new correctness criterion for database concurrency control.ACM Transactions on Database Systems, 8: 484–502, 1983.
Eliot, J. and Moss, B.Nested Transactions: An Approach to Reliable Distributed Computing. Cambridge, MA: MIT Press, 1985.
Nodine, M.H.. Conflict, queueing and deadlocks in cooperative transaction hierarchies.Technical Report CS-91-27, Providence, RI: Brown University Department of Computer Science, 1991.
Nodine, M.H., Ramaswamy, S., and Zdonik, S.B. A cooperative transaction model for design databases. In: Elmagarmid, A., ed.Database Transaction Models for Advanced Applications. San Mateo, CA:Morgan Kauffman, 1992.
Nodine, M.H., Skarra, A.H., and Zdonik, S.B. Synchronization and recovery in cooperative transactions. In: Dearle, A., Shaw, G.M., and Zdonik, S.B., eds.Implementing Persistent Object Bases: Principles and Practice, San Mateo, CA: Morgan Kaufmann, 1990, pp 329–342. Also:Proceedings of the 4th International Workshop on Persistent Object Systems, Martha's Vineyard, MA, 1990.
Nodine, M.H. and Zdonik, S.B. Cooperative transaction hierarchies: A transaction model to support design applications.Proceedings of the 16th International Conference on Very Large Databases, Brisbane, Australia, 1990, pp 83–94.
Skarra, A.H. Concurrency control for cooperating transactions in an object-oriented database.SIGPLAN Notices, 24:4 (1989).
Skarra, A.H. Localized correctness specifications for cooperating transactions in an object-oriented database.Office Knowledge Engineering, 4:1 (1991).
Skarra, A.H., Zdonik, S.B., and Reiss, S.P. An object server for an object-oriented database system.Proceedings of the International Workshop on Object-Oriented Database Systems, Pacific Grove, CA, 1986, pp 196–204.
Sutton, S.M., Jr. A flexible concurrency model for persistent data in software-process programming languages. Dearle, A., Shaw, G.M., and Zdonik, S.B., eds.Implementing Persistent Object Bases: Principles and Practice, San Mateo, CA: Morgan Kaufmann, 1990, 305–318. Also:Proceedings of the 4th Int'l Workshop on Persistent Object Systems, Martha's Vineyard, MA, 1990.
Tichy, W.F. Design, implementation, and evaluation of a revision control system.Proceedings of the 6th International Conference on Software Engineering, Tokyo, Japan, 1982.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Nodine, M.H., Zdonik, S.B. Cooperative transaction hierarchies: Transaction support for design applications. VLDB Journal 1, 41–80 (1992). https://doi.org/10.1007/BF01228707
Received:
Revised:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01228707