Skip to main content

Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform

  • Conference paper
  • First Online:
Persistent Object Systems: Design, Implementation, and Use (POS 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2135))

Included in the following conference series:

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].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Chapter  Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. M.P. Atkinson and R. Morrison. Orthogonal Persistent Object Systems. VLDB Journal, 4(3):309–401, 1995.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. M.P. Atkinson and R. Welland, editors. Fully Integrated Data Environments. Springer-Verlag, 1999.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. M.F. Challis. The JACKDAW database package. In Proc. of the SEAS Spring Technical Meeting (St Andrews, Scotland), 1974.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. R. Connor and S. Nettles, editors. Persistent Object Systems: Principles and Practice. Morgan Kaufmann, 1996.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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].

  19. 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.

    Google Scholar 

  20. GemStone Systems Inc. The GemStone/J iCommerce Platform. http://www.gemstone.com/products/j/main.html [May 9, 2000].

  21. J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, December 1996.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. R.P. Japp. Adding Support for Cartographic Generalisation to a Persistent GIS. BSc Dissertation, University of Glasgow, Department of Computing Science, 2000.

    Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, 1996.

    Google Scholar 

  29. 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].

  30. B. Mathiske, B. Lewis, and N. Gafter. Architecture of the PEVM: A High-Performance Orthogonally Persistent Java Virtual Machine, March 2000. These proceedings.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. 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.

    Google Scholar 

  33. 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.

    Google Scholar 

  34. 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.

    Google Scholar 

  35. 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.

    Google Scholar 

  36. E. Odberg. Category classes: Flexible classification and evolution in object-oriented databases. Lecture Notes in Computer Science, 811:406–419, 1994.

    Google Scholar 

  37. 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.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. Sun Microsystems Inc. Workgroup Servers, Sun Enterprise™ 450. http://www.sun.com/servers/workgroup/450/ [January 5, 2000].

  40. 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.

    Google Scholar 

  41. 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.

    Google Scholar 

  42. C. Zaniolo, S. Ceri, C. Faloutsos, R.T. Snodgrass, V.S. Subrahmanian, and R. Zicari. Advanced Database Systems. Morgan Kaufmann, 1997.

    Google Scholar 

  43. 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.

    Google Scholar 

  44. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics