Databases

The storage of information in secondary memory, mostly known as disks, has changed a lot during the history of computer science. At the lowest level, disks are composed of a number of platters, on which a number of circular tracks are written. Each track is divided into a number of sectors. (The number of sectors on a track may be larger in the outer regions and smaller near the spindle.)

The evolution of storage management evolved quickly to the point where information could be grouped into files. The names of the files were put in one or more directories. The result was called a file system. In order to efficiently store large amounts of small data items, database systems were developed. A database system groups data items together, using hierarchical or relational structures, and moderates the requests for concurrent access to the data items which it groups into a single file, a set of files or one or more disk partitions. While file systems are typically incorporated into the computer's operating software, database systems are not.

Most hypertext and hypermedia systems do not use a database system for the storage of the nodes and links. Relational database systems (which are still the most advanced ones) do not offer sufficient support for storing and manipulating the information contained in the nodes, because that information is not uniformly structured. Typically a database system will not allow read access to a single data item while that item is being updated. In a hypermedia system both the size of the data items and the duration of the updates are too large to exclude simultaneous updates and reads. Links however can be structured in a suitable way for inclusion in a database. This would enable the system to use standard database functions to ensure that links always lead to existing nodes, and that isolated nodes (without incoming or outgoing links) are avoided.

Object-oriented database systems promise a solution to these problems. A few initial attempts have been made to use object-oriented database systems for the storage layer of a hypertext system. This has for instance been achieved for the Multicard hypertext system [RS92] and the Ontos and O2 database systems. Such a connection requires a well defined protocol between the presentation- and manipulation part of the hypertext system and the part that deals with storage. (Multicard uses plain files for storage by default.)

At the TUE the Ode system has been used to create a WWW server based on an object-oriented database [DeMunk-96].