Safe and efficient sharing of persistent objects in Thor
- 1 June 1996
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in ACM SIGMOD Record
- Vol. 25 (2) , 318-329
- https://doi.org/10.1145/235968.233346
Abstract
Thor is an object-oriented database system designed for use in a heterogeneous distributed environment. It provides highly-reliable and highly-available persistent storage for objects, and supports safe sharing of these objects by applications written in different programming languages.Safe heterogeneous sharing of long-lived objects requires encapsulation: the system must guarantee that applications interact with objects only by invoking methods. Although safety concerns are important, most object-oriented databases forgo safety to avoid paying the associated performance costs.This paper gives an overview of Thor's design and implementation. We focus on two areas that set Thor apart from other object-oriented databases. First, we discuss safe sharing and techniques for ensuring it; we also discuss ways of improving application performance without sacrificing safety. Second, we describe our approach to cache management at client machines, including a novel adaptive prefetching strategy.The paper presents performance results for Thor, on several OO7 benchmark traversals. The results show that adaptive prefetching is very effective, improving both the elapsed time of traversals and the amount of space used in the client cache. The results also show that the cost of safe sharing can be negligible; thus it is possible to have both safety and high performance.Keywords
This publication has 20 references indexed in Scilit:
- Subtypes vs. where clausesPublished by Association for Computing Machinery (ACM) ,1995
- Efficient optimistic concurrency control using loosely synchronized clocksPublished by Association for Computing Machinery (ACM) ,1995
- Shoring up persistent applicationsPublished by Association for Computing Machinery (ACM) ,1994
- Reducing cross domain call overhead using batched futuresPublished by Association for Computing Machinery (ACM) ,1994
- The 007 BenchmarkPublished by Association for Computing Machinery (ACM) ,1993
- References to remote mobile objects in ThorACM Letters on Programming Languages and Systems, 1993
- The GemStone object database management systemCommunications of the ACM, 1991
- The story of O/sub 2/IEEE Transactions on Knowledge and Data Engineering, 1990
- Storage management for objects in EXODUSPublished by Association for Computing Machinery (ACM) ,1989
- List processing in real time on a serial computerCommunications of the ACM, 1978