This Article 
 Bibliographic References 
 Add to: 
Function Materialization in Object Bases: Design, Realization, and Evaluation
August 1994 (vol. 6 no. 4)
pp. 587-608

View materialization is a well-known optimization technique of relational database systems. We present a similar, yet more powerful, optimization concept for object-oriented data models: function materialization. Exploiting the object-oriented paradigm-namely, classification, object identity, and encapsulation-facilitates a rather easy incorporation of function materialization into (existing) object-oriented systems. Only those types (classes) whose instances are involved in some materialization are appropriately modified and recompiled, thus leaving the remainder of the object system invariant. Furthermore, the exploitation of encapsulation (information hiding) and object identity provides for additional performance tuning measures that drastically decrease the invalidation and rematerialization overhead incurred by updates in the object base. First, it allows us to cleanly separate the object instances that are irrelevant for the materialized functions from those that are involved in the materialization of some function result, and this to penalize only those involved objects upon update. Second, the principle of information hiding facilitates fine-grained control over the invalidation of precomputed results. Based on specifications given by the data type implementor, the system can exploit operational semantics to better distinguish between update operations that invalidate a materialized result and those that require no rematerialization. The paper concludes with a quantitative analysis of function materialization based on two sample performance benchmarks obtained from our experimental object base system GOM.

[1] M. E. Adiba and B. G. Lindsay, "Database snapshots," inProc. Conf. on Very Large Databases (VLDB), 1980, pp. 86-91.
[2] M. Atkinson, F. Bancilhon, D. J. Dewitt, K. R. Dittrich, D. Maier, and S. Zdonik, "The object-oriented database system manifesto," inProc. Int. Conf. on Deductive and Object-Oriented Databases, 1989, pp. 40-57.
[3] J. A. Blakely, N. Coburn, and P. A. Larson, "Updated derived relations: detecting irrelevant and autonomously computable updates,"ACM Trans. Database Syst., vol. 14, pp. 369-400, 1989.
[4] J. Blakeley, P. Larson, and F. Tompa, "Efficiently updating materialized views," inProc. ACM-SIGMOD Int. Conf Management of Data, Washington, May 28-30, 1986.
[5] M. J. Carey, D. J. Dewitt, J. E. Richardson, and E. J. Shekita, "Object and file management in the EXODUS extensible database system," inProc. Twelfth Int. Conf. Very Large Databases, pp. 91-100, 1986.
[6] E. Hanson, "A performance analysis of view materialization strategies,"ACM-SIGMOD Int. Conf. Management of Data, San Francisco, CA, May 28-30, 1987.
[7] E. Hanson, "Processing queries against database procedures," inProc. ACM SIGMOD Conf. Mgmt. of Data, 1988.
[8] G. Huet, "Confluent reductions: Abstract properties and applications of term rewriting systems,"J. ACM, vol. 27, no. 4, pp. 797-821, 1980.
[9] A. Jhingran, "A performance study of query optimization algorithms on a database system supporting procedures," inProc. 14th Conf. on VLDB, 1988, pp. 88-99.
[10] A. Kemper, C. Kilger, and G. Moerkotte, "Function materialization in object bases," inProc. ACM SlGMOD Conf. Mgmt. of Data, 1991, pp. 258-267.
[11] A. Kemper and G. Moerkotte, "Access support in object bases," inProc. ACM SIGMOD Conf. Mgmt. of Data, 1990, pp. 364-374.
[12] A. Kemper and G. Moerkotte, "Advanced query processing in object bases using access support relations," inProc. 16th VLDB Conf., 1990, pp. 290-301.
[13] A. Kemper and G. Moerkotte,Object-Oriented Information Management for Engineering Applications. Englewood Cliffs, NJ: Prentice-Hall, 1994.
[14] A. Kemper, G. Moerkotte, H.-D. Walter, and A. Zachmann, "GOM: A strongly typed, persistent object model with polymorphism," inProc. German Conf. Databases in Office, Eng., Sci. (BTW), 1991, pp. 198-217.
[15] V. Lum, "Multi-attribute retrieval with combined indexes,"Commun. ACM, vol. 13, pp. 660-665, 1970.
[16] J. Nieverglt, H. Hinterberger, and K. Sevcik, "The grid file: An adaptable, symmetric multikey file structure,"ACM TODS, Mar. 1984.
[17] D. Rosenkrantz and H. Hunt, "Processing conjunctive predicates and queries," inProc. Conf. Very Large Data Bases (VDLB), 1980, pp. 64-72.
[18] T. Sellis, "Intelligent caching and indexing techniques for relational database systems,"Inform. Syst., vol. 13, no. 2, June 1988.
[19] M. Stonebrakeret al., "Extending a relational data base system with procedures,"ACM Trans. Database Syst., Sept. 1987.
[20] M. Stonebraker, A. Jhingran, J. Goh, and S. Potamianos, "On rules, procedures, caching and views in database systems," inProc. ACM-Sigmod Int. Conf. on Management of Data, 1990.
[21] M. Stonebraker and L. Rowe, "The design of POSTGRES," inProc. 1986 ACM-SIGMOD Conf. Management of Data, Washington, DC, May 1986.

Index Terms:
object-oriented databases; query processing; data encapsulation; optimisation; database theory; function materialization; object bases; optimization technique; relational database systems; view materialization; object-oriented data models; classification; object identity; encapsulation; information hiding; performance tuning measures; rematerialization; updates; fine-grained control; data type implementor; operational semantics; GOM; query processing; indexing methods; database programming languages; object-oriented languages; access methods
A. Kemper, C. Kilger, G. Moerkotte, "Function Materialization in Object Bases: Design, Realization, and Evaluation," IEEE Transactions on Knowledge and Data Engineering, vol. 6, no. 4, pp. 587-608, Aug. 1994, doi:10.1109/69.298175
Usage of this product signifies your acceptance of the Terms of Use.