Component Database Systems

Edited By

  • Klaus Dittrich
  • Andreas Geppert

Component Database Systems is a collection of invited chapters by the researchers making the most influential contributions in the database industry's trend toward componentization

This book represents the sometimes-divergent, sometimes-convergent approaches taken by leading database vendors as they seek to establish commercially viable componentization strategies. Together, these contributions form the first book devoted entirely to the technical and architectural design of component-based database systems. In addition to detailing the current state of their research, the authors also take up many of the issues affecting the likely future directions of component databases.

If you have a stake in the evolution of any of today's leading database systems, this book will make fascinating reading. It will also help prepare you for the technology that is likely to become widely available over the next several years.

View full description


Database administrators and developers


Book information

  • Published: October 2000
  • ISBN: 978-1-55860-642-5


"We have in hand a wonderful book to show us how far database technology has been able to move in the direction of component databases, and what enormous challenges and ensuing rewards still lie ahead."
—Peter C. Lockemann, Universit├Ąt Karlsruhe

Table of Contents

Chapter 1 - Component Database Systems: Introduction, Foundations and OverviewKlaus R. Dittrich, Andreas Geppert1.1 Introduction1.2 The need for componentization DBMSs1.2.1 Handling nonstandard data types1.2.2 Data integration1.2.3 Downsized database systems1.2.4 Discussion1.3 Prerequisites and foundations of CDBMSs1.3.1 DBMS architecture1.3.2 Components and database management system architecture1.4 Related work: the roots of CDBMSs1.4.1 Kernel systems1.4.2 Pure extensible database systems1.4.3 Customizable systems1.4.4 Toolkit systems1.4.5 Transformational systems1.4.6 Generators1.4.7 Frameworks1.4.8 Discussion1.5 Component database models1.5.1 Plug-in components1.5.2 Database middleware1.5.3 DBMS services1.5.4 Configurable DBMS1.5.5 Discussion1.6 Summary and conclusionChapter 2 - Distributed Component Database Management SystemsPaul Brown2.1 Introduction2.1.1 Why distributed ORDBMSs2.1.2 Description of the example application2.1.3 Chapter over view2.2 Single-site component DBMSs2.2.1 ORDBMS abstract data model2.2.2 Component standards and integration2.2.3 Query-processing overview2.2.4 ORDBMS query optimization2.2.5 Internal architecture of ORDBMS2.2.6 Function manager2.3 Distributed component DBMSs2.3.1 Overview of query processing in distributed ORDBMS2.3.2 Distributed extensions to SQL2.3.3 Query processing in distributed ORDBMS2.3.4 External storage interfaces2.3.5 Distributed processing2.3.6 Distributed data movement2.4 SummaryChapter 3 - All Your Data: The Oracle Extensibility ArchitectureSandeepan Banerjee, Vishu Krishnamurthy, Ravi Murthy3.1 Overview3.2 Extensible type system3.2.1 Object types3.2.2 Collection types3.2.3 Relation types3.2.4 Large objects3.2.5 Opaque types3.3 Server execution environments3.3.1 Java3.3.2 PL/SQL3.3.3 C and C++3.3.4 Safe execution3.4 Extensible indexing and operators3.4.1 Index-organized tables3.4.2 Function-based indexing3.4.3 User-defined operators3.5 Defining a text-indexing scheme3.5.1 Using the text-indexing scheme3.6 Extensible optimizer3.6.1 Statistics 3.6.2 Selectivity3.6.3 Cost3.7 User-defined aggregates3.7.1 Using the user-defined aggregates3.8 Abstract tables3.8.1 Table functions3.9 Cartridge basic services3.9.1 Memory management3.9.2 Parameter management3.9.3 Internationalization3.9.4 Error reporting3.9.5 Context management3.9.6 File I/O3.10 Case studies3.10.1 The Oracle8i interMedia text data cartridge3.10.2 The Oracle8i spatial data cartridge3.10.3 The Oracle8i visual information information retrieval data cartridge3.11 ConclusionChapter 4 - Extensible Indexing Support in DB2 Universal DatabaseStefan De├čloch, Weidong Chen, Jyh-Herng Chow, You-Chin (Gene) Fuh, Jean Grandbois, Michelle Jou, Nelson Mattos, Raiko Nitzsche, Brian Tran, Yun Wang4.1 Introduction4.2 Hard-wired indexing4.3 High-level indexing of user-defined types4.3.1 Indexing maintenance4.3.2 User-defined predicates and search-key generation4.3.3 Index exploitation4.3.4 Implementation and predicate filtering4.4 Applications4.4.1 Indexing for geographical information systems applications4.4.2 Indexing on XML documents4.5 Loose integration of external search engines4.5.1 DB2 text extender overview4.5.2 Exploiting high-level user-defined indexing4.5.3 Generalization for arbitrary predicates4.6 Performance4.7 Related work and conclusionChapter 5 - Enabling Component Databases with OLE DBJose A. Blakeley and Michael J. Pizzo5.1 Introduction5.2 Universal data access5.3 OLE DB: a component data model5.3.1 The Microsoft Component Object model 5.3.2 Introspection via properties5.3.3 Common abstractions5.3.4 Common Extensions5.4 Services5.4.1 Adding generic connection facilities through Data Link5.4.2 Adding common resource-pooling services5.4.3 Providing a rich client-cursor service5.5 Custom data providers5.6 Component database scenarios5.6.1 Database server5.6.2 Distributed and heterogeneous query processing5.6.3 Full-text queries on relational data5.6.4 Distributed transformation services5.6.5 Online analytical processing services5.7 Microsoft data access software developer's kit5.7.1 Documentation5.7.2 ActiveX Data Objects (ADO)5.7.3 OLE DB data providers5.7.4 Simple provider toolkit5.7.5 Test tools5.7.6 Samples5.8 SummaryChapter 6 - An Architecture for Transparent Access to Diverse Data SourcesMary Tork Roth, Peter Schwarz, and Laura Haas6.1 Introduction6.2 System Overview6.3 Goals for the wrapper component architecture6.4 Building a wrapper6.4.1 Modeling data as objects6.4.2 Method invocation6.4.3 Query planning6.4.4 Query execution6.4.5 Wrapper packaging6.5 Wrapper implementations6.6 Related works6.7 ConclusionChapter 7 Building Component Database Systems Using CORBAM. Tamer Ozsu and Bin Yao7.1 Introduction7.2 Object management architecture7.3 Common Object Request Broker Architecture7.3.1 Interface definition language7.3.2 Client-CORBA object communication7.3.3 Object adapters7.3.4 ORB interoperability7.4 Common object services7.4.1 Naming service7.4.2 Event service7.4.3 Life-cycle service7.4.4 Persistent object service7.4.5 Transaction service7.4.6 Concurrency control service7.4.7 Query service7.4.8 Collections service7.4.9 Other object services7.5 Common facilities7.6 Building componentized applications7.7 CORBA and database interoperability7.7.1 Object granularity7.7.2 Object interfaces7.7.3 Association mode7.7.4 Call mode7.7.5 Concurrently active objects7.8 ConclusionChapter 8 - The Architecture of a Database System for Mobile and Embedded DevicesHeiko Bobzin8.1 Introduction8.2 The idea of a pure java database management system8.3 User API and object model8.3.1 Implementation8.3.2 Database8.3.3 Transaction8.3.4 Collections8.4 Object management8.5 Transaction management8.6 Concurrency control8.7 Backend8.8 Distributed applications8.9 Event management8.10 Log service8.11 Postprocessing8.12 On-demand assembly of components8.13 OutlookChapter 9 - Conclusions and PerspectivesAndreas Geppert and Klaus R. Dittrich9.1 Achievements9.2 Open issues9.2.1 Adequate support for components9.2.2 Application development using CDBMSs9.2.3 Performance issues9.2.4 Development of CDBMS components9.3 The End (is not yet near)BibliographyIndexAbout the Authors