Traversal recursion: a practical approach to supporting recursive applications
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Query optimization in a memory-resident domain relational calculus database system
ACM Transactions on Database Systems (TODS)
The ObjectStore database system
Communications of the ACM
Introduction to object-oriented databases
Introduction to object-oriented databases
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Practical prefetching via data compression
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Safe and efficient sharing of persistent objects in Thor
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
The object database standard: ODMG 2.0
The object database standard: ODMG 2.0
Models of computation and formal languages
Models of computation and formal languages
Typechecking for XML transformers
PODS '00 Proceedings of the nineteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Operating Systems Theory
Architecture of the ORION Next-Generation Database System
IEEE Transactions on Knowledge and Data Engineering
Object-Oriented Query Languages: The Notion and the Issues
IEEE Transactions on Knowledge and Data Engineering
Prefetching Based on Type-Level Access Pattern in Object-Relational DBMSs
Proceedings of the 17th International Conference on Data Engineering
Context-Based Prefetch for Implementing Objects on Relations
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Fido: A Cache That Learns to Fetch
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
MAJOR: A Java Language Binding for Object-Relational Databases
Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and Proceedings of the 3rd International Workshop on Persistence and Java (PJW3): Advances in Persistent Object Systems
Information Sciences: an International Journal
Information Sciences: an International Journal
Morsa: a scalable approach for persisting and accessing large models
Proceedings of the 14th international conference on Model driven engineering languages and systems
Type-Level access pattern view: a technique for enhancing prefetching performance
DASFAA'06 Proceedings of the 11th international conference on Database Systems for Advanced Applications
Hi-index | 0.00 |
Prefetching is an effective method for minimizing the number of fetches between the client and the server in a database management system. In this paper, we formally define the notion of prefetching. We also formally propose new notions of the type-level access locality and type-level access pattern. The type-level access locality is a pheonomenon that repetitive patterns exist in the attributes referenced. The type-level access pattern is a pattern of attributes that are referenced in accessing the objects. We then develop an efficient capturing and prefetching policy based on this formal framework. Existing prefetching methods are based on object-level or page-level access patterns, which consist of object-ids or page-ids of the objects accessed. However, the drawback of these methods is that they work only when exactly the same objects or pages are accessed repeatedly. In contrast, even though the same objects are not accessed repeatedly, our technique effectively prefetches objects if the same attributes are referenced repeatedly, i.e., if there is type-level access locality. Many navigational applications in Object-Relational Database Management Systems (ORDBMSs) have type-level access locality. Therefore, our technique can be employed in ORDBMSs to effectively reduce the number of fetches, thereby significantly enhancing the performance. We also address issues in implementing the proposed algorithm. We have conducted extensive experiments in a prototype ORDBMS to show effectiveness of our algorithm. Experimental results using the OO7 benchmark, a real GIS application, and an XML application show that our technique reduces the number of fetches by orders of magnitude and improves the elapsed time by several factors over on-demand fetching and context-based prefetching, which is a state-of-the-art prefetching method. These results indicate that our approach provides a new paradigm in prefetching that improves performance of navigational applications significantly and is a practical method that can be implemented in commercial ORDBMSs.