The research efforts of the Omnibase group date back to the early 80's, with the design and implementation of REQUEST, a centralized relational database system. REQUEST had a number of novel features such as a friendly user interface, transaction support, concurrency control. Query languages implemented in REQUEST include SQL and QBE (the first and only non-IBM implementation of QBE). Graphical user interfaces were added to the REQUEST system to enhance its capabilities.
The tendency towards distributed environments, led to the design of a REQUEST II, a distributed successor of REQUEST. REQUEST II supports full distribution and location transparency, distributed concurrency control for transaction support, and distributed query optimization. NASA showed interest in REQUEST II which it bought for use in the ... project, and became a sponsor of our group.
Our objectives by then, were focusing on Heterogeneous and Distributed environments. We designed and implemented a multidatabase system, called OMNIBASE as a prototype to explore issues in heterogeneous distributed environments. OMNIBASE supports global queries accessing data on a number of heterogeneous and fully autonomous databases, e.g. ORACLE and REQUEST II. A Distributed Operations Language (DOL) was created to specify tasks on a heterogeneous distributed environment.
Since then, the language has been used in numerous multi-system applications and a number of execution environments for DOL programs have been implemented. A DOL engine capable of executing DOL programs over a wide range of database systems in an environment including MVS-based IBM mainframes, as well as UNIX-based computers, was implemented in Bellcore, in 1989. A number of applications related to the management of interdependent data have been developed in this environment. Another implementation, incorporating different operating systems and network communication protocols, has been done at Purdue University. This implementation is used, among others, as a testbed in the work on flexible transactions, carried out within the Interbase project.
In 1991 we started a second phase of our work in heterogeneous, distributed and interoperable systems, based on our previous experience. A new prototype Interoperable System is designed and implemented. Its major purpose is experimentation on various aspects of data repositories in a multidatabase environment, ranging from query processing to transaction management and multisystem applications in general, using an extension of DOL. The language has been extended with the following new features:
With these features, DOL can be used to better express the transaction aspects of multi-system applications and to support both traditional and the extended transaction models.
In another direction, we have incorporated into our execution environment the proposed standard communication protocol, ISODE. This allows us to gain a better insight into which problems related to the heterogeneity of the distributed computing environment will be solved by the current standardization efforts, carried out under the auspices of ISO and which of them will have to be solved by future applications.
New experiments are now being conducted in our execution environment: Different notions of transactions have emerged, other than the traditional transactions based on serializability. We explore semantics of various transaction models and at the same time we classify them according to several primitives.
Flexible Transactions: To manage long-duration transactions, several extensions to the traditional transaction model have been proposed in the literature. One such extension is the Flexible Transaction model in which the requirements of the traditional transactions such as atomicity, isolation, and durability are relaxed. In the Flexible Transaction model, each (global) transaction can be specified by providing the following information:
Interdependent Data: The users and applications in a multidatabase environment should be provided with a consistent view of interrelated data, even if the data is managed by multiple heterogeneous and (semi-)autonomous systems. Interdependent data indicate that mutual consistency requirements exist between the data stored in separate systems. Data Dependency Descriptors (D-cube) are used to specify these dependencies between different data repositories. They also express the consistency levels that can be tolerated, and also how the consistency will be restored in cases of violation. Polytransactions: In an environment of interdependent data an initial update in one of them, may need to be propagated according to mutual consistency criteria specified in the D-cube to various databases. A number of transactions maybe dynamically generated in a tree structure. This is a polytransaction ranging over different sites incorporating consistency criteria, and temporal constraints. Current research efforts focus on the concurrent execution of polytransactions, in a multidatabase environment using our multidatabase prototype. Query Processing: MSQL has been the only multidatabase language proposed so far. We are undertaking the effort of implementing MSQL in our Narada environment. We are also augmentign MSQL to incorporate global transaction support in such environments.