Penguin: Objects for Programs, Relations for Persistence

Penguin is designed to support object-orientation for application programs while using relational databases as the persistent backing store. Objects are attractive to customers and programmers of applications because they structure information into a relevant and effective view. The use of relational databases that store of large amounts of base data for long periods of time enables Penguin to take advantage of mature solutions for sharing of information, concurrency, transactions, and recovery. We expect that application programs will be best designed with their own object schemata, so each object schema is supported as a series of views of the underlying relational databases. Penguin provides for multiple mappings to diverse object configurations, enhancing inter-application interoperation. This approach supports coexistence and sharing data among programs using relational technology with diverse application programs using object technology, as well as facilitating a migration to object technology.

[1]  Takashi Masuda,et al.  Persistent Caching: An Implementation Technique for Complex Objects with Object Identity , 1992, IEEE Trans. Software Eng..

[2]  Miron Livny,et al.  Local Disk Caching for Client-Server Database Systems , 1993, VLDB.

[3]  Don S. Batory,et al.  On searching transposed files , 1978, ACM Trans. Database Syst..

[4]  Gio Wiederhold,et al.  Views, Objects, and Databases , 1986, Computer.

[5]  Hector Garcia-Molina,et al.  Semistructured Data: The Tsimmis Experience , 1997, ADBIS.

[6]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[7]  Hector Garcia-Molina,et al.  Template-based wrappers in the TSIMMIS system , 1997, SIGMOD '97.

[8]  Peter F. Sweeney,et al.  Three steps to views: extending the object-oriented paradigm , 1989, OOPSLA 1989.

[9]  Miron Livny,et al.  Data caching tradeoffs in client-server DBMS architectures , 1991, SIGMOD '91.

[10]  David J. DeWitt,et al.  A Performance Study of Alternative Object Faulting and Pointer Swizzling Strategies , 1992, VLDB.

[11]  Thomas B. Steel Status Report on ISO/TC97/SC5/WG3 - Data Base Management Systems , 1980, VLDB.

[12]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

[13]  R. G. G. Cattell,et al.  Object Data Management: Object-Oriented and Extended Relational Database Systems (Revised Edition) , 1991 .

[14]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[15]  Arthur M. Keller,et al.  A predicate-based caching scheme for client-server database architectures , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[16]  Arthur M. Keller,et al.  Persistence software: bridging object-oriented programming and relational databases , 1993, SIGMOD '93.

[17]  Peter F. Sweeney,et al.  Three steps to views: extending the object-oriented paradigm , 1989, OOPSLA '89.

[18]  Per-Åke Larson,et al.  Updating derived relations: detecting irrelevant and autonomously computable updates , 1986, VLDB.

[19]  David J. DeWitt,et al.  A Study of Three Alternative Workstation-Server Architectures for Object Oriented Database Systems , 1990, VLDB.

[20]  Arthur M. Keller,et al.  A C++ Binding for Penguin: a System for Data Sharing among Heterogeneous Object Models , 1993, FODO.

[21]  Jennifer Widom,et al.  On-Line Warehouse View Maintenance for Batch Updates , 1996, SIGMOD 1996.

[22]  James A. Larson,et al.  Integrating User Views in Database Design , 1986, Computer.

[23]  Irving L. Traiger,et al.  Views, authorization, and locking in a relational data base system , 1975, AFIPS '75.

[24]  Gio Wiederhold,et al.  Updating relational databases through object-based views , 1991, SIGMOD '91.

[25]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[26]  Lawrence A. Rowe,et al.  Cache consistency and concurrency control in a client/server DBMS architecture , 1991, SIGMOD '91.

[27]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[28]  Oscar Nierstrasz,et al.  Fitting Round Objects into Square Databases , 1988, ECOOP.

[29]  Serge Abiteboul,et al.  Objects and views , 1991, SIGMOD '91.

[30]  Ramez Elmasri,et al.  The Structural Model for Database Design , 1979, ER.

[31]  R. G. Cattell Object Data Management: Object-Oriented and Extended , 1994 .

[32]  Frank Dignum,et al.  Integrating Information for Organized Work , 1997, KRDB.

[33]  Gio Wiederhold,et al.  Complex objects for relational databases , 1990, Comput. Aided Des..

[34]  Fèlix Saltor,et al.  On Intelligent Access to Heterogeneous Information , 1997, KRDB.

[35]  Nick Roussopoulos,et al.  Performance and Scalability of Client-Server Database Architectures , 1992, VLDB.

[36]  G. Weiderhold File organization for database design , 1987 .

[37]  Arthur M. Keller,et al.  Choosing a View Update Translator by Dialog at View Definition Time , 1986, VLDB.