The widespread adoption of client-server architectures has made distributed computing the conventional mode of operation for many application domains. At the same time, new classes of applications have placed additional demands on database systems, resulting in an emerging generation of Object-Oriented Database Management Systems (OODBMSs). The combination of these factors gives rise to significant challenges and performance opportunities in the design of modern database systems. This thesis proposes and investigates techniques to provide high performance and scalability for these new systems, while maintaining the transaction semantics, reliability, and availability associated with more traditional database architectures. The common theme of the techniques developed here is the utilization of client resources through caching-based data replication.
The initial chapters describe the architectural alternatives for client-server database systems, present the arguments for using caching as the basis for constructing page server database systems, and provide an overview of other environments in which caching-related issues arise. The bulk of the thesis is then focused on the development and simulation-based performance analysis of algorithms for data caching and memory management. A taxonomy of transactional cache consistency algorithms is developed, which includes the algorithms proposed in this thesis as well as others that have appeared in the literature. A performance study of seven proposed algorithms is then presented. The study shows that significant performance and scalability gains can be obtained through client caching, and enables the quantification of the design tradeoffs that are identified in the taxonomy.
The remainder of the thesis extends the caching-based techniques to further improve system performance and scalability. The first extension is the investigation of algorithms to efficiently manage the "global memory hierarchy" that results from allowing client page requests to be satisfied from the caches of other clients, thus avoiding disk accesses at the server. The second extension investigates algorithms for using local client disks to augment client memory caches. Both extensions are shown to be simple and effective way to reduce dependence on server disk and cpu resources.
Cited By
- Idreos S and Callaghan M Key-Value Storage Engines Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, (2667-2672)
- Idreos S and Kraska T From Auto-tuning One Size Fits All to Self-designed and Learned Data-intensive Systems Proceedings of the 2019 International Conference on Management of Data, (2054-2059)
- Elmagarmid A, Jing J, Helal A and Lee C (2003). Scalable Cache Invalidation Algorithms for Mobile Data Access, IEEE Transactions on Knowledge and Data Engineering, 15:6, (1498-1511), Online publication date: 1-Nov-2003.
- Shanmugasundaram J, Nithrakashyap A, Sivasankaran R and Ramamritham K Efficient concurrency control for broadcast environments Proceedings of the 1999 ACM SIGMOD international conference on Management of data, (85-96)
- Shanmugasundaram J, Nithrakashyap A, Sivasankaran R and Ramamritham K (1999). Efficient concurrency control for broadcast environments, ACM SIGMOD Record, 28:2, (85-96), Online publication date: 1-Jun-1999.
- Chung I, Lee J and Hwang C A contention based dynamic consistency maintenance scheme for client cache Proceedings of the sixth international conference on Information and knowledge management, (363-370)
- White S and DeWitt D Implementing crash recovery in QuickStore Proceedings of the 1995 ACM SIGMOD international conference on Management of data, (187-198)
- Adya A, Gruber R, Liskov B and Maheshwari U Efficient optimistic concurrency control using loosely synchronized clocks Proceedings of the 1995 ACM SIGMOD international conference on Management of data, (23-34)
- White S and DeWitt D (2019). Implementing crash recovery in QuickStore, ACM SIGMOD Record, 24:2, (187-198), Online publication date: 22-May-1995.
- Adya A, Gruber R, Liskov B and Maheshwari U (2019). Efficient optimistic concurrency control using loosely synchronized clocks, ACM SIGMOD Record, 24:2, (23-34), Online publication date: 22-May-1995.
- Carey M, Franklin M and Zaharioudakis M (1994). Fine-grained sharing in a page server OODBMS, ACM SIGMOD Record, 23:2, (359-370), Online publication date: 1-Jun-1994.
- Carey M, Franklin M and Zaharioudakis M Fine-grained sharing in a page server OODBMS Proceedings of the 1994 ACM SIGMOD international conference on Management of data, (359-370)
Index Terms
- Caching and memory management in client-server database systems
Recommendations
A predicate-based caching scheme for client-server database architectures
We propose a new client-side data-caching scheme for relational databases with a central server and multiple clients. Data are loaded into each client cache based on queries executed on the central database at the server. These queries are used to form ...