Logical Update Queries as Open Nested Transactions
- 121 Downloads
The rule-based update language ULTRA has been designed for the specification of complex database updates in a modular fashion. The logical semantics of update goals is based on update request sets, which correspond to deferred basic updates in the database. The declarative character of the logical semantics leaves much freedom for various evaluation strategies, among them a top-down resolution, which can be mapped naturally onto a system of nested transactions. In this paper, we extend this operational model as follows: Not only the basic operations are performed and committed independently from the top-level transaction, but also complex operations defined by update rules. This leads to an open nested transaction hierarchy, which allows to exploit the semantical properties of complex operations to gain more concurrency. On the other hand, high-level compensation is necessary and meta information must be provided by the programmer. We present the key elements of this combination of logic-based update languages and transaction processing and propose a flexible system architecture.
Unable to display preview. Download preview PDF.
- 2.P. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
- 3.P. A. Bernstein and E. Newcomer. Principles of Transaction Processing. Morgan Kaufmann, 1997.Google Scholar
- 5.A. J. Bonner and M. Kifer. Concurrency and Communication in Transaction Logic. In M. J. Maher, editor, Proc. Joint Int. Conf. and Symp. on Logic Programming (JICSLP’ 96), Bonn, Germany, pages 142–156, MIT Press, 1996.Google Scholar
- 7.C. J. Date. A Guide to the SQL Standard. Addison-Wesley, 1997.Google Scholar
- 8.U. Dayal, A. P. Buchmann, and S. Chakravarthy. The HiPAC Project. In J. Widom and S. Ceri, editors, Active Database Systems — Triggers and Rules for Advanced Database Processing, chapter 7, pages 177–206, Morgan Kaufmann, 1996.Google Scholar
- 9.H. Hasse. A Unified Theory of Concurrency Control and Recovery of Database Transactions, Dissertationen zu Datenbanken und Informationssystemen, Vol. 13. infix-Verlag, Sankt Augustin, 1996. (In German).Google Scholar
- 10.H. F. Korth, E. Levy, and A. Silberschatz. A Formal Approach to Recovery by Compensating Transactions. In V. Kumar and M. Hsu, editors, Recovery Mechanisms in Database Systems, chapter 15, pages 444–465, Prentice Hall, 1998.Google Scholar
- 11.J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2 edition, 1987.Google Scholar
- 12.N. Lynch, M. Merritt, W. Weihl, and A. Fekete. Atomic Transactions. Morgan Kaufmann, 1994.Google Scholar
- 14.J. E. B. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. MIT Press, 1985.Google Scholar
- 16.G. Weikum and H.-J. Schek. Concepts and Applications of Multi-level Transactions and Open Nested Transactions. In A. K. Elmagarmid, editor, Database Transaction Models for Advanced Applications, chapter 13, pages 515–553, Morgan Kaufmann Publishers, 1992.Google Scholar
- 17.C. A. Wichert, A. Fent, and B. Freitag. How to Execute ULTRA Transactions. In Proc. 13th Workshop on Logic Programming (WLP’ 98), October 6–8, 1998, Vienna, Austria, pages 96–105, 1998. Full version also available as Technical Report MIP-9812, University of Passau, at http://daisy.fmi.uni-passau.de/publications/.
- 18.C. A. Wichert and B. Freitag. Capturing Database Dynamics by Deferred Updates. In Proc. of the 1997 Int. Conf. on Logic Programming (ICLP’ 97). July 8–12, 1997, Leuven, Belgium, pages 226–240, MIT Press, 1997.Google Scholar
- 19.C. A. Wichert, B. Freitag, and A. Fent. Logical Transactions and Serializability. In B. Freitag, H. Decker, M. Kifer, and A. Voronkov, editors, Transactions and Change in Logic Databases, pages 134–165, Lecture Notes in Computer Science, Vol. 1472, Springer-Verlag, 1998. Full version also available as Technical Report MIP-9807, University of Passau, at http://daisy.fmi.uni-passau.de/publications/.CrossRefGoogle Scholar