Local Disk Caching for Client-Server Database Systems
Michael J. Franklin, Michael J. Carey, Miron Livny · 1993
The performance and scalability of a client-server database system can be improved by employing client disks for caching. Client disk caching is particularly useful due to the lower cost per byte (compared to memory) and non-volatility of disk storage. Because of performance considerations, however, disk caching is not a straightforward extension of memory caching. In this paper, we examine the performance impacts of adding client disks to the storage hierarchy of a client-server DBMS and investigate the tradeoffs inherent in keeping a large volume of disk-cached data consistent. We describe and analyze four algorithms for managing disk caches. We also address two extensions to cache management algorithms that arise due to the performance characteristics of large disk caches: 1) the need for methods to reduce the work performed by the server for ensuring transaction durability, and 2) techniques for bringing a large disk-resident cache up-to-date after an extended off-line period. 1 In...