University of Wisconsin-Madison Department of Computer Sciences
Abstract
This paper describes the design of the object-oriented storage component of EXODUS, an extensible database manaaement~svstern currently under development at the University of-Wiscon&t. The basic abstraction in the EXODU’S storage system is the storage object, an uninterpmted variable-length m&z & of arbitrary size; higher level abstractions such as records and indices am supported via the storage object abstraction. One of the key design %atums described here is a scheme,for managing large dynamic objects, as storage objects can occupy many disk pages and can grow or s.hrink at arbitrary points. The data structure and algorithmsused to su-port such objects are described, and nerformance results from a ore s-iminary prototype of the EXODUS. large-object management scheme am presented. A scheme for maintainin versions of large objects is also described. We then describe the fi K e structure used in the EXODUS storage system, which provides a mechanism for grouping and sequencing through a set of related storage objects. In addition to object and file management. we discuss the EXODUS approach to buffer management, &ntcurrency control, and recovery, both for small and large objects. 1