(DBWORLD) Announcing release 1.1 of Shore

Marvin Solomon (solomon@cs.wisc.edu)
Sat, 9 Aug 1997 13:35:06 -0500 (CDT)

The Shore project at the University of Wisconsin--Madison is pleased to
announce release 1.1 of the Shore object-oriented database system.
Release 1.1 includes extensive performance and reliability improvements
relative to previous releases, particularly in the storage manager.
Shore is available with complete sources and extensive documentation.
It may be freely used for educational and research purposes.
The current release is only supported for Solaris 2.5 platforms (both SPARC
and Intel X86), but facilities exist to aid in porting to other platforms.

For more information, visit the Shore home page at
http://www.cs.wisc.edu/shore/
or use anonymous FTP to fetch the file shore/1.1/README from ftp.cs.wisc.edu
(128.105.2.15).

Shore has a layered architecture that allows users to choose the level of
support appropriate for a particular application. The Shore Storage Manager
(SM) is a persistent object storage engine that supports creation of persistent
"files" of "records". Each record can be any size, with efficient storage of
records from a few bytes to megabytes or larger. Records may be retrieved by
"object identifier" or by scanning files. The SM provides full concurrency
control and recovery (the so-called ACID properties) with two-phase locking and
write-ahead logging. It also provides robust implementations of btrees and
rtrees and record access through logical object identifiers. The SM is
designed to be used as a library to create "value-added servers" tailored to
specific applications.

The Shore Value-Added Server (SVAS) builds on the functionality of the SM
to provide typed objects, a Unix-like directory namespace, access control,
and a client-server architecture supporting object-level caching, transactional
semantics, and security at the server boundary. The NFS value-added server
fully implements the standard NFS (Network File Server) protocol, allowing
legacy applications to access Shore objects as if they were Unix files.

The Shore Data Language (SDL), which is based on the Object Database Management
Group (ODMG) ODL language, supports language-independent description of
object-oriented data types. The SDL compiler compiles definitions into "type
objects" stored in the database and C++ language stubs. The combination of the
SDL compiler and an extensive run-time library allows programmers to write
applications that manipulate objects through type-safe "object references".
The library takes care of fetching objects on demand to an LRU client-level
object cache, flushing changes to the server on transaction commit, and
"swizzing" and "unswizzling" references as necessary.

Shore serves as the basis of other database projects, including Paradise
at the University of Wisconsin and PREDATOR at Cornell University.

Paradise (http://www.cs.wisc.edu/paradise/) is a scalable, parallel geographic
information system (GIS) that is capable of storing and manipulating massive
data sets. By applying object-oriented and parallel database technologies to
the problem of storing and manipulating geographic information, the Paradise
project hopes to significantly advance the size and complexity of GIS data sets
that can be successfully stored, browsed, and queried.

The PREDATOR object-relational database system from Cornell University
(http://www.cs.cornell.edu/Info/Projects/PREDATOR/) is freely available for
research and education purposes. PREDATOR is a multi-threaded client-server
system built on Shore. It supports standard relational query-processing with
SQL queries, extensibility with enhanced complex data types with user-defined
methods and aggregates, and WWW access through a Java applet client.

--------------------------------------------------------------------------
The dbworld list reaches many people, and should only be used for
messages of general interest to the database community.
To subscribe or unsubscribe yourself (or optionally (address)) from
dbworld, send a msg to majordomo@cs.wisc.edu with one of these lines:
subscribe dbworld (address)
unsubscribe dbworld (address)
To find out more options send a msg with the line:
help
--------------------------------------------------------------------------