Scalable query result caching for web applications

  • Authors:
  • Charles Garrod;Amit Manjhi;Anastasia Ailamaki;Bruce Maggs;Todd Mowry;Christopher Olston;Anthony Tomasic

  • Affiliations:
  • Carnegie Mellon University, Pittsburgh, PA;Google, Inc.;Carnegie Mellon University, EPFL;Carnegie Mellon University, Akamai Technologies;Carnegie Mellon University, Intel Research Pittsburgh;Yahoo! Research;Carnegie Mellon University

  • Venue:
  • Proceedings of the VLDB Endowment
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The backend database system is often the performance bottleneck when running web applications. A common approach to scale the database component is query result caching, but it faces the challenge of maintaining a high cache hit rate while efficiently ensuring cache consistency as the database is updated. In this paper we introduce Ferdinand, the first proxy-based cooperative query result cache with fully distributed consistency management. To maintain a high cache hit rate, Ferdinand uses both a local query result cache on each proxy server and a distributed cache. Consistency management is implemented with a highly scalable publish/subscribe system. We implement a fully functioning Ferdinand prototype and evaluate its performance compared to several alternative query-caching approaches, showing that our high cache hit rate and consistency management are both critical for Ferdinand's performance gains over existing systems.