- 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
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
- SDL is very closely related to ODL, a data
definition language recently proposed as a standard by ODMG,
an OODB vendor consortium
- The release supports only single server operation.
- 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.
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
of the commercial systems use a tree-structured name space for naming
databases, but not for naming or organizing individual persistent
objects or collections.
modules and type objects are not special objects in this release
- 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.
- 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
- the Unix compatibility library is not yet
- In the interest
of brevity, some of the details have been omitted.
- 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.
- 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.
- in a future
- At present, disk volumes are not
- In this
release, remote server support is not provided; the server-to-server
data shipping and caching code is still under construction at present.
- 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.
this release uses no authentication
- 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.
for a later release
release does not include multi-granularity locking, as that
code is still being written along with the server-to-server code
- 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.
Fri Aug 2 13:38:53 CDT 1996