Type-level access pattern view: Enhancing prefetching performance using the iterative and recursive patterns
Since recent applications such as XML applications, Geographical Information Systems (GIS), and CAD/CAM systems require highly efficient data management, they are built on Object-Relational DBMS (ORDBMS). The applications are called navigational applications, and they navigate the composite objects connected via the reference and the collection attributes in the ORDBMS. When a navigational application accesses an object, it first checks whether the object is stored in the object cache. If not, the object must be fetched from the database in the server, which is a costly operation. Prefetching identifies the objects that are most likely to be accessed in the near future by the navigational applications and stores them in the object cache in advance. Since prefetching reduces the number of object fetches, it is crucial for improving the application performance. However, the experimental result by Han et al. [16] showed that the improvement ratio of application performance is much lower than the reduction ratio of the number of object fetches. In this paper, we claim that the number of disk accesses in the server also considerably affects the application performance, and we propose a technique for minimizing disk accesses to improve the performance of the prefetch method by Han et al. [16] and hence the navigational application. The contributions of this paper are summarized as follows. (1) For the iterative and the recursive patterns, we propose methods for creating materialized views based on the type-level path access logs proposed in [15]. We refer to the materialized views as the type-level access pattern views. (2) We then present the algorithms for minimizing the number of disk accesses using the type-level access pattern views when prefetching the objects from the database in the server. (3) We present an implementation technique that, given a prefetch request from the client, quickly finds the most efficient type-level access pattern view. (4) We perform a series of experiments using a variety of databases to show that the proposed technique significantly improves the overall performance of the navigational application. Experimental result shows that we reduce the number of disk accesses by up to 33.0 times and improve the performance by up to 21.4 times.
type-level access pattern view navigational application prefetch method type-level path access log