Abstract
Most real-world applications require a capability for both general-purpose programming and database transactions on persistent data. Unfortunately, the implementation techniques for these capabilities are notoriously incompatible. Programming languages stress memory-resident transient data with a rich collection of data types, while database systems stress disk-resident persistent data with a limited collection of data types. Even in object-oriented database systems, combining these capabilities is traditionally done using a two-level storage model in which storage formats are quite different. This approach suffers from the performance overhead required to translate data between these two levels.
This paper describes the steps we have taken toward improving the simplicity and efficiency of applications by merging programming-language and database object management. Our approach includes using a single-level storage model, in which objects are represented as uniformly as possible, regardless of whether they are transient vs. persistent or resident in memory vs. disk. We illustrate the feasibility and performance advantages of this approach by describing our implementation experience and some performance measurements.
Preview
Unable to display preview. Download preview PDF.
References
D.A. Abramson, J.L. Keedy, Implementing a Large Virtual Memory in a Distributed Computing System, Hawaii Conf. on System Sciences, 1985.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian and M. Young, Mach: a New Kernel Foundation for UNIX Development, Summer USENIX Conf., 1986.
R. Agrawal, N.H. Gehani, ODE (Object Database and Environment): The Language and the Data Model, SIGMOD Conf. 1989.
M.P. Atkinson, O.P. Buneman, Types and Persistence in Database Programming Languages, ACM Computing Surveys 19,2 (1987).
R.M. Balzer, Living In The Next-Generation Operating System, IEEE Software, November, 1987.
F. Bancilhon, Object-Oriented Database Systems, PODS Conf. 1988.
F. Bancilhon et al, The Design and Implementation of O 2, an Object-Oriented Database System, 2nd Intl. Workshop on Object-Oriented Database Systems, 1988.
F. Bancilhon, T. Briggs, S. Khoshafian, P. Valduriez, FAD, a Powerful and Simple Database Language, VLDB 1987.
A. Bensoussan, C.I. Clingen, R.C. Daley, The Multics Virtual Memory: Concepts and Design, CACM 15,5 (1972).
H. Boral, Parallelism and Data Management, 3rd Int. Conf. on Data and Knowledge Bases, 1988.
M.J. Carey, D.J. DeWitt, J.E. Richardson, E.J. Shekita, Object and File Management in the EXODUS Extensible Database System, VLDB 1986.
R.G.G. Cattell, Object-Oriented DBMS Performance Measurement, 2nd Intl. Workshop on Object-Oriented Database Systems, 1988.
P.J. Caudill and A. Wirfs-Brock, A Third Generation Smalltalk-80 Implementation, OOPSLA Conf., 1986.
A. Chang, M.F. Mergen, 801 Sorage: Architecture and Programming, ACM TOCS 6,1 (1988).
L. Clay, G. Copeland, and M. Franklin, UNIX Extensions for High Performance Transaction Processing, USENIX Workshop on UNIX Transaction Processing, Pittsburgh, 1989.
G. Copeland, D. Maier, Making Smalltalk a Database System, SIGMOD Conf., 1984.
G. Copeland, T. Keller, R. Krishnamurthy, M. Smith, The Case for Safe RAM, VLDB 1989.
S. Danforth, S. Khoshafian, P. Valduriez, FAD, A Database Programming Language, Revision 2, MCC Technical Report DB-151-85Rev.2, Austin, 1987.
H. Diel, N. Lenz, G. Kreissig, M. Scheible, B. Schoener, Data Management Facilities of an Operating System Kernel, SIGMOD Conf., 1984.
K.R. Dittrich, Object-Oriented Database Systems: the Notion and the Issues, 1st Intl. Workshop on Object-Oriented Database Systems, 1986.
K.R. Dittrich, W. Gotthard, P.C. Lockemann, DAMOKLES-The Database System for the UNIBASE Software Engineering Environment, IEEE Database Engineering 10,1 (1987).
S. Ford et al, ZEITGEIST: Database Support for Object-Oriented Programming, 2nd Intl. Workshop on Object-Oriented Database Systems, 1988.
T. Haerder, K. Meyer-Wegener, B. Mitschang, A. Sikeler, PRIMA-A DBMS Prototype Supporting Engineering Applications, VLDB 1987.
J. Joseph, S. Thatte, C. Thompson, D. Wells, Report on the Object-Oriented Database Workshop at the 1988 OOPSLA Conf., ACM SIGMOD Record 18,3 (1989)
S. Khoshafian, M.J. Franklin, M.J. Carey, Storage Management for Persistent Complex Objects, to appear in Information Systems.
W. Kim, H.T. Chou, J. Banerjee, Operations and Implementation of Complex Objects, IEEE Transactions on Software Engineering 14,7 (1988).
W. Kim, N. Ballou, J. Banerjee, H.T. Chou, J.F. Garza, D. Woelk, Integrating an Object-Oriented Programming System with a Database System, OOPSLA Conf., 1988.
K. Kuespert, P. Dadam, J. Guenauer, Cooperative Object Buffer Management in the Advanced Information Management Prototype, VLDB 1987.
P. Lehman, S. Yao, Efficient Locking for Concurrent Operations on B-Trees, TODS 6,4 (1981).
J.E.B. Moss, Addressing Large Distributed Collections of Persistent Objects: The Mneme Project's Approach, 2nd Intl. Workshop on Database Programming Languages, Salishan Lodge, OR, 1989.
P. O'Brien, B. Bullis, C. Schaffert, Persistent and Shared Objects in Trellis/Owl, 1st Intl. Workshop on Object-Oriented Database Systems, 1986.
H.B. Paul, H.J. Schek, M.H. Scholl, G. Weikum, U. Deppisch, Architecture and Implementation of the Darmstadt Database Kernel System, SIGMOD Conf., 1987.
J. Richardson and M. Carey, Implementing Persistence in E Language, Intl. Workshop on Persistent Object Systems, Newcastle, Australia, 1989
C.A. Scalzi, A.G. Ganek, R.J. Schmalz, ESA/370: An Architecture for Multiple Virtual Address Space Access and Authorization, IBM Systems Journal 28,1 (1989).
H.-J. Schek, H.-B. Paul, M.H. Scholl, G. Weikum, The DASDBS Project: Objectives, Experiences, and Future Prospects, to appear in IEEE Transactions on Knowledge and Data Engineering.
D. Shasha, N. Goodman, Concurrent Search Structure Algorithms, TODS 13,1 (1988).
A.H. Skarra, S.B. Zdonik, S.P. Reiss, An Object Server for an Object-Oriented Database System, 1st Intl. Workshop on Object-Oriented Database Systems, 1986.
Smith, A.J., Disk Cache-Miss Ratio Analysis and Design Considerations, ACM TOCS 3,3 (1985).
A.Z. Spector et al, Support for Distributed Transactions in the TABS Prototype, IEEE Transactions on Software Engineering 11.6 (1985).
M. Stonebraker, Operating System Support for Database Management, CACM 24,7 (1981).
J.Z. Teng and R.A. Gumaer, Managing IBM Database 2 Buffers to Maximize Performance, IBM Systems Journal, 23,2 (1984).
A. Tevanian et al, A UNIX Interface For Shared Memory And Memory Mapped Files Under Mach, Summer USENIX Conf., Phoenix, 1987.
S.M. Thatte, Persistent Memory: A Storage Architecture for Object-Oriented Database Systems, 1st Intl. Workshop on Object-Oriented Database Systems, 1986.
I.L. Taiger, Virtual Memory Management for Database Systems, ACM OS Review 16,4 (1982).
D. Ungar, The Design and Evaluation of a High Performance Smalltalk System, MIT Press, 1987.
G. Weikum, Set-Oriented Disk Access to Large Complex Objects, Data Engineering Conf., 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Copeland, G., Franklin, M., Weikum, G. (1990). Uniform object management. In: Bancilhon, F., Thanos, C., Tsichritzis, D. (eds) Advances in Database Technology — EDBT '90. EDBT 1990. Lecture Notes in Computer Science, vol 416. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022175
Download citation
DOI: https://doi.org/10.1007/BFb0022175
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-52291-1
Online ISBN: 978-3-540-46948-3
eBook Packages: Springer Book Archive