Persistent object stores provide an execution environment in which data and its interrelationships are, by default, retained in their original form beyond the lifetimes of the program or programs that created them. Stability mechanisms ensure that such stores always start up in a self-consistent state, even after non-orderly shutdowns that result from events such as power outages or hardware failures. An efficient means of implementing stability uses Directed Dependency Graphs (DDGs) to facilitate execution of user processes in parallel with updates to the durable store image. The authors have previously shown how these DDGs can be extended and used to provide optimistic, transaction-based concurrency control for processes executing in persistent object stores .
The management of persistent objects differs from that afforded by conventional DBMS because the entire dataset exists in the same repository. As in conventional systems, it is appropriate that some data is accessed (queried and mutated) independently of the transaction system. In this paper, we examine the issue of interaction between processes that execute under transaction control with those executing independently of the transaction system. Interestingly, this co-existence is achieved without enforcing transaction semantics on the independent activity.
Link to publisher version (DOI)
Henskens, F. A., & Ashton, M. G. (2005). Co-existence of transaction and non transaction-managed activity in a persistent object store. In H. Selvaraj, & V. Muthukumar (Eds.),Proceedings of the 18th International Conference on Systems Engineering. Paper presented at the International Conference on Systems Engineering, University of Nevada, Las Vegas, 16-18 August (pp. 81–86). Los Alamitos, CA: IEEE Computer Society. doi: 10.1109/ICSENG.2005.3