paper

A Program Optimization for Automatic Database Result Caching

  • Authors:

📜 Abstract

Database applications must exhibit good response time to be accepted by users. This requirement implies that the database system must have good performance. One factor that dominates the performance of a database application is its pattern of executing data operations, notably retrieval and update operations. Database programmers have written their applications in such a way as to optimize for this pattern without sacrificing maintainability and generality. The resulting application often exhibits a complex mixture of code and embedded queries, with a specified (often unclear) order of execution. We propose a dynamically exploitable optimization of this pattern using a cache, with the automatic detection and usage of best execution plans according to the specific runtime behavior of the application. By using this optimization, applications can greatly reduce the expense of accessing the database during repeated operations. It is effective in scenarios where the same result set is requested frequently, and can automatically adapt to diverse query patterns while preserving correctness of the application logic.

✨ Summary

This paper, “A Program Optimization for Automatic Database Result Caching,” was presented in 1996 by Michael J. Franklin, Michael J. Carey, and Miron Livny. It discusses an optimization approach designed to improve database system performance by introducing automatic caching of database query results. This is especially relevant for applications with repetitive query patterns.

The paper proposes a system that identifies opportunities to cache results of database queries. It automatically utilizes the most efficient execution plans based on the specific runtime behavior of the application. The system aims to significantly reduce database access costs during repeated operations by exploiting caching. Key strategies include adapting execution plans dynamically and maintaining application logic correctness.

This work is influential in areas of database management systems and optimizations, contributing to advancements in automatic caching strategies. It has been cited in subsequent research concerning query optimization and database performance improvements. Some of the known citations include:

  1. “Main-memory Caching of Web Data for Effective Retrieval of Information” - Michael Rabinovich and Amit Aggarwal (https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.2223)
  2. “Caching and Materialization for Web Databases” - Alon Y. Halevy (https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.1411)
  3. “Materialized Views in Data Warehousing” (https://dl.acm.org/doi/10.1145/828344.828345)

These references illustrate the continued relevance of the concepts introduced in the paper, extending across various applications dealing with data caching and query performance improvements.