Skip to main content
Log in

Cost-driven vertical class partitioning for methods in object oriented databases

  • OriginalPaper
  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract.

In object-oriented databases (OODBs), a method encapsulated in a class typically accesses a few, but not all the instance variables defined in the class. It may thus be preferable to vertically partition the class for reducing irrelevant data (instance variables) accessed by the methods. Our prior work has shown that vertical class partitioning can result in a substantial decrease in the total number of disk accesses incurred for executing a set of applications, but coming up with an optimal vertical class partitioning scheme is a hard problem. In this paper, we present two algorithms for deriving optimal and near-optimal vertical class partitioning schemes. The cost-driven algorithm provides the optimal vertical class partitioning schemes by enumerating, exhaustively, all the schemes and calculating the number of disk accesses required to execute a given set of applications. For this, a cost model for executing a set of methods in an OODB system is developed. Since exhaustive enumeration is costly and only works for classes with a small number of instance variables, a hill-climbing heuristic algorithm (HCHA) is developed, which takes the solution provided by the affinity-based algorithm and improves it, thereby further reducing the total number of disk accesses incurred. We show that the HCHA algorithm provides a reasonable near-optimal vertical class partitioning scheme for executing a given set of applications.

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. Atkinson M, Bancilhon F, DeWitt D, Dittrich K, Maier D, Zdonik S (1989) The object-oriented database system manifesto. In: Proc. 1st International Conference on Deductive, Object-Oriented Databases, Kyoto, Japan, pp 40-57

  2. Bertino E, Kim W (1989) Indexing technique for queries on nested objects. IEEE Trans Knowl Data Eng 1(2):196-214

    Article  Google Scholar 

  3. Cluet S, Delobel C (1992) A general framework for the optimization of object-oriented queries. In: Proc. ACM-SIGMOD International Conference on Management of Data, pp 383-392

  4. Chakravarthy S, Muthuraj J, Varadarajan R, Navathe SB (1994) An objective function for vertically partitioning relations in distributed databases and its analysis. Distrib Parallel Databases 2(2):183-207

    Google Scholar 

  5. Cornell DW, Yu PS (1987) A vertical partitioning algorithm for relational databases. In: Proc. 3rd International Conference on Data Engineering, Feb. 3-5, Los Angeles, Calif., USA, pp 30-35

  6. Ezeife C, Barker K (1998) Distributed object-based design vertical fragmentation of classes. Parallel Distrib Database Syst 6(4):317-350

    Article  Google Scholar 

  7. Fung CW, Karlapalem K, Li Q (1996) An analytical approach towards evaluating method-induced vertical partitioning algorithms. Technical Report HKUST-CS96-33, HKUST. Available at: http://www.cs.ust.hk

  8. Fung CW, Karlapalem K, Li Q (1997) Cost-driven evaluation of vertical partitioning in object-oriented databases. In: Proc. 5th International Conference on Database Systems for Advanced Applications (DASFAA'97), Melbourne, Australia, pp 11-20, April 1-4. Extended version technical report HKUST-CS96-32, HKUST, available at: http://www.cs.ust.hk

  9. Fung CW, Karlapalem K, Li Q (2002) An evaluation of vertical class partitioning for query processing in object-oriented databases. IEEE Trans Knowl Data Eng 14(5):1095-1118

    Article  Google Scholar 

  10. Fung CW (1998) Vertical class partitioning and complex object retrieval in object-oriented databases. PhD Thesis, Department of Computer Science, Hong Kong University of Science & Technology

  11. Gardarin G, Gruser JR, Tang ZH (1995) A cost model for clustered object-oriented databases. In: Proc. International Conference on Very Large Data Bases, pp 323-334

  12. HERMES ESPRIT joint project group (1998) The HERMES Reference Architecture and Design Report. Technical report, available at: http://www.ced.tuc.gr/Research/Reports/HERMES/ Reports.htm

  13. Hellerstein JM, Stonebraker M (1993) Predicate migration: optimizing queries with expensive predicates. SIGMOD Rec 2(2):267-277

    Google Scholar 

  14. Keller T, Graefe G, Maier D (19901) Efficient assembly of complex objects. In: Proc. of ACM-SIGMOD International Conference on Management of Data, pp 148-157

  15. Kim W (1990) Introduction to object-oriented databases. MIT Press, 1990

  16. Kim W, Lochovsky FH (1989) Object-oriented concepts, databases, and applications. ACM, New York

  17. Karlapalem K, Li Q (1995) Partitioning schemes for object oriented databases. In: Proc. 5th International Workshop on Research Issues in Data Engineering - Distributed Object Management (RIDE-DOM'95), Taipei, Taiwan, pp 42-49

  18. Karlapalem K, Li Q (2000) A framework for class partitioning in object-oriented databases. Distrib Parallel Databases 8:317-350

    Google Scholar 

  19. Karlapalem K, Li Q, Vieweg S (1996) Method-induced partitioning schemes in object-oriented databases. In: 16th International Conference on Distributed Computing System (ICDCS '96), Hong Kong, May, pp 27-30

  20. Kemper A, Moerkotte G (1990) Access support in object bases. In: ACM SIGMOD International Conference on Management of Data, Atlantic City, N.J., USA, pp 364-374

  21. Karlapalem K, Navathe SB, Morsi MA (1994) Issues in distribution design of object-oriented databases. In: M.T. Ozsu, U. Dayal, P. Valduriez (eds) Distributed object management. Morgan-Kauffman, San Francisco, pp 148-164

  22. Navathe SB, Ceri S, Wiederhold G, Dou J (1984) Vertical partitioning algorithms for database design. ACM Trans Database Syst 9(4):680- 710

    Article  Google Scholar 

  23. Neologic Systems (1996) NeoAccess Developer's Reference Manual. 1450 Fourth Street, Suite 12, Berkeley, CA 94710, USA

  24. Navathe SB, Ra M (1989) Vertical partitioning for database design: a graphical algorithm. (1989) In: Proc. ACM SIGMOD International Conference on Management of Data

  25. Ozsu MT, Blakeley JA (1995) Query processing in object-oriented database systems. In: W. Kim (ed.) Modern database systems: the object model, interoperability, and beyond, ACM, New York, pp 146-174

  26. Ozsu MT, Valduriez P (1999) Principles of distributed database systems, 2nd edn. Prentice-Hall, Englewood Cliffs, N.J., USA

  27. Straube DD, Ozsu MT (1995) Query optimization and execution plan generation in object-oriented data management systems. IEEE Trans Knowl Data Eng 7(2):210-227

    Article  Google Scholar 

  28. Xie Z (1993) Optimization of object queries containing encapsulated methods. In: Proc. International Conference on Information and Knowledge Management, pp 451-460

  29. Yao SB (1977) Approximating the number of accesses in database organizations. Comm ACM 20(4):260

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chi-Wai Fung.

Additional information

Received: 29 March 1999, Accepted: 11 March 2002, Published online: 3 April 2003

This research has been supported, in part, by Hong Kong UGC Research Grants Council under grant CityU 733/96E and CityU 1119/99E.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fung, CW., Karlapalem, K. & Li, Q. Cost-driven vertical class partitioning for methods in object oriented databases. VLDB 12, 187–210 (2003). https://doi.org/10.1007/s00778-002-0084-7

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-002-0084-7

Keywords:

Navigation