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.
* Is comprised of contributions from the field's most highly respected researchers, including key figures at IBM, Oracle, Informix, Microsoft, and POET.
* Represents the entire spectrum of approaches taken by leading software companies working on DBMS componentization strategies.
* Covers component-focused architectures, methods for hooking components into an overall system, and support for component development.
* Examines the component technologies that are most valuable to Web-based and multimedia databases.
* Presents a thorough classification and overview of component database systems.
Arvustused
"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
Muu info
* Is comprised of contributions from the field's most highly respected researchers, including key figures at IBM, Oracle, Informix, Microsoft, and POET. * Represents the entire spectrum of approaches taken by leading software companies working on DBMS componentization strategies. * Covers component-focused architectures, methods for hooking components into an overall system, and support for component development. * Examines the component technologies that are most valuable to Web-based and multimedia databases. * Presents a thorough classification and overview of component database systems.
Foreword v Preface xv Components Database Systems: Introduction, Foundations, and Overview 1(28) Klaus R. Dittrich Andreas Geppert Introduction 2(2) The Need for Componentized DBMSs 4(4) Handling Nonstandard Data Types 4(1) Data Integration 5(1) Downsized Database Systems 6(1) Discussion 7(1) Prerequisites and Fondations of CDBMSs 8(4) DBMS Architecture 8(2) Components and Database Management System Architecture 10(2) Related Work: The Roots of CDBMSs 12(7) Kernel Systems 12(1) Pure Extensible Database Systems 13(1) Customizable Systems 13(1) Toolkit Systems 14(1) Transformational Systems 15(1) Generators 16(1) Frameworks 17(1) Discussion 17(2) Component Database Models 19(9) Plug-in Components 19(3) Database Middleware 22(2) DBMS Services 24(2) Configurable DBMS 26(1) Discussion 27(1) Summary and Conclusion 28(1) Distributed Component Database Management Systems 29(42) Paul Brown Introduction 30(5) Why Distributed ORDBMSs? 31(2) Description of the Example Application 33(2)
Chapter Overview 35(1) Single-Site Component DBMSs 35(17) ORDBMS Abstract Data Model 35(2) Component Standards and Integration 37(5) Query-Processing Overview 42(3) ORDBMS Query Optimization 45(4) Internal Architecture of ORDBMS 49(2) Function Manager 51(1) Distributed Component DBMSs 52(17) Overview of Query Processing in Distributed ORDBMS 54(2) Distributed Extensions to SQL 56(3) Query Processing in Distributed ORDBMSs 59(2) External Storage Interfaces 61(4) Distributed Processing 65(3) Distributed Data Movement 68(1) Summary 69(2) All your Data: The Oracle Extensibility Architecture 71(34) Sandeepan Banerjee Vishu Krishnamurthy Ravi Murthy Overview 72(4) Extensible Type System 76(2) Object Types 76(1) Collection Types 76(1) Relationship Types 77(1) Large Objects 77(1) Opaque Types 77(1) Server Execution Environments 78(3) Java 78(1) PL/SQL 79(1) C and C++ 79(1) Safe Execution 80(1) Extensible Indexing and Operators 81(5) Index-Organized Tables 82(1) Function-Based Indexing 83(2) User-Defined Operators 85(1) Defining a Text-Indexing Scheme 86(2) Using the Text-Indexing Scheme 88(1) Extensible Optimizer 88(5) Statistics 89(1) Selectivity 90(2) Cost 92(1) User-Defined Aggregates 93(3) Using the User-Defined Aggregates 95(1) Abstract Tables 96(4) Table Functions 98(2) Cartridge Basic Services 100(1) Memory Management 100(1) Parameter Management 100(1) Internationalization 100(1) Error Reporting 101(1) Context Management 101(1) File I/O 101(1) Case Studies 101(3) The Oracle8i inter Media Text Data Cartridge 101(1) The Oracle8i Spatial Data Cartridge 102(1) The Oracle8i Visual Information Retrieval Data Cartridge 103(1) Conclusion 104(1) Extensible Indexing Support in DB2 Universal Database 105(34) Stefan DeBloch Weidong Chen Jyh-Herng Chow You-Chin (Gene) Fuh Jean Grandbois Michelle Jou Nelson Mattos Raiko Nitzsche Brian Tran Yun Wang Introduction 106(2) Hard-Wired Indexing 108(1) High-Level Indexing of User-Defined Types 109(9) Index Maintenance 110(2) User-Defined Predicates and Search-Key Generation 112(2) Index Exploitation 114(1) Implementation and Predicate Filtering 114(4) Applications 118(6) Indexing for Geographical Information System Applications 118(3) Indexing on XML Documents 121(3) Loose Integration of External Search Engines 124(8) DB2 Text Extender Overview 124(3) Exploiting High-Level User-Defined Indexing 127(2) Generalization for Arbitrary Predicates 129(3) Performance 132(2) Related Work and Conclusion 134(5) Enabling Component Databases with OLE DB 139(36) Jose A. Blakeley Michael J.Pizzo Introduction 140(1) Universal Data Access 141(2) OLE DB: A Component Data Model 143(11) The Microsoft Component Object Model 143(3) Introspection via Properties 146(1) Common Abstractions 147(2) Common Extensions 149(5) Sevices 154(3) Adding Generic Connection Facilities through Data Link 155(1) Adding Common Resource-Pooling Facilities 155(1) Providing a Rich Client-Cursor Service 156(1) Custom Data Providers 157(1) Component Database Scenarios 158(9) Database server 159(1) Distributed and Heterogeneous Query Processing 160(2) Full-Text Queries on Relational Data 162(2) Distributed Transformation services 164(2) Online Analytical Processing Services 166(1) Microsoft Data Access Software Developers Kit 167(4) Documentation 167(1) ActiveX Data Objects (ADO) 168(2) OLE DB Data Providers 170(1) Simple Provider Toolkit 170(1) Test Tools 171(1) Samples 171(1) Summary 171(4) An Architecture for Transparent Access to Diverse Data Sources 175(32) Mary Tork Roth Peter Schwarz Laura Haas Introduction 176(2) System Overview 178(1) Goals for the Wrapper Component Architecture 179(1) Building a wrapper 180(20) Modeling Data as Objects 180(3) Method Invocation 183(3) Query Planning 186(9) Query Execution 195(3) Wrapper Packaging 198(2) Wrapper Implementations 200(2) Related Work 202(3) Conclusion 205(2) Building Component Database Systems Using CORBA 207(30) M. Tamer Ozsu Bin Yao Introduction 208(1) Object Management Architecture 209(2) Common Object Request Broker Architecture 211(13) Interface Definition Language 212(5) Client-CORBA Object Communication 217(4) Object Adapters 221(3) ORB Interoperability 224(1) Common Object Services 224(5) Naming Service 225(1) Event Service 225(1) Life-Cycle Service 226(1) Persistent Object Service 226(1) Transaction Service 227(1) Concurrency Control Service 227(1) Query Service 227(1) Collections Service 228(1) Other Object services 228(1) Common Facilities 229(1) Building Componentized Applications 229(4) CORBA and Database Interoperability 233(2) Object Granularity 234(1) Object Interfaces 234(1) Association Mode 234(1) Call Mode 235(1) Concurrently Active Objects 235(1) Conclusion 235(2) The Architecture of a Database System for Mobile and Embedded Devices 237(16) Heiko Bobzin Introduction 238(1) The Idea of a Pure Java Database Management System 238(1) User API and Object Model 239(3) Implementation 240(1) Database 240(1) Transaction 241(1) Collections 241(1) Object Management 242(1) Transaction Management 243(1) Concurrency Control 244(1) Backend 245(1) Distributed Applications 246(1) Event Management 247(1) Log Service 248(1) Postprocessing 249(1) On-Demand Assembly of Components 250(1) Outlook 251(2) Conclusions and Perspectives 253(10) Andreas Geppert Klaus R. Dittrich Achievements 254(1) Open Issues 255(5) Adequate Support for Components 255(1) Application Development Using CDBMSs 256(2) Performance Issues 258(1) Development of CDBMS Components 259(1) The End (Is Not Yet Near) 260(3) Bibliography 263(18) Index 281(9) About the Authors 290
Klaus R. Dittrich is a professor in the Department of Information Technology at the University of Zurich, where he heads the Database Technology Research Group. he is the current secretary of the VLDB Endowment Board and has been a member of the ACM SIGMOD Advisory Committee. Professor Dittrich has been nominated as a Distinguished Speaker under the IEEE Computer Society Distinguished Visitors. He has over 100 scientific publications in the area of database technology and, in particular, has followed and influenced the development of object database technology from its inception. Andreas Geppert is a senior researcher in the Database Technology Research Group at the University of Zurich. He has been working on object-oriented and active database systems and DMBS architecture and related topics for many years and has numerous publications in these areas.