19-07-2012, 01:37 PM
A Multidatabase Transaction Model for InterBase
A Multidatabase Transaction Model.PDF (Size: 1.09 MB / Downloads: 38)
Introduction
The InterBase project in the department of Computer
Science at Purdue University investigates multidatabase
management systems. The prototype currently
links the database systems Ingres, GURU,
Sybase and DBASE IV, running on various hardware
platforms and operating systems. Using an InterBase
language called DOL, users write global programs accessing
autonomous databases and other software systems.
[ROELSO].
Extending the transaction semantitcs
To deal with the specific requirements of the multidatabase
environment, we incorporate additional
features in the new transaction model. Although
a global transaction in our model is syntactically a
( two level nested transaction, its semantics are significantly
expanded. The extensions go in three basic
directions.
Mixed Transactions
The fundamental properties of a transaction are
atomicity, isolation and durability. These properties
are important for maintaining the data consistency
in many real world applications. However, when applied
to the multidatabase environment, these properties
may become too restrictive. As we have discussed
in the previous section, global transactions in a
multidatabase environment are potentially long lived,
which may cause serious performance and throughput
problems. It has been argued that the presence of
long lived transactions may significantly increase the
possibility of deadlock [GraBl]. In addition, a long
lived global transaction may block the execution of
many high-priority short local transactions by holding
the resources which are required by these local
transactions.
Preliminary Definitions
To specify a global transaction in the new model, we
need to specify the execution dependency among the
subtransactions of a global transaction. Execution
dependency is a relationship among subtransactions
of a global transaction which determines the legal execution
order of the subtransactions. In order to define
the general execution dependency among subtransactions,
we define two basic dependencies. The first is
the positive dependency. A positive dependency between
subtransaction ti and t2 exists if subtransaction
tl can not be executed until subtransaction t2
succeeds.