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.
Similar content being viewed by others
References
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.
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.
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.
S. Blackburn and R. Stanton, “Multicomputer object stores: The multicomputer texas experiment,” in POS. 1996, pp. 250–262.
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.
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.
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.
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.
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.
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.
L. Böszörményi and C. Weich, “Simple and efficient transactions for a distributed object store,” in DEXA, pp. 693-698, 1998.
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.
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.
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.
A. Chaudhri and R. Zicari, Succeeding with Object Databases, Wiley, 2000.
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.
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.
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.
K.-H. Eder and L. Böszörményi, “Optimized parallel sets for data intensive applications,” in DEXA, 1996, pp. 185–192.
L. Fegaras and D. Maier, “Towards an effective calculus for object query languages,” in Proc. ACM SIGMOD, San Jose, California, 1995.
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.
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.
G. Graefe, “Query evaluation techniques for large databases,” ACM Computing Surveys, vol. 25, no. 2, pp. 73–170, 1993.
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.
R.F. Haddleton, “Parallel set operations in complex object-oriented queries,” Ph.D. thesis, University of Virginia, 1998.
W. Hasan, “Optimization of SQL queries for parallel machines,” Ph.D. thesis, Stanford University, California, USA, 1996.
W. Hasan and R. Motwani, “Coloring away communication in parallel query optimization,” in Proceedings of the 21th VLDB Conference, 1995.
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.
S. Khoshafian, P. Copeland, and G. Copeland, “Parallel query processing for complex objects,” in International Conference on Data Engineering, 1988, pp. 202–209.
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.
C. Lamb, G. Landis, J.A. Orenstein, and D. Weinreb, “The object Store database system,” CACM, vol. 34, no. 10, pp. 50–63, 1991.
M.E.S. Loomis and A.B. Chaudhri (Eds.), Object Databases in Practice, Prentice Hall, 1997, ISBN: 013899725X.
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.
K. Norvag, “The vagabond parallel temporal object-oriented database system: Versatile support for future applications,” in Norsk Informatikkonferanse, 1999.
K. Norvag, “Signature caching in parallel object database systems,” Journal of Information and Software Technology, vol. 44, no. 6, pp. 331–341, 2002.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
M. Stonebraker and P. Brown, Object Relational DBMSs Tracking The Next Great Wave, Morgan kauffman, 1998, ISBN: 1-55860-452-9.
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.
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.
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.
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.
P. Watson, “The design of an ODMG compatible parallel object database server,” in International Meeting on Vector and Parallel Processing (VECPAR), LNCS 1573, 1998.
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.
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.
R. Yaseen, S.Y.W. Su, and H. Lam, “An extensible kernel object management system,” in OOPSLA, 1991, pp. 247–263.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/B:DAPD.0000031632.46740.8f