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.
Similar content being viewed by others
References
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
Bertino E, Kim W (1989) Indexing technique for queries on nested objects. IEEE Trans Knowl Data Eng 1(2):196-214
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
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
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
Ezeife C, Barker K (1998) Distributed object-based design vertical fragmentation of classes. Parallel Distrib Database Syst 6(4):317-350
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
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
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
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
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
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
Hellerstein JM, Stonebraker M (1993) Predicate migration: optimizing queries with expensive predicates. SIGMOD Rec 2(2):267-277
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
Kim W (1990) Introduction to object-oriented databases. MIT Press, 1990
Kim W, Lochovsky FH (1989) Object-oriented concepts, databases, and applications. ACM, New York
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
Karlapalem K, Li Q (2000) A framework for class partitioning in object-oriented databases. Distrib Parallel Databases 8:317-350
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
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
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
Navathe SB, Ceri S, Wiederhold G, Dou J (1984) Vertical partitioning algorithms for database design. ACM Trans Database Syst 9(4):680- 710
Neologic Systems (1996) NeoAccess Developer's Reference Manual. 1450 Fourth Street, Suite 12, Berkeley, CA 94710, USA
Navathe SB, Ra M (1989) Vertical partitioning for database design: a graphical algorithm. (1989) In: Proc. ACM SIGMOD International Conference on Management of Data
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
Ozsu MT, Valduriez P (1999) Principles of distributed database systems, 2nd edn. Prentice-Hall, Englewood Cliffs, N.J., USA
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
Xie Z (1993) Optimization of object queries containing encapsulated methods. In: Proc. International Conference on Information and Knowledge Management, pp 451-460
Yao SB (1977) Approximating the number of accesses in database organizations. Comm ACM 20(4):260
Author information
Authors and Affiliations
Corresponding author
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
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
Issue Date:
DOI: https://doi.org/10.1007/s00778-002-0084-7