TY - JOUR
T1 - Function Materialization in Object Bases
T2 - Design, Realization, and Evaluation
AU - Kemper, Alfons
AU - Kilger, Christoph
AU - Moerkotte, Guido
PY - 1994/8
Y1 - 1994/8
N2 - View materialization is a well-known optimization technique of relational database systems. In this work, 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 rematerial-ization 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 thus 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 rema-terialization. The paper concludes with a quantitative analysis of function materialization based on two sample performance benchmarks obtained from our experimental object base system GOM.
AB - View materialization is a well-known optimization technique of relational database systems. In this work, 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 rematerial-ization 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 thus 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 rema-terialization. The paper concludes with a quantitative analysis of function materialization based on two sample performance benchmarks obtained from our experimental object base system GOM.
KW - Access methods
KW - database programming languages
KW - indexing
KW - methods
KW - object-oriented languages
KW - query processing
UR - https://www.scopus.com/pages/publications/0028485377
U2 - 10.1109/69.298175
DO - 10.1109/69.298175
M3 - Article
AN - SCOPUS:0028485377
SN - 1041-4347
VL - 6
SP - 587
EP - 608
JO - IEEE Transactions on Knowledge and Data Engineering
JF - IEEE Transactions on Knowledge and Data Engineering
IS - 4
ER -