Skip to main content
Log in

The Design, Implementation and Evaluation of an ODMG Compliant, Parallel Object Database Server

  • Published:
Distributed and Parallel Databases Aims and scope Submit manuscript

Abstract

This paper describes the design, implementation and evaluation of a parallel object database server. While a number of research groups and companies now provide object database servers designed to run on uniprocessors, there has been surprisingly little work on the exploitation of parallelism to provide scalable performance in Object Database Management Systems (ODBMS). The work described in this paper takes as its starting-point the Object Database Management Group (ODMG) standard for object databases, thereby allowing the project to focus on research into parallelism, rather than on the ODBMS interfaces. The system is designed to run on a distributed memory parallel machine, and the paper describes the key issues and design decisions including: parallel query optimisation and execution, flow control, support for user-defined operations in queries, object distribution, cache management and navigational client access. The work shows that the significant differences between the object and relational database paradigms lead to significant differences in the designs of parallel servers to support these two paradigms. The paper presents an extensive performance analysis of the prototype systems which shows that good performance can be achieved on a cluster of linux PCs.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. N. Bassiliades and I.P. Vlahavas, “PRACTIC: A concurrent object data model for a parallel object-oriented database system,” Information Sciences, vol. 86, nos. 1-3, pp. 149–178, 1995.

    Article  Google Scholar 

  2. N. Bassiliades and I.P. Vlahavas, “Hierarchical query execution in a parallel object-oriented database system,” Parallel Computing, vol. 22, no. 7, pp. 1017–1048, 1996.

    Article  Google Scholar 

  3. P.A. Bernstein, S. Pal, and D. Shutt, “Context-based prefetch for implementing objects on relations,” in VLDB'99, Proceedings of 25th International Conference on Very Large Data Bases, M.P. Atkinson, M.E. Orlowska, P. Valduriez, S.B. Zdonik, and M.L. Brodie (Eds.), Sept. 7-10, 1999, Edinburgh, Scotland, UK, 1999, pp. 327–338.

  4. S. Blackburn and R. Stanton, “Multicomputer object stores: The multicomputer texas experiment,” in POS. 1996, pp. 250–262.

  5. J.A. Blakeley, W.J. McKenna, and G. Graefe, “Experiences building the open OODB query optimizer,” in Proceedings of the ACM SIGMOD, Washington, DC, USA, 1993, pp. 287–296.

  6. P.A. Boncz, F. Kwakkel, and M.L. Kersten, “High performance support for OO traversals in monet,” in British National Conference on Databases, Edinburgh, UK, 1996, pp. 152–169.

  7. P.A. Boncz, A.N. Wilschut, and M.L. Kersten, “Flattening an object algebra to provide performance,” in International Conference on Data Engineering, 1998, pp. 568–577.

  8. H. Boral, W. Alexander, L. Clay, G. Copeland, S. Danforth, M. Franklin, B. Hart, M. Smith, and P. Valduriez, “Prototyping Bubba, a highly parallel database system,” IEEE Transactions on Knowledge and Data Engineering, vol. 2, no. 1, pp. 5–24, 1990.

    Article  Google Scholar 

  9. L. Böszörményi and K.-H. Eder, “M3Set—A language for handling of distributed and persistent sets of objects,” Parallel Computing, vol. 22, pp. 1913–1925, 1997.

    Google Scholar 

  10. L. Böszörményi, K.-H. Eder, and C. Weich, “A very fast parallel object store for very fast applications,” Simulation Practice and Theory, vol. 5, pp. 605–622, 1997.

    Google Scholar 

  11. L. Böszörményi and C. Weich, “Simple and efficient transactions for a distributed object store,” in DEXA, pp. 693-698, 1998.

  12. M.J. Carey, D.J. DeWitt, M.J. Franklin, N.E. Hall, M.L. McAuliffe, J.F. Naughton, D.T. Schuh, M.H. Solomon, C.K. Tan, O.G. Tsatalos, S.J. White, and M.J. Zwilling, “Shoring up persistent applications,” in Proceedings of the ACM SIGMOD International Conference on Management of Data, 1994, pp. 383–394.

  13. M.J. Carey, D.J. DeWitt, and J.F. Naughton, “The OO7 benchmark,” in International Conference on Management of Data, Washington, US, 1993, pp. 12–21.

  14. R.G.G. Cattell, D.K. Barry, D. Bartels, M. Berler, J. Eastman, S. Gameran, D. Jordan, A. Springer, H. Strickland, and D. Wade (Eds.), The Object Database Standard: ODMG 2.0. San Francisco: Morgan Kaufmann, 1997, ISBN: 1-55860-463-4.

    Google Scholar 

  15. A. Chaudhri and R. Zicari, Succeeding with Object Databases, Wiley, 2000.

  16. D.J. DeWitt, R.H. Gerber, G. Graefe, M.L. Heytens, K.B. Kumar, and M. Muralikrishna, “GAMMA—A high performance dataflow database machine,” in Proceedings of the International Conference on Very Large Data Bases, Kyoto, Japan, 1986, pp. 228–237.

  17. D.J. DeWitt, D.F. Lieuwen, and M. Mehta, “Pointer-based join techniques for object-oriented databases,” in Proc. of the 2nd Int. Conference on Parallel and Distributed Information Systems (PDIS), 1993, pp. 172–181.

  18. D.J. DeWitt, J.F. Naughton, J.C. Shafer, and S. Venkataraman, “Parallelising OODBMS traversals: A performance evaluation,” VLDB Journal: Very Large Data Bases, vol. 5, no. 1, pp. 3–18, 1996.

    Google Scholar 

  19. K.-H. Eder and L. Böszörményi, “Optimized parallel sets for data intensive applications,” in DEXA, 1996, pp. 185–192.

  20. L. Fegaras and D. Maier, “Towards an effective calculus for object query languages,” in Proc. ACM SIGMOD, San Jose, California, 1995.

  21. M. Gesmann, “Mapping a parallel complex-object DBMS to operating system processes,” in International Euro-Par Conference, L. Bougé, P. Fraigniaud, A. Mignotte, and Y. Robert (Eds.), Lyon, France, 1996, pp. 852–861.

  22. G. Graefe, “Encapsulation of parallelism in the volcano query processing system,” in SIGMOD International Conference on Management of Data. Atlantic City, NJ, USA, 1990, pp. 102–111.

  23. G. Graefe, “Query evaluation techniques for large databases,” ACM Computing Surveys, vol. 25, no. 2, pp. 73–170, 1993.

    Article  Google Scholar 

  24. T. Grust, J. Kröger, D. Gluche, A. Heuer, and M.H. Scholl, “Query evaluation in CROQUE—Calculus and algebra coincidence,” in 15th British National Conference on Databases, vol. 1271 of Lecture Notes in Computer Science, 1997, pp. 84–100.

    Google Scholar 

  25. R.F. Haddleton, “Parallel set operations in complex object-oriented queries,” Ph.D. thesis, University of Virginia, 1998.

  26. W. Hasan, “Optimization of SQL queries for parallel machines,” Ph.D. thesis, Stanford University, California, USA, 1996.

    Google Scholar 

  27. W. Hasan and R. Motwani, “Coloring away communication in parallel query optimization,” in Proceedings of the 21th VLDB Conference, 1995.

  28. W. Hong and M. Stonebraker, “Optimization of parallel query execution plans in XPRS,” in Proceedings of the First International Conference on Parallel and Distributed Information Systems (PDIS 1991), Florida, USA, 1991, pp. 218–225.

  29. S. Khoshafian, P. Copeland, and G. Copeland, “Parallel query processing for complex objects,” in International Conference on Data Engineering, 1988, pp. 202–209.

  30. K.-C. Kim, “Parallelism in object-oriented query processing,” in Proceedings of the Sixth International Conference on Data Engineering, February 5-9, 1990, Los Angeles, California, USA, 1990, pp. 209–217.

  31. C. Lamb, G. Landis, J.A. Orenstein, and D. Weinreb, “The object Store database system,” CACM, vol. 34, no. 10, pp. 50–63, 1991.

    Google Scholar 

  32. M.E.S. Loomis and A.B. Chaudhri (Eds.), Object Databases in Practice, Prentice Hall, 1997, ISBN: 013899725X.

  33. J.E.B. Moss, “Working with persistent objects: To swizzle or not to swizzle,” Transactions on Software Engineering, vol. 18, no. 8, pp. 657–673, 1992.

    Google Scholar 

  34. K. Norvag, “The vagabond parallel temporal object-oriented database system: Versatile support for future applications,” in Norsk Informatikkonferanse, 1999.

  35. K. Norvag, “Signature caching in parallel object database systems,” Journal of Information and Software Technology, vol. 44, no. 6, pp. 331–341, 2002.

    Google Scholar 

  36. J. Patel, J. Yu, N. Kabra, K. Tufte, B. Nag, J. Burger, N. Hall, K. Ramasamy, R. Lueder, C. Ellman, J. Kupsch, S. Guo, J. Larson, D. DeWitt, and J. Naughton, “Building a scalable geo-spatial DBMS: Technology, implementation and evaluation,” in SIGMOD International Conference on Management of Data, 1997, pp. 336–347.

  37. J.L. Pfaltz, R.F. Haddleton, and J.C. French, “Scalable, parallel, scientific databases,” in 10th International Conference on Scientific and Statistical Database Management, Proceedings, M. Rafanelli and M. Jarke (Eds.), July 1-3, 1998, Capri, Italy, 1998, pp. 4–11.

  38. J. Rao, C. Zhang, and G. Lohman, “Automating physical database design in a parallel database,” in SIGMOD International Conference on Management of Data, Madison, WI, USA, 2002, pp. 558–569.

  39. S.d.F.M. Sampaio, N.W. Paton, J. Smith, and P. Watson, “Validated cost models for parallel OQL query processing,” in OOIS, Montpellier, France, 2002.

  40. S.d.F.M. Sampaio, J. Smith, N.W. Paton, and P. Watson, “An experimental performance evaluation of join algorithms for parallel object databases,” in Euro-Par, Manchester, UK, 2001a.

  41. S.d.F.M. Sampaio, J. Smith, N.W. Paton, and P. Watson, “Experimenting with object navigation in parallel object databases,” in Workshop on Parallel and Distributed Databases, in Conjunction with DEXA'01, Munich, Germany, 2001b.

  42. S.F.M. Sampaio, N.W. Paton, P. Watson, and J. Smith, “A parallel algebra for object databases,” in Proceedings of the Tenth International Workshop on Database and Expert Systems Applications, Florence, Italy, 1999, pp. 56–60.

  43. D.A. Schneider and D.J. DeWitt, “A performance evaluation of four parallel join algorithms in a shared-nothing multiprocessor environment,” in Proceedings of the 1989 ACM SIGMOD International Conference on Management of Data, May 31-June 2, 1989, Portland, Oregon, 1989, pp. 110–121.

  44. E. Shekita and M.J. Carey, “A performance evaluation of pointer-based joins,” in Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data. Atlantic City, NJ, 1990, pp. 300–311.

  45. Y.-M. Shyy, J. Arroyo, S.Y.W. Su, and H. Lam, “A methodology for transforming inheritance relationships in an object-oriented conceptual model to relational tables,” VLDB Journal vol. 5, pp. 181–195, 1996.

    Google Scholar 

  46. J. Smith, T. Gounaris, P. Watson, N.W. Paton, A.A. Fernandes, and R. Sakalleriou, “Distributed query processing on the grid,” in Third International Workshop on Grid Computing, Baltimore, MD, USA, 2002a, pp. 279–290.

  47. J. Smith, P. Watson, S. de F. Mendes Sampaio, and N.W. Paton, “Speeding up navigational requests in a parallel object database system,” in Euro-Par, Paderborn, Germany, 2002b.

  48. M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra, MPI—The Complete Reference, Cambridge, Massachusetts: The MIT Press, 1998. ISBN: 0-262-69215-5.

    Google Scholar 

  49. J. Srivastava and G. Elsesser, “Optimizing multi-join queries in parallel relational databases,” in Proceedings of the 2nd International Conference on Parallel and Distributed Information Systems (PDIS 1993), Issues, Architectures, and Algorithms, 1993, pp. 84–92.

  50. M. Stonebraker and P. Brown, Object Relational DBMSs Tracking The Next Great Wave, Morgan kauffman, 1998, ISBN: 1-55860-452-9.

  51. S.Y.W. Su, S. Ranka, and X. He, “Performance analysis of parallel query processing algorithms for object-oriented databases,” IEEE Transactions on Knowledge and Data Engineering, vol. 12, no. 6, pp. 979–997, 2000.

    Article  Google Scholar 

  52. D. Taniar and C.H.C. Leung, “Query execution scheduling in parallel object-oriented databases,” Information and Software Technology, vol. 41, no. 3, pp. 163–178, 1999.

    Article  Google Scholar 

  53. D. Taniar and J.W. Rahayu, “Performance analysis of parallelization models for path expression queries,” Information Sciences, vol. 117, nos. 1/2, pp. 107–142, 1999.

    Google Scholar 

  54. A.K. Thakore, S.Y.W. Su, and H. Lam, “Algorithms for asynchronous parallel processing of object-oriented databases,” IEEE Transactions on Knowledge and Data Engineering (TKDE), vol. 7, no. 3, pp. 487–504, 1995.

    Google Scholar 

  55. P. Watson, “The design of an ODMG compatible parallel object database server,” in International Meeting on Vector and Parallel Processing (VECPAR), LNCS 1573, 1998.

  56. A.N. Wilschut, J. Flokstra, and P.M.G. Apers, “Parallelism in a main-memory DBMS: The performance of PRISMA/DB,” in VLDB, 1992, pp. 521–532.

  57. A.N. Wilschut, J. Flokstra, and P.M.G. Apers, “Parallel evaluation of multi-join queries,” in ACM SIGMOD International Conference on Management of Data, 1995, pp. 115–126.

  58. R. Yaseen, S.Y.W. Su, and H. Lam, “An extensible kernel object management system,” in OOPSLA, 1991, pp. 247–263.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Smith, J., Sampaio, S., Watson, P. et al. The Design, Implementation and Evaluation of an ODMG Compliant, Parallel Object Database Server. Distributed and Parallel Databases 16, 275–319 (2004). https://doi.org/10.1023/B:DAPD.0000031632.46740.8f

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:DAPD.0000031632.46740.8f

Navigation