Advertisement

Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform

  • M. P. Atkinson
  • M. Dmitriev
  • C. Hamilton
  • T. Printezis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2135)

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.

Keywords

Garbage Collection Development Evolution Conversion Method Object Evolution Java Virtual Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. 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.CrossRefGoogle Scholar
  5. 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. 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. 7.
    M.P. Atkinson and R. Morrison. Orthogonal Persistent Object Systems. VLDB Journal, 4(3):309–401, 1995.Google Scholar
  8. 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. 9.
    M.P. Atkinson and R. Welland, editors. Fully Integrated Data Environments. Springer-Verlag, 1999.Google Scholar
  10. 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. 11.
    M.F. Challis. The JACKDAW database package. In Proc. of the SEAS Spring Technical Meeting (St Andrews, Scotland), 1974.Google Scholar
  12. 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. 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. 14.
    R. Connor and S. Nettles, editors. Persistent Object Systems: Principles and Practice. Morgan Kaufmann, 1996.Google Scholar
  15. 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. 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. 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. 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. 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. 20.
    GemStone Systems Inc. The GemStone/J iCommerce Platform. http://www.gemstone.com/products/j/main.html [May 9, 2000].
  21. 21.
    J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, December 1996.Google Scholar
  22. 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. 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. 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. 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. 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. 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. 28.
    T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, 1996.Google Scholar
  29. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 39.
    Sun Microsystems Inc. Workgroup Servers, Sun Enterprise™ 450. http://www.sun.com/servers/workgroup/450/ [January 5, 2000].
  40. 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. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • M. P. Atkinson
    • 1
  • M. Dmitriev
    • 1
  • C. Hamilton
    • 1
  • T. Printezis
    • 1
  1. 1.Department of Computing ScienceUniversity of GlasgowScotland

Personalised recommendations