Holistic Application Analysis for Update-Independence

Current database performance optimizations stop at the border between the database application and the database system, focusing either on improving the performance of just the database system or the application's execution in isolation of the other. We argue that typical database application design enables a more holistic analysis that maintains the relationship between the database and application data. We describe techniques to maintain this relationship and introduce several optimizations to improve the efficiency of Web application execution in a distributed environment. We show that our holistic analysis outperforms traditional non-holistic methods both statically and when used as part of a dynamic, distributed environment for executing Web applications using database caches.