Abstract
PJama1 is the latest version of an orthogonally persistent platform for Java. It depends on a new persistent object store, Sphere, and provides facilities for class evolution. This evolution technology supports an arbitrary set of changes to the classes, which may have arbitrarily large populations of persistent objects. We verify that the changes are safe. When there are format changes, we also convert all of the instances, while leaving their identities unchanged. We aspire to both very large persistent object stores and freedom for developers to specify arbitrary conversion methods in Java to convey information from old to new formats.
Evolution operations must be safe and the evolution cost should be approximately linear in the number of objects that must be reformatted. In order that these conversion methods can be written easily, we continue to present the pre-evolution state consistently to Java executions throughout an evolution. At the completion of applying all of these transformations, we must switch the store state to present only the post-evolution state, with object identity preserved. We present an algorithm that meets these requirements for eager, total conversion.
This paper focuses on the mechanisms built into Sphere to support safe, atomic and scalable evolution. We report our experiences in using this technology and include a preliminary set of performance measurements.
Applications that are typically long-lived, complex and large scale, referred to as “Persistent Application Systems” in [7].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M.M. Astrahan, M.W. Blasgen, D.D. Chamberlin, K.P. Eswaran, J.N. Gray, P.P. Griffiths, W.F. King, R.A. Lorie, P.R. McJones, J.W. Mehl, G.R. Putzolu, I.L. Traiger, B.W. Wade, and V. Watson. System R: A relational approach to database management. ACM Transactions on Database Systems, 1(2):97–137, June 1976.
M.P. Atkinson, V. Benzaken, and D. Maier, editors. Persistent Object Systems (Proc. of the 6th Int. W’shop on Persistent Object Systems), Workshops in Computing, Tarascon, Provence, France, September 1994. Springer-Verlag.
M.P. Atkinson, L. Daynés, M.J. Jordan, T. Printezis, and S. Spence. An Orthogonally Persistent Java™. ACM SIGMOD Record, 25(4), December 1996.
M.P. Atkinson and M.J. Jordan. Issues raised by three years of developing PJama. In C. Beeri and O.P. Buneman, editors, Database Theory— ICDT’99, number 1540 in Lecture Notes in Computer Science, pages 1–30. Springer-Verlag, 1999.
M.P. Atkinson and M.J. Jordan. A Review of the Rationale and Architectures of PJama: a Durable, Flexible, Evolvable and Scalable Orthogonally Persistent Programming Platform. Technical Report TR-2000-90, Sun Microsystems Laboratories Inc, 901, San Antonio Road, Palo Alto, CA 94303, USA, 2000.
M.P. Atkinson, M.J. Jordan, L. Daynès, and S. Spence. Design issues for persistent Java: A type-safe, object-oriented, orthogonally persistent system. In S. Nettles, editors. Persistent Object Systems: Principles and Practice. Morgan Kaufmann, 1996 Connor and Nettles [14]}, pages 33–47.
M.P. Atkinson and R. Morrison. Orthogonal Persistent Object Systems. VLDB Journal, 4(3):309–401, 1995.
M.P. Atkinson, M.E. Orlowska, P. Valduriez, S. Zdonik, and M. Brodie, editors. Proc. of the 25th Int. Conf. on Very Large Data Bases. Morgan Kaufmann, Edinburgh, Scotland, UK, September 1999.
M.P. Atkinson and R. Welland, editors. Fully Integrated Data Environments. Springer-Verlag, 1999.
F. Cattaneo, A. Coen-Porsini, L. Lavazza, and R. Zicari. Overview and Progress Report of the ESSE Project: Supporting Object-Oriented Database Schema Analysis and Evolution. In B. Magnusson, B. Meyer, and J-F. Perrot, editors, Proc. 10th Intl. Conf. on Technology of Object-Oriented Languages and Systems (TOOLS 10), pages 63–74. Prentice Hall, 1993.
M.F. Challis. The JACKDAW database package. In Proc. of the SEAS Spring Technical Meeting (St Andrews, Scotland), 1974.
M.F. Challis. Database consistency and integrity in a multi-user environment. In B. Shneiderman, editor, Databases: Improving Usability and Responsiveness, pages 245–270. Academic Press, 1978.
D.D. Chamberlin, M.M. Astrahan, M.W. Blasgen, J.N. Gray, W.F. King, B.G. Lindsay, R. Lorie, J.W. Mehl, T.G. Price, F. Putzolo, P.G. Selinger, M. Schkolnick, D.R. Slutz, I.L. Traiger, B.W. Wade, and R.A. Yost. A history and evaluation of system R. Communications of the ACM, 24(10):632, October 1981. Reprinted in M. Stonebraker, Readings in Database Systems, Morgan Kaufmann, San Mateo, CA, 1988.
R. Connor and S. Nettles, editors. Persistent Object Systems: Principles and Practice. Morgan Kaufmann, 1996.
M. Dmitriev. The First Experience of Class Evolution Support in PJama. In M.J. Jordan, and M.P. Atkinson, editors. Advances in Persistent Object Systems — Proc. of the 8th Int. W’shop on Persistent Object Systems (POS8) and the 3rd Int. W’shop on Persistence and Java (PJW3). Morgan Kaufmann, August 1998 Morrison et al. [34]}, pages 279–296.
M. Dmitriev. Class and Data Evolution Support in the PJama Persistent Platform. Technical Report TR-2000-57, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, 2000.
M. Dmitriev and M.P. Atkinson. Evolutionary Data conversion in the PJama Persistent Language. In Proc. of the 1st ECOOP W’shop on Object-Oriented Databases, 1999.
European Organization for Nuclear Research (CERN). Using an Object Database and Mass Storage System for Physics Analysis. http://wwwinfo.cern.ch/asd/rd45/reports/m396/milestone3.htm [May 9, 2000].
F. Ferrandina, T. Meyer, and R. Zicari. Schema Evolution in Object Databases: Measuring the Performance of Immediate and Deferred Updates. In Proc. of the 20th Int. Conf. on Very Large Data Bases, Santiago, Chile, 1994.
GemStone Systems Inc. The GemStone/J iCommerce Platform. http://www.gemstone.com/products/j/main.html [May 9, 2000].
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, December 1996.
C.G. Hamilton. Recovery Management for Sphere: Recovering a Persistent Object Store. Technical Report TR-1999-51, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, December 1999.
C.G. Hamilton, M.P. Atkinson, and M. Dmitriev. Providing Evolution Support for PJama1 within Sphere. Technical Report TR-1999-50, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, December 1999.
R.P. Japp. Adding Support for Cartographic Generalisation to a Persistent GIS. BSc Dissertation, University of Glasgow, Department of Computing Science, 2000.
M.J. Jordan and M.P. Atkinson. Orthogonal Persistence for Java— A Mid-term Report. In M.J. Jordan, and M.P. Atkinson, editors. Advances in Persistent Object Systems — Proc. of the 8th Int. W’shop on Persistent Object Systems (POS8) and the 3rd Int. W’shop on Persistence and Java (PJW3). Morgan Kaufmann, August 1998. Morrison et al. [34]}, pages 335–352.
M.J. Jordan and M.P. Atkinson. Orthogonal Persistence for the Java Platform — Specification. Technical report, Sun Microsystems Laboratories Inc, 901, San Antonio Road, Palo Alto, CA 94303, USA, 2000.
B. Lewis and B. Mathiske. Efficient Barriers for Persistent Object Caching in a High-Performance Java Virtual Machine. In Proc. of the OOPSLA’99 w’shop “Simplicity, Performance and Portability in Virtual Machine Design”, 1999.
T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, 1996.
Fujitsu Ltd. 3.5-inch Magnetic Disk Drives MAB3045/MAB3091. http://www.fujitsu.co.jp/hypertext/hdd/drive/overseas/mab30xx/mab30xx.html [January 5, 2000].
B. Mathiske, B. Lewis, and N. Gafter. Architecture of the PEVM: A High-Performance Orthogonally Persistent Java Virtual Machine, March 2000. These proceedings.
C. Mohan. Repeating History beyond ARIES. In M.E. Orlowska, P. Valduriez, S. Zdonik, and M. Brodie, editors. Proc. of the 25th Int. Conf. on Very Large Data Bases. Morgan Kaufmann, Edinburgh, Scotland, UK, September 1999 Atkinson et al. [8]}, pages 1–17.
C. Mohan, D. Haderle, B. Lindsay, H. Pirashesh, and P. Schwarz. ARIES: A Transaction Recovery Method supporting Fine-granularity Locking and Partial Rollbacks using Write-Ahead Logging. ACM Transactions on Database Systems, 17(1):94–162, March 1992.
C. Mohan, B. Lindsay, and R. Obermarck. Transaction Management in the R* Distributed Database Management System. ACM Transactions on Database Systems, 11(4):378–396, December 1986.
R. Morrison, M.J. Jordan, and M.P. Atkinson, editors. Advances in Persistent Object Systems — Proc. of the 8th Int. W’shop on Persistent Object Systems (POS8) and the 3rd Int. W’shop on Persistence and Java (PJW3). Morgan Kaufmann, August 1998.
D.S. Munro, R.C.H. Connor, R. Morrison, S. Scheuerl, and D. Stemple. Concurrent shadow paging in the flask architecture. In V. Benzaken, and D. Maier, editors. Persistent Object Systems Proc. of the 6th Int. W’shop on Persistent Object Systems), Workshops in Computing, Tarascon, Provence, France, September 1994. Springer-Verlag Atkinson et al. [2]}, pages 16–42.
E. Odberg. Category classes: Flexible classification and evolution in object-oriented databases. Lecture Notes in Computer Science, 811:406–419, 1994.
T. Printezis. Management of Long-Running, High-Performance Persistent Object Stores. PhD thesis, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, 2000.
D.I.K. Sjøberg. Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems. PhD thesis, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, 1993.
Sun Microsystems Inc. Workgroup Servers, Sun Enterprise™ 450. http://www.sun.com/servers/workgroup/450/ [January 5, 2000].
P. Wegner and S.B. Zdonik. Inheritance as an incremental modification mechanism or what like is and isn’t like. In S. Gjessing and K. Nygaard, editors, ECOOP’ 88, European Conf. on Object-Oriented Programming, Oslo, Norway, volume 322 of LNCS, pages 55–77. Springer-Verlag, August 1988.
D. White and A. Garthwaite. The GC interface in the EVM. Technical Report TR-98-67, Sun Microsystems Laboratories Inc, 901, San Antonio Road, Palo Alto, CA 94303, USA, 1998.
C. Zaniolo, S. Ceri, C. Faloutsos, R.T. Snodgrass, V.S. Subrahmanian, and R. Zicari. Advanced Database Systems. Morgan Kaufmann, 1997.
S.B. Zdonik. Version management in an object-oriented database. In Proc. of the IFIP Int. W’shop on Advanced Programming Environments, pages 405–422, Trondheim, Norway, June 1987.
R. Zicari. A Framework for Schema Updates in an Object-Oriented Database System. In F. Bancilhon, C. Delobel, and P. Kanellakis, editors, Building an Object-Oriented Database System: The story ofO2. Morgan Kaufmann, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Atkinson, M.P., Dmitriev, M., Hamilton, C., Printezis, T. (2001). Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform. In: Kirby, G.N.C., Dearle, A., Sjøberg, D.I.K. (eds) Persistent Object Systems: Design, Implementation, and Use. POS 2000. Lecture Notes in Computer Science, vol 2135. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45498-5_26
Download citation
DOI: https://doi.org/10.1007/3-540-45498-5_26
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42735-3
Online ISBN: 978-3-540-45498-4
eBook Packages: Springer Book Archive