Managing persistent data with Mneme: Designing a reliable, shared object interface
Lecture notes in computer science on Advances in object-oriented database systems
The ObjectStore database system
Communications of the ACM
Communications of the ACM
A Simple Object Storage System
Proceedings of the Third International Workshop on Persistent Object Systems
The grand unified theory of address spaces
HOTOS '95 Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V)
Managing schema evolution in a container-based persistent system
Software—Practice & Experience
MetaJava: an efficient run-time meta architecture for Java/sup TM/
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
Critique of orthogonal persistence
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
Hi-index | 0.00 |
Abstract: This paper argues two points: firstly that persistent systems ought to have some kind of user-level intermediate structure, unlike systems where the persistent store is just a huge collection of small objects; and secondly it describes the Barbados system (which has such an intermediate structure) and argues that it is an effective implementation of persistence. The first point is almost a philosophical point. The argument is that many operations have high fixed overhead costs, but that these costs can be factored out by grouping small objects together and operating on them as a group. These "operations" include both implementation-level and user-level operations, for example transferral of data-structures to remote systems. Therefore, the "loss of orthogonality", or the fact that the programmer now has to deal with these storage entities is not a compromise that is being made, but rather a conceptual advance that is to be embraced. The Barbados system, which has been implemented, is based on the idea of a "segment". A segment is a grouping of logically related small objects that acts as a coherent (medium-sized) object. It can also be thought of as a "data-structure". These entities are simultaneously the units of disk I/O, sharing, locking, storage, memory protection, recompilation, persistence, transferral, deletion and so on.