Scans through large collections of complex objects often can-not be avoided. even if sopchisticated indexing mechanisms are provided, it may be necessary to evaluate simple predicates against data storded on disk for filtering. for traditional record oriented data models i/o and buffer management are the main bottlenecks for this operation, the interpretation of data structures is straightforward and usually not an important cost factor. for heterogeneously shaped complex objects it may become a dominant cost factor.
in this paper we demonstratea technique to make data structure traversal inside of complex objects much cheaper than naive interpretation. we compile navigation necesary to evaluate condition predicates and physical schema information into a program to be excuted by a specialized abstract machine. our approach is demonstrated for the feature term data model (FTDM), but the techinique is applicable to many other complex data models. main parts of this paper are dedicated to the method we used to design the term retrieval abstract machine (TRAM) architecture by partial evaluation of a tuned interpreter.
|
|