*Announcement* UserGroup for ODE (OODBMS from AT&T)
From: thssamj@iitmax.iit.edu (Aditya M. Jani)
Organization: Illinois Institute of Technology, Chicago
Date: Fri, 25 Jun 93 17:27:53 GMT
Ode Object database v2.0
------------------------
Ode 2.0 is available via ftp from research.att.com.
Here is a sample session showing how to retrieve Ode 2.0
which is kept in the directory
dist/ode2.0
as a compressed tar file named
2.0.oppbin.tar.Z
First create the directory on the local machine
where ode is to be installed, e.g.,
mkdir ode
cd ode
Retrieve the compressed tar Ode file using ftp into
as illustrated below.
Then uncompress it
uncompress 2.0.oppbin.tar.Z
and unbundle it
tar xvf 2.0.oppbin.tar
Next see file README, fix install file, and run install
./install
Sample ftp session
--------------
$ ftp research.att.com
Connected to tcp!192.20.225.2!1390.
220 inet FTP server (Version 4.271 Fri Apr 9 10:11:04 EDT 1993) ready.
Name (research.att.com:smith): anonymous
331 Guest login ok, send ident as password.
Password: smith@hostname
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd dist
250 CWD command successful.
ftp> cd ode2.0
250 CWD command successful.
ftp> get 2.0.oppbin.tar.Z
200 PORT command successful.
150 Opening BINARY mode data connection for 2.0.oppbin.tar.Z (2762525
bytes).
226 Transfer complete.
2762525 bytes received in 1.6e+02 seconds (16 Kbytes/s)
ftp> quit
221 Goodbye.
-------------------------------------------------------------------------------
Available Now!
Ode 2.0
An Object-Oriented Database
C++ Compatible, Fast Queries, Complex Application Modeling,
Multimedia Support, and more
Ode 2.0 is now available to Universities. Users who currently
have Ode 1.1 will be automatically sent a tape with Ode 2.0.
There is no charge for Ode. However, AT&T requires the signing
of a non-disclosure agreement.
Details
-------
ODE OBJECT-ORIENTED DATABASE
The Ode object database is based on the C++ object paradigm.
Ode uses one integrated data model (C++ classes) for both
database and general purpose manipulation. The Ode database
is defined, queried and manipulated in the database
programming language O++, which provides simple and elegant
facilities for manipulating the database.
O++ is an upward-compatible extension of C++. A few
facilities have been added to C++ to make it into a database
programming language. C++ programmers can learn O++ in a
very short time.
O++ programs can be compiled with C++ programs thus allowing
the use of existing C++ code.
THE ODE MODEL OF PERSISTENCE
Ode offers a simple and elegant notion of persistence which
is modeled on the ``heap''. Specifically, memory is
partitioned into volatile and persistent. Volatile objects
are allocated in volatile memory (stack or heap).
Persistent objects are allocated in persistent store and
they continue to exist after the program that created them
has terminated.
An Ode database is a collection of persistent objects. Each
object is identified by a unique object id (i.e., a
persistent pointer, or to be precise, a pointer to a
persistent object).
The database programming language O++ provides facilities
for creating and manipulating the Ode database. For
example, O++ provides facilities for specifying
transactions, creating and manipulating persistent objects,
querying the database, creating and manipulating versions.
WHAT IS AN OBJECT-ORIENTED DATABASE
Some important characteristics of an object-oriented
database are:
+ data is stored as objects,
+ data can be interpreted (using methods) only as
specified by the class designer,
+ relationship between similar objects is preserved
(inheritance), and
+ references between objects are preserved.
ADVANTAGES OF OBJECT-ORIENTED DATABASES
+ Speed: Queries can be faster because joins (as in
relational databases) are often not needed. This is
because an object can be retrieved directly without a
search, by following object ids.
+ No impedance mismatch: The same data model is used by
both the database programming language and the
database; it is not necessary to do any format
conversions when reading the data from disk and when
storing the data on disk.
+ Programmers need to learn only one programming
language: The same programming language is used for
both data definition and data manipulation.
+ Complex applications: The full power of the database
programming language's type system can be used to model
the data structures of a complex application and the
relationship between the different data items.
+ Multimedia applications: The semantic information
stored in the database (class methods) facilitates
correct interpretation of the data. This reduces
application complexity since applications do no have to
be responsible for the correct interpretation of data.
+ Versions: Object-oriented databases typically provide
better support for versioning. An object can viewed as
the set of all its versions. Also, object versions can
be treated as full fledged objects.
+ Triggers and constraints: Object-oriented databases
provide systematic support for triggers and constraints
which are the basis of active databases.
Finally, most, if not all, object-oriented applications that
have database needs will benefit from using an object-
oriented database. Specifically, C++ applications that have
database needs will benefit from using Ode.
FEATURES OF ODE
1. Ode is C++ based and compatible with C++.
2. The Ode object database provides four object
compatible mechanisms for manipulating and querying
the database: O++, OdeView, OdeFS, and CQL++:
+ O++ is a database programming language based on
C++. O++ is upward compatible with C++ and it
makes minimal changes to C++. O++ offers a
simple and elegant notion of persistence which is
modeled on the ``heap''. O++ provides facilities
for querying the database, and a variant of other
facilities.
+ OdeView is a graphical X-based interface to the
Ode database.
+ OdeFS is a file system interface to the Ode
object database. OdeFS allows objects to be
treated and manipulated like files. Standard
commands such as rm, cp and mv and tools such as
vi and grep can be used to manipulate objects in
the database.
+ CQL++ is a C++ variant of SQL for easing the
transition from relational databases to object-
oriented databases such as Ode.
Currently, only O++ is shipped with Ode 2.0. A beta-
test version of OdeFS is available upon request.
3. Ode supports large objects (these are critical for
multi-media applications). Ode provides both
transparent access for large objects and a file like
interface for large objects. The latter can be used
to efficiently access and update parts of a large
object.
4. Users can create versions of objects. Ode will track
the relationship between versions and provides
facilities for accessing the different versions.
5. Transactions can be specified as read-only; such
transactions are faster because they are not logged
and they are less likely to deadlock.
6. Users can run ``hypothetical'' transactions.
Hypothetical transaction allow users to pose ``what-
if'' scenarios (as often done with spread sheets).
User can change data and see the impact of these
changes without changing the database.
7. EOS, the storage engine of Ode, is based on a client-
server architecture. Some features of EOS:
a. Efficient and transparent handling of large
objects. A file-like interface is also provided
for very large objects.
b. Concurrency is based on multi-granularity two-
version two-phase locking; it allows many
readers and one writer to access the same item
simultaneously.
c. Log records contain only after images of
updates, thus making logs small. Recovery from
system failures requires one scan over the log
resulting in fast restarts.
USE MODES
Ode supports two modes of use:
1. Client-server (allows multiple users to access the
database concurrently).
2. Single user (improved performance compared to using
the client-server mode).
USERS
Ode 2.0 is currently being used as the multi-media database
engine for AT&T's Interactive TV project. Ode 1.1 (older
version of Ode with limited capabilities) has also been
distributed to 30+ sites within AT&T and 135+ universities.
>21 POSTGRES (Ext. Rel. DBMS)
What: Version 4.0 of the POSTGRES DBMS
From: mer@gaia.CS.Berkeley.EDU (Jeff Meredith)
Date: 16 Jul 92 04:53:17 GMT
Version 4.0 of the POSTGRES DBMS is now available for distribution. Version 4.0
provides significant advances in functionality over 3.1. General improvements
in the code and some key multi-user bug fixes have resulted in a much more
reliable system than we have ever previously released.
Major new features include:
o Complete support for language (POSTQUEL) functions.
o Handling of nested dot expressions.
o Optimization of predicates with expensive functions.
o Binary portals
o Initial support of sets
o Indices on system catalogs.
Postgres runs on Sparc I, Sparc II, Sun 4 running SunOs, and DECstations
running ULTRIX >= 4.0, as well as Sequent Symmetry machines. Postgres
consists of about 250,000 lines of C.
If you would like to get Postgres 4.0, you can get it in one of two ways:
(1) Anonymous FTP from postgres.berkeley.edu
cd pub
get postgres-setup.me
binary
get postgres-v4r0.tar.Z
quit
Or, if you do not have net.access, you can order a Postgres distribution
tape by sending a check payable to the Regents of the University of California
for $150.00 to:
Postgres Project
571 Evans Hall
University of California
Berkeley, CA 94720.
Indicate in your accompanying letter whether you want the system on a 9-track
tape at 1600 BPI, at 6250 BPI, on a cartridge tape for SUN shoeboxes (QIC 24
format), or on a TK50 DEC cartridge tape.
>22 Sniff (C++ devel environ)
[See also APPENDIX C, SNiFF+, for the commercial version]
What: SNIFF (Sniff 1.1b (C++ Development Environment))
From: shite@sinkhole.unf.edu (Stephen Hite)
Date: 23 Aug 92 18:14:00 GMT
Sniff 1.1b is available from iamsun.unibe.ch in the C++ hierarchy. It's a
development environment for C++ (minus the C++ compiler or interpreter).
It's freely available and you're gonna need OpenWindows 3.0 if you want
to play with it immediately. I just downloaded it and haven't had a
chance to look into whether the XView 3.0 package will be able to handle
everything Sniff requires of the OpenLook part.
And:
From: sniff@takeFive.co.at (Mr. Sniff)
Newsgroups: comp.lang.c++,comp.unix,comp.unix.osf.osf1,comp.unix.solaris,comp.object
Go Back Up
Go To Previous
Go To Next