Component Database Systems

Andreas Geppert
Klaus R. Dittrich
University of Zurich
In this chapter, we summarize achievements, identify open issues, and discuss perspectives for future research.
It is pretty clear that current and future challenging requirements for database technology, as they are currently being formulated, cannot be met any longer by traditional database management system (DBMS) architectures. Any attempt to offer all the required functions in a single monolithic system off the shelf is doomed to failure. Instead, piecemeal enhancements to systems are much more promising for many reasons, including system complexity and maintainability, runtime performance, and cost.
Extensibility, in turn, is a goal easy to state yet difficult to achieve. In order to attain extensibility (and the related objective of software reuse), proven software engineering paradigms and techniques must be adapted. As the chapters in this book show, component orientation is a viable paradigm that renders extensibility and reuse of DBMS artifacts achievable.
The concept "component" is useful in representing extensions in four ways. First, one meaning of component is a DBMS-internal part that implements a new, nonstandard, or specialized DBMS function. The DBMS is then understood as a framework into which these new or adapted components can be plugged. Therefore, the DBMS needs to be componentized at least in those places where new components should be added. This is the approach pursued by universal servers such as DB2 (Chapter 4), Informix (Chapter 2), and Oracle8 (Chapter 3). These three systems are also examples of products that are available in...