Issue No. 04 - August (1994 vol. 6)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/69.298175
<p>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.</p>
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
C. Kilger, A. Kemper and G. Moerkotte, "Function Materialization in Object Bases: Design, Realization, and Evaluation," in IEEE Transactions on Knowledge & Data Engineering, vol. 6, no. , pp. 587-608, 1994.