...Shore
This overview document is based heavily on the paper ``Shoring Up Persistent Applications'' presented at the 1994 ACM SIGMOD Conference. This document was created by editing that paper to reflect the state of and plans for the Shore system as of the release.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...HREF="footnode.html#8">[*]
This research is sponsored by the Advanced Research Project Agency, ARPA order number 018 (formerly 8230), monitored by the U.S. Army Research Laboratory under contract DAAB07-92-C-Q508.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...data
SDL is very closely related to ODL, a data definition language recently proposed as a standard by ODMG, an OODB vendor consortium [Cat93].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...peer-to-peer
The release supports only single server operation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...database [LLOW91
In this release, heaps are not available to application programmers; for now, they are only used internally, for storing the variable-sized components of an object. Also, demand-paging of large heaps is not implemented, so an object's heap is brought in its entirety when the object is faulted into the object cache.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...calls.
The release does not include a Unix system call library; that is planned for a later release. It does include an NFS server, so Unix system calls can be used with Shore objects if the SHORE file system is NFS-mounted on a Unix host.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...OODBs.
Many of the commercial systems use a tree-structured name space for naming databases, but not for naming or organizing individual persistent objects or collections.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...objects
modules and type objects are not special objects in this release
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...stamps.
The semantics of time stamps are slightly different from those of Unix in order to make them efficiently maintainable while retaining their usefulness to applications that rely upon them.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...section.
With this release, cross references can be followed through NFS, but they cannot be removed through NFS. When a dangling cross reference is followed through NFS, somewhat odd behavior results: the NFS client (host) issues a message, ``name not found'', in which ``name'' is the name of the cross reference.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...server.
the Unix compatibility library is not yet available.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...defined.
In the interest of brevity, some of the details have been omitted.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...binding.
Other bindings are planned, of course, but work on them will not begin until Shore is fully operational and delivering good performance through its C++ binding. Moreover, note that the features described here differ somewhat from their description in the SIGMOD-94 Shore paper. The description here represents the Beta release C++ binding; we expect that the binding will become cleaner over time.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...definitions.
Note, however, that any Shore application can create type objects. For instance, one could write a graphical schema design tool to create type objects and install them in the database.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...will
in a future release
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...server.
At present, disk volumes are not replicated.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...applications.
In this release, remote server support is not provided; the server-to-server data shipping and caching code is still under construction at present.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...server.
An OID contains a volume identifier. The server uses a global volume-location service to find the appropriate server and establishes a network connection if necessary.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...[MNSS87]
this release uses no authentication
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...database.
An SQL server value-added server is an example of a rather different use of the Shore Server; the upper layers and type system of Shore would essentially be thrown away, and the facilities provided by the Shore Storage Manager would be used in the construction of a completely different, customized server.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...protocol [HMN+88,LLOW91,WR91,FC92]
planned for a later release
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...de-escalation [LC89,Jos91].
This release does not include multi-granularity locking, as that code is still being written along with the server-to-server code mentioned earlier.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...server.
Generally, the computational cost of the redo is small enough to be ignored, especially when compared to the cost of receiving a page of data via the network.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
This page was generated from LaTeX sources
10/27/1997