[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/648124.747415guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform

Published: 06 September 2000 Publication History

Abstract

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

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.
[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.
[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.
[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.
[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.
[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 Connor and Nettles {14}, pages 33-47.
[7]
M.P. Atkinson and R. Morrison. Orthogonal Persistent Object Systems. VLDB Journal , 4(3):309-401, 1995.
[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.
[9]
M.P. Atkinson and R. Welland, editors. Fully Integrated Data Environments . Springer-Verlag, 1999.
[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.
[11]
M.F. Challis. The JACKDAW database package. In Proc. of the SEAS Spring Technical Meeting (St Andrews, Scotland) , 1974.
[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.
[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.
[14]
R. Connor and S. Nettles, editors. Persistent Object Systems: Principles and Practice . Morgan Kaufmann, 1996.
[15]
M. Dmitriev. The First Experience of Class Evolution Support in PJama. In Morrison et al. {34}, pages 279-296.
[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.
[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.
[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/m3 96/milestone 3.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.
[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.
[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.
[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.
[24]
R.P. Japp. Adding Support for Cartographic Generalisation to a Persistent GIS. BSc Dissertation, University of Glasgow, Department of Computing Science, 2000.
[25]
M.J. Jordan and M.P. Atkinson. Orthogonal Persistence for Java -- A Midterm Report. In Morrison et al. {34}, pages 335-352.
[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.
[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.
[28]
T. Lindholm and F. Yellin. The Java Virtual Machine Specification . Addison-Wesley, 1996.
[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.
[31]
C. Mohan. Repeating History beyond ARIES. In Atkinson et al. {8}, pages 1-17.
[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.
[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.
[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.
[35]
D.S. Munro, R.C.H. Connor, R. Morrison, S. Scheuerl, and D. Stemple. Concurrent shadow paging in the flask architecture. In Atkinson et al. {2}, pages 16-42.
[36]
E. Odberg. Category classes: Flexible classification and evolution in object-oriented databases. Lecture Notes in Computer Science , 811:406-419, 1994.
[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.
[38]
D.I.K. Sjberg. Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems . PhD thesis, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, 1993.
[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.
[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.
[42]
C. Zaniolo, S. Ceri, C. Faloutsos, R.T. Snodgrass, V.S. Subrahmanian, and R.Zicari. Advanced Database Systems . Morgan Kaufmann, 1997.
[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.
[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 of O 2 . Morgan Kaufmann, 1992.

Cited By

View all
  • (2007)The ExoVM system for automatic VM and application reductionACM SIGPLAN Notices10.1145/1273442.125077542:6(352-362)Online publication date: 10-Jun-2007
  • (2007)The ExoVM system for automatic VM and application reductionProceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1250734.1250775(352-362)Online publication date: 15-Jun-2007
  • (2003)Lazy modular upgrades in persistent object storesACM SIGPLAN Notices10.1145/949343.94934138:11(403-417)Online publication date: 26-Oct-2003
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
POS-9: Revised Papers from the 9th International Workshop on Persistent Object Systems
September 2000
319 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 06 September 2000

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2007)The ExoVM system for automatic VM and application reductionACM SIGPLAN Notices10.1145/1273442.125077542:6(352-362)Online publication date: 10-Jun-2007
  • (2007)The ExoVM system for automatic VM and application reductionProceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1250734.1250775(352-362)Online publication date: 15-Jun-2007
  • (2003)Lazy modular upgrades in persistent object storesACM SIGPLAN Notices10.1145/949343.94934138:11(403-417)Online publication date: 26-Oct-2003
  • (2003)Lazy modular upgrades in persistent object storesProceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications10.1145/949305.949341(403-417)Online publication date: 26-Oct-2003
  • (2003)Ownership types for object encapsulationACM SIGPLAN Notices10.1145/640128.60415638:1(213-223)Online publication date: 15-Jan-2003
  • (2003)Ownership types for object encapsulationProceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/604131.604156(213-223)Online publication date: 15-Jan-2003

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media