Open Nested Transactions in Federated Database Systems
|Title||Open Nested Transactions in Federated Database Systems|
|Author(s)||G. Weikum, A. Deacon, W. Schaad, H.-J. Schek|
|Booktitle||IEEE Data Engineering Bulletin, Vol. 16, No. 2|
|Organization||Institute of Information Systems, ETH Zurich|
AbstractThe increasing demand for interoperability of existing information systems requires support for global transactions in federations of largely autonomous databases. In the past few years, substantial research has been carried out on this problem of federated transaction management. The following general model of a federated database system has evolved from this research.
A federated database system is composed of a number of pre-existing local databases (LDBs), which are managed by the same or by different database systems. An LDB is a collection of data and pre-existing applications. The applications run local transactions (LTs) that access only the LDB. The federated system serves to support new applications that span multiple LDBs. These applications run global transactions (GTs) that consist of multiple global subtransactions (GSTs) each of which accesses exactly one LDB.
There are two approaches to federated transaction management. The first approach is to rely on some common properties of the underlying LDBs. It has been shown that global serializability and atomicity, i.e., ACID guarantees for both GTs and LTs, are self-guaranteed if all LDBs ensure commit-order serializability and are able and willing to participate in a global two-phase commit. Note, however, that some of today's widely used DBMSs do not necessarily ensure commit-order serializability, since they make use of multiversion concurrency control protocols. The second approach is to build an additional layer on top of the LDBs, to ensure global serializability and atomicity. The goal of this approach is to improve the degree of local execution autonomy. Unfortunately, virtually all of the previously proposed approaches in this category incur severe performance problems. Our approach belongs to this category, but it aims to improve performance by exploiting application semantics.