Intermedia, developed at Brown University, is an object-oriented hypermedia system implemented on a relational database management system, INGRES. In an experimental study conducted by researchers at the University, INGRES was compared with an object-oriented database management system (Encore, developed in-house) for the implementation of Intermedia [Smith & Zdonik, 1987].
RDBMS | OODBMS |
---|---|
Hierarchies to be flattened into relations | Hierarchies can be represented as they are |
Objects retrieved through query language | Operations on objects stored in the database |
Many queries to retrieve a single object | One message sent to an object which can send messages to other objects |
Results from queries to be stored in application's data structure | Messages can directly manipulate data in the database and return a pointer to the result |
High level of data structure and impedance mismatch | Lower level of impedance and data structure mismatch |
Integrity checks enforced only during commit time | Integrity checks performed during run-time through triggers |
Due to the flat nature of relations each record in each relation in a given hierarchy to be explicitly locked | An entire hierarchy can be locked in a single operation |
At the conclusion of the study, researchers felt that an object-oriented database could successfully meet the data handling requirements of Intermedia.
In a more recent study conducted by researchers at the University of Tokyo, four different types of storage mechanisms were evaluated against some of the requirements listed in Section 2. The following table below shows the results of the evaluation.
Filesystem | KnowledgeBase | RDBMS | OODBMS | |
---|---|---|---|---|
Openness | Partly | No | Yes | Yes |
Sharing | Partly | No | Partly | Yes |
Integrity | No | Yes | Yes | Yes |
Multimedia | No | No | No | Yes |
Querying | Partly | Yes | Yes | Partly |
Versioning | Partly | No | No | Partly |
Extensibility | No | Yes | Yes | Yes |
From Table 3.2, it is apparent that an OODBMS scores high on all aspects of the reqirements for a storage mechanism for hypermedia systems. Without going into details on the file system approach and the knwledge base approach, let us compare the RDBMS approach against the OODBMS approach (Table 3.3 below).
RDBMS | OODBMS |
---|---|
Easy to implement since concepts are well known | Technology is new and hence difficult to implement |
Bad performance even for simple link traversals | Navigation model of the database can be directly exploited |
Object-identity and composite objects to be directly modeled in the hypertext model rather than the database | Commonalities between the database and the hypertext model facilitate direct implementation of data structures and behavior |
Complex data to be flattened leading to loss of data abstraction, encapsulation and performance | Efficient data handling mechanisms for complex data |
Not very good support for collaborative work such as version management and concurrency control | Flexible transaction processing facilities and wide range of locking policies |
As an outcome of their experimental studies, this research team is investigating into an object-oriented extension to the hypertext data model. The cross-breeding of object-orientation and hypertext is called object-oriented hypermodeling. This concept has been utilized in a tool for rapid object-oriented application development on an object-oriented database. The tool supports the hypermodeling process through a graphical user interface, a C++ class library and Object SQL on the object-oriented database ONTOS DB. The combination of object-oriented hypermodeling and ONTOS DB together satisfied all the requirements listed in Section 2 except version control [Lange, 1993]. Some recently released OODBMS such as Versant, Statice, and O2 have been used in developing hypermedia applications [English, 1992].
In summary, these studies have shown that object-oriented database management systems are more appropriate as storage mechanisms for hypermedia systems than traditional methods. Researchers are also working on a new class of systems called hyperbases. A hyperbase is a storage mechanism with a built-in hypertext data model providing primitives to manipulate instances of this model. It has also been proposed that by integrating an object-oriented data model with hypertext, the information retrieval process can be greatly improved [Rao et al., 1993]. This can be accomplished by redirecting hypertext functionality from the application level to the database level using object-oriented database systems.