1994 Catalog of Free Database Systems
Archive-name: databases/free-databases
Last-modified: 1994/11/18
Version: 1.12
Catalog of Free Database Systems
This document attemts to catalog databases that are
available without payment and with source.
The latest version of the document can be ftp'ed: get
pub/free-databases from ftp.idiom.com.
I will post this document about once a month to comp.databases,
comp.databases.object, comp.answers, and news.answers. I will
also post it to other groups somewhat randomly.
Please send additions, corrections, and donations to
David Muir Sharnoff <free-databases@idiom.com>
I would like user testimonials. I want to know which databases
are usable and which are trustable! Is there any database on
this list that I could store payroll records on?
Thanks,
-Dave
Idiom Consulting, Berkeley, CA
Copyright (C) 1993,1994 David Muir Sharnoff, All rights reserved.
-----------------------------------------------------------------------
----
Prototype entry:
name: The name of the package
version: The current version number of the package
direct inquiries to "contact."
interface from: (interface packages only) front end
protocol/program/language
interface to: (interface packages only) back end
protocol/program/server/etc.
interfaces: The external interfaces that are supported by
the package. Common interfaces are: SQL, ESQL,
dbm, X, etc.
access methods: A list of the database access methods that are
supported
multiuser: Can more than one person access the package at
the same time.
transactions: Does the package support transactions?
distributed: Does the package support distributed databases?
query language: What query languages does the package support
if any? SQL, QUEL, etc.
index size: (full text packages only) the size of the index as a
percentage
of the size of the text to be indexed.
limits: Any known, annoying limits
robustness: Can this package be used on mission-critical data? Is the
package bug free? Does it crash? If it supports multi-user
transactions, does it make guarentees and keep them?
description: A description of the package.
references: Pointers to other documentation (not including that which
is included in the package)
status: current developement status (supported, actively developed,
etc)
announcements: Where to get announcements
discussion: Where to send, or how to join discussions about the
package
bugs: Where to send bug reports
requires: Special requirements for installing or running
ports: What does the package run on?
restrictions: Special copyright or other restrictions on the software
author: The primary author, if known. If not known,
contact: The current contact point. If not specified,
use "author."
how to get: Instructions for obtaining the package
updated: When the package was last updated (yyyy/mm/dd)
-----------------------------------------------------------------------
----
Selected changes:
new listings:
Typhoon - a relation database inspired by db_VISTA
Qddb - a "quick and dirty database"
cbase - ISAM access methods
ciORA - C stdio-like interface to Oracle
persist++ - a set of C++ serialize routes for persistence
Hierarchical Data System - acceess large multi-dim arrays
Common Data Format - exchange large multi-dim arrays
cisamperl - perl interface to Informix C-ISAM 3.1 library
AddressManager - gui flatfile rolodex
grok - a gui flatfile
AdaSAGE - Ada libraries that include SQL parsing and recovery
updates:
mSQL 0.2 is out
Berkeley DB 1.85 is out
rdb 2.5k is out
pfl 0.2 is out
EDB 1.19 is out
Oratcl 2.2 is out
Sybtcl 2.2 is out
-----------------------------------------------------------------------
----
--------------------------- relational databases ----------------------
----
-----------------------------------------------------------------------
----
name: DiamondBase
version: 0.2
interfaces: C++ library
access methods: b+ tree
multiuser: Alpha in this version
transactions: no
distributed: no
query language: C++ methods
limits: limits are set at compile time. The default max records
is 21474836.
robustness: The database engine is quite stable. The multi-user
extensions
are a recent addition and are still considered to be an alpha
version. The single user version is separate however and
unaffected.
description: DiamondBase is written entirely in C++, and uses a schema
compiler to generate C++ class defintions for the objects, as
well as some comparison code which is also linked in to the
final executable. Facilities are now available to access
generic relations without providing comparison code. It was
written originally as a replacement for MetalBase which was too
slow. DiamondBase is very fast.
announcements: send mail to Darren Platt to be put on their list
questions: send mail to Darren Platt
bugs: send mail to Darren Platt
requires: C++
ports: many Unix platforms and OS/2 under cfront or gcc or
Borland's compiler.
restrictions: Free usage for non-commerical applications -- negotiate
anything else.
author: Kevin Lentin, Andrew Davison, Darren Platt
contact: Darren Platt <darrenp@dibbler.cs.monash.edu.au>
how to get: ftp pub/export/? from pippin.cs.monash.edu.au
updated: 1993/11/06
name: Qddb
version: 1.41
interfaces: query language, Tcl/Tk
access methods: ?
multiuser: yes
transactions: ?
distributed: no
query language: supports regular expressions; words, numbers, and
dates;
and ranges of words, numbers, and dates.
limits: ?
robustness: This is BETA software, but we have been happily using the
underlying stuff for years.
description: QDDB stands for 'Quick and Dirty DataBase'.
Qddb is a database suite that allows you to create relations,
add tuples, modify tuples, delete tuples, and search for tuples
in a fast and very flexible way. Qddb 1.40 can use Tcl as its
configuration language, so you can build custom interfaces to
your Qddb databases with it. We provide a reasonably nice
generic interface so you can be up and running quickly.
status: actively developed
discussion: send "Subject: subscribe" with your address in the body to
qddb-users-request@ms.uky.edu
bugs: qddb-bugs@ms.uky.edu and qddb-users@ms.uky.edu
requires: Tcl 7.3, Tk 3.6p1
ports: Ultrix, OSF/1, BSD/386, Linux, SunOS, Solaris.
restrictions: ?
author: Eric H. Herrin II <eric@ms.uky.edu> ?
how to get: ftp pub/unix/qddb-* from ftp.ms.uky.edu
updated: 1994/10/27
name: Typhoon
version: 1.0
interfaces: C API
access methods: B-trees
multiuser: Yes, but no locking mechanism at this point (will come
soon)
transactions: no
distributed: no
query language: none
limits: A single file cannot exceed 4GB.
robustness: The package is quite stable as it is shut down properly.
It
is currently used in a system that handles billing
information (and some other applications).
description: Typhoon is a relational database management system. It
was
originally inspired by Raima's db_VISTA (today Raima Data
Manager) but is relational rather than network based. Typhoon
lacks some of db_VISTA's features, but also contains a number
of nice features not found in db_VISTA.
All relations are defined in a so called Data Definition
Language (ddl) file. You define the database relations like
you would write a C structure with chars, ints, strings,
multidimensional arrays, nested union and structures, etc. Then
you define primary, alternate and foreign keys for each
relation. The Data Definition Language Processor (ddlp)
compiles the database defintion into a binary file which
constitutes the database description. The database relations
are accessed via C subroutines which manipulate individual
records within a table.
- Multiple open database
- Multi-field keys
- Nested structures in records
- Controlled unions
- Referential integrity
- Variable length fields
- Null keys (optional keys in db_VISTA, but easier to use)
- Dynamic opening and closing of database files
status: actively developed
ports: SCO UNIX, Solaris, Tandem NonStop UNIX, AIX, Linux and OS/2.
author: Thomas B. Pedersen <zeppelin@login.dkuug.dk>
how to get: comp.sources.misc volume 44;
ftp pub/Linux/Incoming/typhoon-1.0.tar.gz from sunsite.unc.edu
updated: 1994/09/16
name: University INGRES
version: 8.9
interfaces: QUEL, EQUEL
access methods: heap, hash, isam, ordered
multiuser: yes
transactions: yes, but no multistatement transactions. Each statement
is ACID
distributed: no
query language: QUEL
limits: ?
robustness: Very mature technology
description: This is the database program that was the basis for
INGRES
Corporation. Obviously, it does not have all the bells
and whistles of the current commercial product. However,
it is small and fast and it works.
So called ordered relations are slow and not locked.
references: "The INGRES Papers" Stonebraker ed. Addison Wesley
ports: SunOS, Linux
author: The Ingres project at UC Berkeley.
contact: <ingres-mail@idiom.com>
how to get: ftp pub/ingres/* from s2k-ftp.CS.Berkeley.EDU
updated: 1993/05/20
name: MetalBase
version: 5.0
interfaces: custome C library
access methods: AVL-trees
multiuser: yes, but in theory race conditions still exist
transactions: yes
distributed: no
query language: "Report", and "View Relation" a curses based viewer
limits: ?
robustness: data corruption is possible when MetalBase is not shut
down correctly
description: MetalBase is a small relational database. It has all the
pieces that a relational database should C interface, curses
interface, report writer, etc. It does not have design which
takes advantage of shared memory or the better access methods.
None of the interfaces are standard, but all of them are easy
to use.
discussion: mbase-request@internode.com.au
requires: curses
ports: Linux, MS-DOS, Amiga, NeXT, Coherent, Macintosh MPW, SGI,
Xenix
restrictions: donations are suggested
author: Richid Jernigan / PO Box 827 / Norris TN 37828
how to get: ftp systems/unix/linux/sources/usr.bin/mbase.tar.z
from ftp.uu.net
updated: 1992/10/01
name: mSQL (Mini SQL)
version: 0.2
interfaces: ? and ESL, TCL/Tk, Perl, Python
access methods: ?
multiuser: ?
transactions: ?
distributed: no
query language: SQL and ESL
limits: ?
robustness: ?
description: Mini SQL or mSQL is a light weight database engine that
supports a subset of the ANSI SQL specification (no joins, no
views). It is a single proces engine and doesn't use vast
amounts of system resources as other engines do. It supports
client server operations over TCP/IP networks and provides
quite reasonable performance. As an example, on a clunky old
25mhz 386 running Linux (one of the supported platforms) a
sustained rate of 67 inserts per second was achieved during the
insertion of 100,000 table entries.
ESL is a C styled scripting language. It includes host
independant binary format for compiled scripts; associative
arrays (both transitory and persistent); and bindings to the
CMU-SNMP library.
discussion: msql-list-request@bond.edu.au
ports: Linux, SunOS 4.1, Solaris 2.3, Ultrix 4.3. Uses autoconf.
restrictions: ?
author: David Hughes <bambi@bond.edu.au>
how to get: ftp pub/Bond_Uni/Minerva/msql/ from Bond.edu.au
updated: 1994/09/08
name: Postgres
version: 4.2 beta
interfaces: libpq (C interface), pgbrowse (tk-based browser)
access methods: Heap plus secondary indexes: B-tree, R-tree, Hash.
multiuser: yes
transactions: yes
distributed: no
query language: Postquel (incompatable, extended variant of QUEL)
limits: ?
robustness: The authors say: "It is not up to commercial levels of
reliability. I would not want _my_ payroll records in it :-)"
description: Postgres is a database research project under Prof.
Michael
Stonebraker at U. C. Berkeley. To facilitate research
efforts, a software test-bed was created; this is the
"Postgres" DBMS software. The Postgres DBMS is extended
relational or object oriented, depending on the buzzword du
jour. Postgres is relational. It is highly extensible. It
has object oriented features like inheritance. it has query
language procedures, rules, updatable views, and more.
references: There are may papers available, both through ftp and as
hard-copy technical reports. Cruse the ftp site for papers
or mail Michelle Mattera <michelle@postgres.berkeley.edu>
discussion: send "Subject: ADD" to postgres-
request@postgres.berkeley.edu
linux: send "X-Mn-Admin: join postgres"
to linux-activists-request@niksula.hut.fi
bugs: <bug-postgres@postgres.berkeley.edu>
ports: full support: Alpha OSF/1 1.3+, Mips Ultrix .2+,
Sparc SunOS 4.1.1+, Power AIX 3.2.3+, HP-PA HP-UX 9.0+
comming soon: Sparc Solaris 2.3, i386 Linux
previous versions: i386 SVR4, i386 386BSD, i386 Linux,
i386 NextStep 3.1, NeXT NextStep 3.0,
Sparc Solaris 2.1+, HP-PA HP-UX 8.07
contact: developers: <postgres-questions@postgres>
admin: Michelle Mattera <michelle@postgres.berkeley.edu>
how to get: ftp pub/postgres/postgres-v4r2* from s2k-
ftp.CS.Berkeley.EDU.
pgbrowse: ftp pub/pgbrowse/* from crseo.ucsb.edu.
updated: 1994/04/02
name: REQUIEM
version: ?
interfaces: RQL, ERQL (extension)
access methods: B-tree indexes can be created on attributes of base
relations.
multiuser: yes (multiuser extension)
transactions: yes (multiuser extension)
distributed: no
query language: RQL
robustness: [seems to maintained by zero to few people --ed]
description: REQUIEM (RElational Query and Update Interactive systEM)
is
an extensible, relational DBMS developed in C with a query
language based on the relational algebra called RQL (Relational
Query Language).
There appears to be three versions of REQUIEM: the base
version and two extensions. One extension adds multiuser
capability. The other adds an embeddable version of the
query langauge.
references: "An Extensible DBMS for Small-Medium Scale Systems",
Papazoglou, M.P., IEEE Micro, April 1989.
Relational Database Management - A Systems Programming
Approach, Papazoglou, M.P. and Valder, W., Prentice Hall
International, UK, 1989.
"The Development of a Program Interface for the RDBMS Requiem"
Power, R.A., 1991 Honours Thesis (dvi file available with
source code for the embedded version).
ports: Sparc/SunOS; base version only: MS-DOS, Macintosh
contact: (embedded version only)
Robert Power <robert.power@csis.dit.csiro.au>
how to get: ftp pub/requiem/REQUIEM.tar.Z (multiuser version) or
pub/requiem/Requiem.tar.Z (embeddable version)
from dcssoft.anu.edu.au
The base version can be constructed from the multiuser version.
updated: 1992/10/06
name: shql
version: 1.3 Beta
interfaces: SQL, shell
multiuser: no
transactions: no ?
distributed: no
limits: no NULLs in the data, spaces and backslashes may be added
when
the data contains punctuation, GROUP BY is not implemented.
robustness: it is a shell script.
description: Shql is a program that reads SQL commands interactively
and
executes those commands by creating and manipulating Unix
files. The program is patterned after Ingres' interactive sql
terminal monitor program.
requires: bourne shell with functions, awk, grep, cut, sort, uniq,
join,
wc, and sed
author: Bruce Momjian <root%candle.uucp@bts.com>
how to get: comp.sources.misc volumes 34, 41 and 42.
Also ftp pub/net-sources/shql-patch-1.3-beta from ftp.idiom.com
updated: 1994/08/06
-----------------------------------------------------------------------
----
--------------------------- object oriented ---------------------------
----
úÿ
-----------------------------------------------------------------------
----
name: Arjuna Distributed Programming System
version: 2.0
interfaces: C++
access methods: ?
multiuser: yes
transactions: yes, nested
distributed: yes, includes replicated objects
query language: ?
limits: ?
robustness: "all reported bugs fixed"
description: Arjuna is a programming system for reliable distributed
computing. Arjuna supports nested atomic actions for
controlling operations on objects (instances of C++ classes),
which can potentially be persistent. The software available
includes a C++ stub generator which hides much of the details
of client-server based programming, plus a system programmer's
manual containing details of how to install Arjuna and use it
to build fault-tolerant distributed applications.
discussion: send "join arjuna YOUR-NAME-HERE" to
mailbase@mailbase.ac.uk
ports: UNIX: Suns, HPs, etc.
restrictions: A commercial extension exists.
contact: arjuna@newcastle.ac.uk
how to get: ftp ? from arjuna.ncl.ac.uk
updated: 1993/05/15
name: EXODUS Project software
version: GNU E 2.3.3, Storage Manager (SM) 3.1
interfaces: GNU E, (C++ for direct access to the Storage Manager)
access methods: B+tree and linear-hashing based indexes
multiuser: yes, client-server
transactions: yes, but not nested.
distributed: yes, applications can access multiple servers in a single
transaction. Distributed commits are performed across servers
and clients have access to an interface allowing participation
in distributed commits managed by an external agent.
query language: GNU E -- a persistent programming language based on
C++
robustness: High (at least for academic software).
The SM release includes a facility for regression
testing most features, including crash recovery.
description: The EXODUS Storage Manager (SM) is a client-server object
storage system which provides "storage objects" for storing
data, versions of objects, "files" for grouping related storage
objects, and indexes for supporting efficient object access. A
storage object is an uninterpreted container of bytes which can
range in size from a few bytes to hundreds of megabytes. The
Storage Manager provides routines to read, overwrite, and
efficiently grow and shrink objects. In addition, the Storage
Manager provides transactions, lock-based concurrency control,
and log-based recovery.
GNU E is a persistent, object oriented programming language
developed as part of the Exodus project. GNU E extends C++
with the notion of persistent data, program level data objects
that can be transparently used across multiple executions of a
program, or multiple programs, without explicit input and
output operations.
references: A bibliography of EXODUS related papers can be obtained
from
the ftp site described below. Some of the papers are available
from the ftp server as technical reports, and are marked as
such in the bibliography.
status: No longer being developed. However, the authors are working
on a new system, SHORE, and will support current Exodus
users well enough to keep them going until SHORE is useable.
GNU E 2.5.8 is in beta and can be ftped.
discussion: Send "information exodus_all" to listproc@cs.wisc.edu to
find out how to join the exodus_all mailing list.
bugs: exodusbugs@cs.wisc.edu
requires: g++ 2.3.3 (exactly 2.3.3. GNU E 2.5.8 is in beta)
ports: MIPS/Ultrix, SPARC/SunOS, HP 7xx/HP-UX, Linux
restrictions: none, but see copyright notice located in all source
files
author: The EXODUS Database Toolkit project at the
University of Wisconsin
contact: exodus@cs.wisc.edu
how to get: ftp exodus/* from ftp.cs.wisc.edu
updated: 1993/03/29
name: LINCKS (Linkoping Intelligent Communication of Knowledge
System)
version: 2.2.1
interfaces: C library, emacs-like editor/X11
access methods: ?
multiuser: yes
transactions: no
distributed: no, but maybe later
query language: hypertext-ish X user interface
robustness: The underlaying store handler (NODE) has been used since
'89
and is quite stable. The system have betweem 20 to 500 users.
description: LINCKS is an object-centred multi-user database system
developed for complex information system applications where
editing and browsing of information in the database is of
paramount importance. The focus is on sharing of small
information chunks which combine to make up complex information
objects used by different users for different purposes. The
information chunks are semi-structured in that they contain one
part which is well-structured to facilitate addition of A.I.
processing within the system, and one part which is
unstructured and suitable for management by the user.
Features: shared composite objects, database history,
atlernative views, change collision notification (when more
than one person makes changes to the same composite object)
references: ftp://ftp.ida.liu.se/pub/lincks/articles/cscw.ps.gz
announcements: lincks@ida.liu.se
discussion: lincks-users-request@ida.liu.se
bugs: lincks-bugs@ida.liu.se
requires: Unix, X11R5
ports: Sun4/SunOS 4.1.[123], Sun4/SunOS 5.2, Sun3, Decstation, Alpha,
RS/6000, Sequent Symmetry, Linux, HP-UX, SGI, SCO, SVR4.2, Sony
restrictions: GNU General Public License
author: Lin Padgham, Ralph Ronnquist; University of Linkoping, Sweden
contact: lincks@ida.liu.se
how to get: ftp pub/lincks/lincks-2.2.tar.gz from ftp.ida.liu.se
usa: ftp pub/database/lincks/lincks-2.2.tar.gz from ftp.uu.net
usa: ftp pub/net/infosys/lincks/lincks-2.2.tar.gz
from gatekeeper.dec.com
updated: 1994/06/05
name: OBST
version: 3-4
interfaces: C++, tcl, schema compiler, graphical object browser
access methods: extendable hashtable
multiuser: yes, but writing locks entire tables
transactions: yes
distributed: not yet
query language: C++, tcl, graphical object browser
limits: 4 GB per container, 2^32 containers
robustness: OBST is quite stable since the start of '93. Releases were
made to enhance the coding quality rather than to add new
features. There are somewhere between 50 and 500 users.
description: The persistent object management system OBST was
developed by
Forschungszentrum Informatik (FZI) as a contribution to the
STONE project (supported by grant no. ITS8902A7 from the BMFT,
i.e. the German Ministry for Research).
OBST was originally designed to serve as the common persistent
object store for the tools of an software engineering
environment.
An essential feature of STONE is that the object oriented
paradigm is pursued consequently as a key concept. OBST is the
common persistent object store for all tools within the STONE
environment.
OBST provides a rich OO model including multiple inheritance,
generics, overloading, and privacy. The schema definition
language is syntactically similar to C++. It comes with a
library of pre-defined classes like Set<Entity>, and
List<Entity>. New methods can be incrementally loaded at
runtime.
announcements: send 'add <your-address> obst-announce' to obst-
listserv@fzi.de
discussion: send 'add <your-address> obst-forum' to obst-
listserv@fzi.de
bugs: send OBST version, configuration options, C++ version, machine,
OS, and a description of your problem to <obst@fzi.de>.
requires: A C++ compiler (G++ 2.3.3-2.5.8 or AT&T 2.1/3.01)
ports: UNIX: SPARC/SunOS 4.1, Solaris 2, Linux, HP-UX, ...
contact: obst@fzi.de
how to get: ftp pub/OBST/OBST3-4 from ftp.fzi.de
usa: ftp pub/database/obst/? from ftp.uu.net
uk: ftp computing/databases/OBST/? from src.doc.ic.ac.uk
updated: 1994/06/29
name: pfl
version: 0.2
interfaces: Built-in persistent functional programming language
access methods: no
multiuser: no
transactions: no
distributed: no
query language: functional programming
limits: Index size is limited by the amount of main memory available.
Selectors are a bit flaky when they contain more than about
10,000 tuples. Since the current implementation of the
language is interpreted it is very slow.
robustness: alpha release
description: pfl is a persistent programming language and database
environment. The language is functional.
references: "An Overview of PFL", 3rd International Workshop on
Database
Programming Languages, 1991.
"A functional programming approach to deductive databases",
17th International Conference on Very Large Databases, 1991
bugs: SunOS: author, Linux: Tim Holmes <timh@psammead.demon.co.uk>
requires: GNU C++
ports: Linux, SunOS
restrictions: GNU General Public License; educational use ?
author: Carol Small <carol@dcs.bbk.ac.uk>
contact: Tim Holmes <timh@psammead.demon.co.uk>
how to get ftp pub/Linux/ALPHA/pfl-0.2.tgz from sunsite.unc.edu
updated: 1994/09/21
name: The Texas Persistent Store
version: 0.1
interfaces: C++ library
access methods: ?
multiuser: not yet
transactions: not yet
distributed: not yet
query language: ?
limits: ?
robustness: beta software
description: Texas is a simple, portable, high-performance persistent
store
for C++ using "pointer swizzling at page fault time" to
translate persistent addresses to hardware-supported virtual
addresses. Texas is built on top of a normal virtual memory,
and relies on the underlying virtual memory system for
caching. Texas is easy to use, and is implemented as a UNIX
library. It is small and can be linked into applications. It
requires no special operating system privileges, and
persistence is orthogonal to type---objects may be allocated on
either a conventional transient heap, or on the persistent
heap, as desired. Texas supports simple checkpointing of heap
data.
references: ftp pub/garbage/*.ps from cs.utexas.edu
announcements: send mail to oops@cs.utexas.edu
discussion: ?
bugs: ?
requires: ?
ports: SunOS, Ultrix, Sun CC, GNU C++
restrictions: ?
author: ?
contact: oops@cs.utexas.edu
how to get: ftp pub/garbage/texas/? from cs.utexas.edu
updated: ?
name: Triton Object-Oriented Database System
version: 1.1
interfaces: E, an Ada language binding.
access methods: uses Exodus
robustness: The support provided for Triton is limited. As resources
permit, reported bugs will be fixed. Triton is reasonably
robust and has been in daily use in Arcadia for several years
primarily supporting APPL/A and Amadeus.
description: Triton is an object-oriented database management system
designed to support the Arcadia software engineering
environment. It can be used as a general purpose DBMS, although
it has specialized features to support the software process
capabilities in Arcadia in the form of the APPL/A language.
Triton provides for multi-language access and sharing of data,
dynamic creation of classes (with methods) and objects, special
support for relations, and special support for triggers. Triton
uses a client-server architecture with data and methods held in
the server.
Triton is written in E, which is a persistent C++.
What Triton adds to Exodus is another interface and a lot
of higher-level functionality. This includes an Object Manager
shell (catalog, trigger manager, and application objects);
multi-language access and sharing; dynamic definition of
schema and classes; schema catalog; and triggers before and/or
after method invocations.
references: http://www.ics.uci.edu/Arcadia
requires: Exodus/E, DLD-3.2.3, Q 2.2, Arpc401.3a
restrictions: GNU General Public License [I presume --ed]
author: University of Colorado Arcadia Project.
contact: Dennis Heimbigner <dennis@cs.colorado.edu>
how to get: ftp pub/cs/distribs/arcadia/? from ftp.cs.colorado.edu
www: http://www.cs.colorado.edu/homes/arcadia/public_html/triton.html
updated: ?
name: William's Object Oriented Database (Wood)
version: 0.6
interfaces: MCL 2.0
access methods: custom
multiuser: no
transactions: no
distributed: no
query language: none. Has BTrees for indexing.
limits: Will slow down when the database size exceeds
256 megabytes. Otherwise, database size limited
by disk size (up to Macintosh limit, which is,
I believe, 4 gigabytes). Object size limited
to 24 megabytes. If you think of a Wood database
as a random access FASL file, you'll have the
right idea.
robustness: Until it has a real logging/recovery mechanism,
I wouldn't advise using it for mission critical
data. Caches pages in memory, so if you crash,
you will lose. Has a function to flush the
cache to disk, so you can do explicit checkpoints
to make it more robust.
description: Wood is a simple persistent store for MCL 2.0.
This is still alpha software. It is incomplete: though you can
save/restore all Lisp objects to/from a file, there is no
transaction/recovery manager and no garbage collector for the
persistent heap. I will not be able to provide much support,
but you get source code.
discussion: info-wood-request@cambridge.apple.com
bugs: bug-wood@cambridge.apple.com
ports: Macintosh CommonLisp 2.0
author: Bill St. Clair <bill@cambridge.apple.com>
how to get: ftp pub/mcl2/contrib/wood* from cambridge.apple.com
updated: 1993/03/07
-----------------------------------------------------------------------
----
--------------------------- deductive databases -----------------------
----
-----------------------------------------------------------------------
----
name: Aditi Deductive Database System
version: beta release
interfaces: motif, command line, NU-Prolog
access methods: Base relations contain variable sized records. Base
relations
can be indexed with B-trees or multi-level signature files
(superimposed code words) allowing multi-attribute indexing and
querying, or they can be stored as unindexed flat files.
multiuser: yes
transactions: next release
distributed: ?
query language: prolog, graphical (Motif)
limits: ?
robustness: ?
description: Aditi is a multi-user deductive database system. It
supports
base relations defined by facts (relations in the sense of
relational databases) and derived relations defined by rules
that specify how to compute new information from old
information. The old information can be from derived relations
as well as base relations; the rules of derived relations may
be recursive. Both base relations and the rules defining
derived relations are stored on disk and are accessed as
required during query evaluation.
ports: SPARC/SunOS, MIPS/IRIX
author: The development of the Aditi system started in 1988 by
Professor Kotagiri Ramamohanarao, and many people have been
involved in its development, in particular Jayen Vaghani, Tim
Leask, Peter Stuckey, John Shepherd, Zoltan Somogyi, James
Harland and David Kemp. The support of Kim Marriott, David
Keegel, and Warwick Harvey is also acknowledged.
contact: aditi@cs.mu.oz.au
how to get: send email to aditi@cs.mu.oz.au
updated: 1992/12/17
name: ConceptBase
version: V3.3
interfaces: Prolog, C, C++
access methods: TELL and ASK
multiuser: yes
transactions: primitive (no concurrency)
distributed: no (but can be extended to do so)
query language: CBQL ("query classes")
limits: system is rather slow for objects bases larger than
10000 objects
robustness: used by 100+ institutes, thereby quite robust
description: ConceptBase is a deductive object base manager, i.e., it
combines object-oriented principles with logical deduction.
references: see WorldWideWeb entry:
<http://www.informatik.rwth-aachen.de/I5/CBdoc/cbflyer.html>
bugs: CB@picasso.informatik.rwth-aachen.de
ports: SunOS 4.1.3, Solaris 2.3 (both on SunSPARC)
restrictions: ConceptBase is distributed by "contact", only. It is not
public domain. The source agreeement prohibits commercial
and military use.
author: ConceptBase Team
contact: <jeusfeld@informatik.rwth-aachen.de>
ConceptBase Team, c/o Manfred Jeusfeld, RWTH Aachen,
Informatik V,
Ahornstr. 55, 52056 Aachen, Germany
how to get: ftp /pub/CB from ftp.informatik.rwth-aachen.de
updated: 1994/06/08
name: CORAL
version: 0.1 (Version 1.0 expected shortly)
interfaces: Exodus storage mangager, C++
access methods: Hash-based and B+ tree indices
multiuser: When used with Exodus
transactions: When used with Exodus
distributed: ?
query language: Prolog-like with SQL-style extensions; C++ interface
limits: No type checking; only atomic values in persistent relations
robustness: Research software; used for teaching and in research
projects,
but some bugs remain
description: The CORAL deductive database/logic programming system was
developed at the University of Wisconsin-Madison. The CORAL
declarative language is based on Horn-clause rules with
extensions like SQL's group-by and aggregation operators, and
uses a Prolog-like syntax. Many evaluation techniques are
supported, including bottom-up fixpoint evaluation and top-down
backtracking. Disk-resident data is supported via an interface
to the Exodus storage manager; however, CORAL can run without
Exodus if disk-resident relations are not required.
A good interface to C++ is provided. Relations defined using
the declarative language can be manipulated from C++ code,
and relations defined using C++ code can be used in declarative
rules. C++ code defining relations can be incrementally loaded.
requires: AT&T C++ 2.0 or later
ports: Decstations, Sun 4, Sparc, HP Snakes
author: The CORAL group consists of R. Ramakrishnan, P. Seshadri,
D. Srivastava and S. Sudarshan. The following people made
important contributions: T. Arora, P. Bothner, V. Karra
and W.G. Roth. Several other people were also involved:
J. Albert, T. Ball, L. Chan, M. Das, S. Goyal, R. Netzer
and S. Sterner.
contact: Raghu Ramakrishnan <raghu@ricotta.cs.wisc.edu>
how to get: ftp from ftp.cs.wisc.edu
updated: 1993/02/12
name: MOOD5 (Material's Object-Oriented Database)
version: 1.0
interfaces: Virtually none.
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: Query-by-example object retrieval + some
limits: The database is memory resident when in use and cannot
exceed 16MB.
robustness: Operation is fairly stable but by no means for
mission-critical data. Mostly useful for experimentation.
description: MOOD5 is an object-oriented database system written in
Prolog.
úÿ
Unlike other general purpose OODBS, the system is meant to be
used by non-programmer end-users with its unified user
interface named the Object-Editor, or OE, in short. Therefore,
the program may better be described as an OODB application. It
is developed for the purpose of exprimenting the power of OODB
in dealing with complex material data. As a result, it contains
may novel features which are considered to be necessary to
support material database practice such as the reasoning for
data retrieval, the support of literal expressions for physical
quantities, and so on. Interest from engineers/scientists who
are to deal with a bulk of experimental data (not only from
materials) and programmers in association with them are very
much appreciated.
announcements: comp.databases.object, sci.materials
discussion: author
bugs: author
ports: IBM/NEC-PC/MS-DOS
author: Noboru Ono <ono@mood.mech.tohoku.ac.jp>
how to get: ftp pub/mood from mood.mech.tohoku.ac.jp
usa: ftp pub/database/mood from ftp.uu.net
uk: ftp pub/computing/databases/mood from src.doc.ic.ac.uk
updated: 1994/05/17
-----------------------------------------------------------------------
----
--------------------------- special purpose ---------------------------
----
-----------------------------------------------------------------------
----
name: GRAS (GRAph-oriented database System)
version: 5.90/9 [[6.0 alpha]]
interfaces: Navigational programming interfaces for C and Modula-2
access methods: tries fro database pages, static hashing within pages
multiuser: Very restricted single writer/multiple reader access
[[6.0: shared read/write access with locks on a per-session,
transaction, or operation basis]]
transactions: yes; based on backwards logs. Checkpoints allow roll-
back (and
roll-forward) to a previous state.
distributed: no. [[6.0: Multiclient/multiserver architecture]]
query language: PROGRES (PROgrammed Graph Rewriting Systems; a
language
released
separately)
limits: 2**16 nodes per database and 2**16 databases per multi-
database
[[6.0: 2**32 nodes]]
robustness: Has been successfully used as the underlying database for
a number of research prototypes and one commercial product.
Guarantees recovery from (almost) all application/system crashes
description: GRAS is a database system which has been designed
according
to the requirements resulting from software engineering
applications. Software development environments are composed
of tools which operate on complex, highly structured data.
In order to model such data in a natural way, we have selected
attributed graphs as GRAS' underlying data model.
The current version has programming interfaces for Modula-2 and
C and supports:
- persistent attributed, directed node- and edge-labeled
graphs (including long attributes and indexes)
- temporary/volatile generic sets, binary relations, and lists,
- graph modification triggers causing further modifications
- primitives for version control comprising the capability
for efficiently storing graphs as forward/backward deltas
- primitives for declaring graph schemes and for incremental
evaluation of derived attributes (constraints).
In additon, there are tools for compressing and displaying
graphs. The GRAS system may be considered to be the core of a
graph oriented DBMS environment. The environment is based on a
VHLL called PROGRESS. This environment supports: a
syntax-directed editor for graph schemes, rewrite rules and
sequences of rules; an incremental consistency checker; an
incremental compiler&interpreter for PROGRESS; an enhanced
graph browser
references: Kiesel, Schuerr, Westfechtel: GRAS, A Graph-Oriented
Database
System for (Software) Engineering Applications. Proc. CASE 93,
Lee, Reid, Jarzabek (eds.): Proc. CASE '93, 6th Int. Conf. on
Computer-Aided Software Engineering, IEEE Computer Society
Press (1993), pp 272-286. Available by ftp as TR AIB 92-44.
Schuerr: PROGRES: A VHL-Language Based on Graph Grammars,
in Proc. 4th Int. Workshop on Graph-Grammars and Their
Application to Computer Science, LNCS 532, Springer-
Verlag 1991, pp 641-659. Available by ftp asTR AIB 90-16.
announcements: a list is forming; send mail to the contact (below)
bugs: use the included "send-pr" program to send bug reports
requires: Modula-2, C
ports: Sun-4, porting requires Modula-2
restrictions: GNU General Public License
author: Lehrstuhl fuer Informatik III, RWTH Aachen, Ahornstr. 55
D-52074 Aachen, Germany.
contact: (v5.x & PROGRES) Dr. Andy Sch"urr <andy@i3.informatik.rwth-
aachen.de>
(v6.x) Norbert Kiesel <norbert@i3.informatik.rwth-aachen.de>
how to get: (v5.x) ftp pub/unix/GRAS from ftp.informatik.rwth-
aachen.de
(PROGRES sun4) ftp pub/unix/PROGRES from ftp.informatik.rwth-
aachen.de
(PROGRES source) send mail to contact
(references) ftp pub/reports/* from ftp.informatik.rwth-aachen.de
(v6.x) contact Norbert Kiesel <norbert@i3.informatik.rwth-aachen.de>
updated: 1993/11/01
-----------------------------------------------------------------------
----
--------------------------- flat files --------------------------------
----
-----------------------------------------------------------------------
----
name: AddressManager
version: 0.1
interfaces: Tcl/Tk
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: A graphical rolodex
requires: wish
author: Chunping Ding <ding@vail.levels.unisa.edu.au>
how to get: ftp pub/addressManager.tar.gz from banff.cssip.edu.au
usa: ftp pub/tcl/code/addressManager.* from harbor.ecn.purdue.edu
updated: 1994/05/12
name: EDB, the Emacs database
version: 1.19
interfaces: Emacs, Emacs Lisp
multiuser: no
transactions: no
distributed: no
query language: Emacs Lisp
limits: same as for Emacs -- typically 8 or 32 MB
robustness: fairly high -- currently being used for mission-critical
data
description: EDB provides simple database access in a "user-friendly"
Emacs
environment for flat files. Extensions for linking records and
relational-like operations exist, and further extensions are
easy to make.
EDB is documented by a 110-page manual, complete with indices
discussion: edb-list-request@theory.lcs.mit.edu
bugs: mernst@theory.lcs.mit.edu or edb-list@theory.lcs.mit.edu
requires: GNU Emacs 18, GNU Emacs 19, or Lucid Emacs
ports: any computer that runs Emacs -- that is, almost any computer
restrictions: GNU Public License
author: Michael Ernst <mernst@theory.lcs.mit.edu>
how to get: ftp pub/emacs/edb/edb-*.tar.gz from theory.lcs.mit.edu
updated: 1994/11/15
name: grok (Graphical Resource Organizer Kit)
version: ?
interfaces: query language, GUI, GUI builder
access methods: ?
multiuser: ?
transactions: no
distributed: no
query language: custom
limits: ?
robustness: ?
description: Grok is a simple database manager and UI builder that can
keep
phone lists; store phone call logs; store todo lists; and
manage any other database after simple GUI-driven
customization.
More precisely, grok is a program for displaying and editing
strings arranged in a grid of rows and columns. Each row is
presented as a "card" consisting of multiple columns, or
"fields", that allow data entry. The presentation of the data
is programmable; a user interface builder that allows the user
to arrange fields on a card graphically is part of grok. Grok
also supports a simple language that allows sophisticated
queries and data retrieval.
ports: IRIX, HP-UX, AIX.
restrictions: ?
author: Thomas Driemeyer <thomas@bitrot.in-berlin.de>
how to get: author is looking for ftp site
updated: 1994/10/31
name: Jinx
version: 2.1
interfaces: perl, shell
multiuser: no
transactions: no
distributed: no
query language: none
limits: no limits
robustness: No bugs have ever been reported
description: Very easy to use, curses based flat file handler.
In Perl, so no limits. Allows Join, Project, Sort etc.
Representation in 2 readable unix files. A documented
Perl library makes it easy to add applications.
references: Online help and a 17 page tutorial.
requires: Perl, cterm (distributed with jinx)
ports: any unix system with ordinary perl and curses
restrictions: Copyleft
author: Henk Penning, Utrecht University
contact: Henk Penning <henkp@cs.ruu.nl>
how to get: ftp pub/PERL/jinx.shar.Z and pub/PERL/cterm.shar.Z
from ftp.cs.ruu.nl
updated: 1991/11/01
name: rdb
version: 2.5k
interfaces: perl, shell, UNIX tools
access methods: binary search, linear scan
multiuser: restricted single writer/multiple reader access
transactions: no
distributed: no
query language: none
limits: no limits
robustness: Is being used on many research projects; no known bugs.
description: RDB is a fast, portable, Relational DataBase Management
System
that works with relational data in ascii files.
RDB is a set of Perl modules working as filters, like "row",
"column" & "join" ; a very nifty table formatting script is in
"ptbl", which can do long field folding into multiple lines per
row. Also includes a general report generation capability.
references: Included documentation; Each module has online help.
announcements: comp.lang.perl; also author email list of current
users.
discussion: author
ports: any unix system (or other OS with redirection of I/O).
author: Walt Hobbs <hobbs@rand.org>
how to get: ftp pub/RDB-hobbs/RDB-2.5j.tar.Z from rand.org
updated: 1994/06/20
-----------------------------------------------------------------------
----
----------------- dbm and other and raw access methods ----------------
---
-----------------------------------------------------------------------
----
name: The Berkeley DB code
version: 1.85
interfaces: ndbm, hsearch
access methods: hash, b+tree, recno
multiuser: no
transactions: no
distributed: no
query language: none
limits: can handle large items
robustness: The db routines are used in some production code so they
are likely to work reasonably well.
description: The Berkeley DB Code is a unification of several previous
interfaces. It also forms the basis of a unified interface
to new access methods (b+tree, recno).
references: "A New Hashing Package for UNIX", Margo Seltzer, Ozan
Yigit,
Proceedings of the Winter USENIX Conference, Dallas, TX, 1991.
Also available by ftp'ing pub/oz/hash.ps.Z from nexus.yorku.ca.
"Document Processing in a Relational Database System, Michael
Stonebraker," Heidi Stettner, Joseph Kalash, Antonin Guttman,
Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982.
"LIBTP: Portable, Modular Transactions for UNIX," Margo
Seltzer, Michael Olson, Proceedings 1992 Winter Usenix
Conference, San Francisco, CA, January 1992.
reported bugs: does not align data in memory [fixed? --ed]
ports: SunOS 4.1.2, Ultrix 4.2A, BSD 4.4, and most other Unix
author: Margo Seltzer, Keith Bostic, Ozan Yigit
contact: Keith Bostic <bostic@cs.berkeley.edu>
how to get: ftp ucb/4bsd/db.tar.gz from ftp.cs.berkeley.edu
updated: 1994/09/01
name: Btree Library
version: first public release
interfaces: raw C library
access methods: b-tree
multiuser: no
transactions: no
distributed: no
query language: none
limits: values are limited to 4 bytes (long enough for a pointer!)
robustness: ?
description: Ths is a library that maintains a simple balanced btree
index.
Nothing more is provided than routines to insert, set, find
(specific, next, and previous), and delete keys. Each key,
however, has a spare long value that can be used to contain an
offset to a data file. A library to handle fixed-length records
based on these pointers should be trivial. (Can you say
'dBASEIII'?) Another failing of this library is its total
inability to cope with having several programs modifying
indices at the same time. (it *CAN*, but I won't vouch for the
result) The good solutions to that particular problem are OS
dependent, unfortunately, and I am not a database guru anyhow.
ports: Unix
author: Marcus J. Ranum <mjr@umiacs.UMD.EDU>
how to get: get btree and bt-rio from comp.sources.misc volume 3
updated: 1988/06/02
name: B+tree Library
version: first public release
interfaces: raw C library, dbm-like library
access methods: b+tree
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: This is the source code for a variable-length key
variable page
size b+tree library. Also included is source for a variety of
test programs, a semi-useable record manager, and a
dbm-lookalike library built on top of the record manager and
b+tree. (dbm(3) will blow it away performance-wise, of
course).
ports: Pyramid, Sun, BSD4.3, Ultrix. Does not work on Xenix
author: Marcus J. Ranum <mjr@umiacs.UMD.EDU>
how to get: get b+tree_mgr from comp.sources.misc volume 10
updated: 1988/06/02
name: cbase
version: 102
interfaces: C
access methods: ISAM
multiuser: no
transactions: ?
distributed: no
query language: none
limits: ?
robustness: ?
description: A database library (ISAM like).
ports: MS-DOS
restrictions: ?
contact: ?
how to get: ftp pub3c/SimTel/msdos/c/cbase102.zip from ftp.ibp.fr
updated: ?
name: dbc3
version: 1.0
interfaces: raw C library
access methods: ?
multiuser: no
transactions: ?
distributed: no
query language: none
limits: ?
robustness: ?
description: Dbclib provides a basic C interface to the database files
used by dBase III. It provides funtions to both read and
write them. The author is German and so all the comments are
in German. It's very small (95k). [I'm not sure I have
the name correct --ed]
ports: Unix, MS-DOS
author: D.Schanz
how to get: uucp (host gold, login nuucp, no password, phone 08106-
34593)
/home/public/unxhigh/unix1/dbclib.tgz; or
ftp pub/pc/dos/programming/c/dbclib.tar.gz from ftp.uni-kl.de
updated: 1988/09/13
name: dbz
version: "20 Feb 1993 Performance Release of C News"
interfaces: dbm-like, command-line access
access methods: hash
multiuser: no
transactions: no
distributed: no
query language: none
limits: lines are limited to 1024 bytes unless the -l option is used
robustness: very robust within its domain
description: A dbm-like library maintained for use with C-news.
ports: everything that runs C-news (lots)
author: Jon Zeeff <zeeff@b-tech.ann-arbor.mi.us>, David Butler, Mark
Moraes, Henry Spencer. Hashing function by Peter Honeyman.
contact: Henry Spencer <henry@zoo.toronto.edu>
how to get: included in the C-news distribution as ./dbz
updated: 1992/02/11
name: gdbm
version: 1.7.3
interfaces: dbm, ndbm, gdbm
access methods: hash
multiuser: no, but does lock the entire file
transactions: no
distributed: no
query language: none
limits: can handle large items
robustness: [should be good --ed]
description: An ndbm work-alike from the Free Software Foundation
bugs: gnu.utils.bug
author: Philip A. Nelson <phil@wwu.edu>
how to get: ftp gdbm-*.tar.gz from any gnu archive
updated: 1994/05/18
name: HDS (Hierarchical Data System)
version: ?
interfaces: Fortran, C?
access methods: ?
multiuser: ?
transactions: ?
distributed: no
query language: ?
limits: ?
robustness: ?
description: [This is probably just a library, but it may be a full
database --ed]
A library for storing large multi-dimensional arrays where
efficiency of access is a requirement.
It is presently used in astronomy, for storing (in particular)
images, spectra and time series.
references: http://star-www.rl.ac.uk/
ports: Alpha OSF/1, Sparc SunOS, Sparc Solaris
restrictions: ?
contact: ? mdl@star.rl.ac.uk ?
how to get: ftp pub/doc/star-docs/sun92.tex from starlink-ftp.rl.ac.uk
updated: ?
name: IDBM (ISAM Database Manager)
version: 0.2.0
interfaces: C library, curses query facility
access methods: ISAM
multiuser: no
transactions: no ?
distributed: no
query language: none
limits: ?
robustness: beta release
description: IDBM is a fairly complete ISAM database system. It
includes
a database library, a schema compiler, a database consistaency
úÿ
checker, import and export routines, and curses programs to
modify the database schema and the data in the database.
references: ?
announcements: ?
discussion: ?
bugs: ?
requires: ?
ports: Xenix, SysV, HP-UX, AIX, Amiga, SunOS, BSD, and Ultrix
restrictions: May not be used for commercial purposes.
author: John F Haugh II <jfh@rpp386.cactus.org>
contact: ?
how to get: ftp pub/idbm/idbm-0.2.x/* from ftp.nevada.edu
updated: 1992/03/31
name: sdbm
version: ?
interfaces: ndbm
access methods: hash
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: [I know of no problems --ed]
description: ndbm work-alike hashed database library based
on Per-Aake Larson's Dynamic Hashing algorithms.
author: Ozan S. Yigit <oz@nexus.yorku.ca>
how to get: included in the X11R5 distribution as contrib/util/sdbm
updated: 1990/03/01
name: tdbm
version: 1.2
interfaces: dbm-like
access methods: hashing
multiuser: In theory, but the required threads package is not
currently
distributed.
transactions: yes
distributed: yes
query language: none
limits: Some minor ones.
robustness: Probably pretty reliable, but no hard data available.
description: Tdbm is a transaction processing database with a dbm-like
interface. It provides nested atomic transactions, volatile
and persistent databases, and support for very large objects
and distributed operation.
references: A paper appearing in the Summer '92 USENIX proceedings
describes the design and implementation of tdbm and examines
its performance.
discussion: Contact the author.
bugs: Contact the author.
author: Barry Brachman <brachman@cs.ubc.ca>
requires: Nothing special.
ports: Sparc, MIPS, AIX. Thought to be quite portable.
restrictions: Copyrighted with liberal use policy.
how to get: ftp pub/local/src/tdbm-1.2.tar.gz from ftp.cs.ubc.ca
updated: 1994/07/06
name: Wb
version: 1a2
interfaces: scheme library
access method: b-tree
multiuser: no
transactions: no
distributed: no
query language: none
limits: keys and data must be less that 256 bytes. Total database
must be < blocksize*2^32.
robustness: unknown. New release by a good programmer.
description: WB is a disk based, sorted associative array C library.
These
associative arrays consist of variable length (less that 256
bytes) keys and values. WB comes with an interface to the
Scheme implementation SCM.
author: Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
requires: SCM and SLIB (also available from altdorf.ai.mit.edu)
ports: ?
how to get: ftp archive/scm/wb1a2.tar.z from altdorf.ai.mit.edu
updated: 1993/11/05
name: YACL (Yet Another Class Library)
version: ?
interfaces: C++ library
access methods: variable-length record management, b-trees.
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: YACL is a general-purpose C++ class library. It happens
to include some disk access methods.
ports: MS Windows, Linux
restrictions: Commercial use prohibited.
author: M. A. Sridhar <sridhar@usceast.cs.scarolina.edu>
how to get: ftp pub/sridhar/yacl.zip from ftp.cs.scarolina.edu
updated: 1994/05/25
-----------------------------------------------------------------------
----
--------------------------- full text ---------------------------------
----
-----------------------------------------------------------------------
----
name: glimpse
version: 1.0
interfaces: command line
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: logical conjunctions in command line searches
index size: 2-4%
limits: does not work well with source text larger than 500MB
robustness: ?
description: Glimpse is a text pre-scanning and query tool. It builds
a database of which files a word is used in. When you want
to search for a word, it knows ahead of time where it needs
to look. This allows it to give very quick results without
storing a large inverted index.
references: U. Manber and S. Wu, "GLIMPSE: A Tool to Search Through
Entire
File Systems," Usenix Winter 1994 Technical Conference, San
Francisco (January 1994), pp. 23-32. Also, Technical Report
#TR 93-34, Dept. of Computer Science, University of Arizona,
October 1993 (a postscript file is available by anonymous ftp
at cs.arizona.edu:reports/1993/TR93-34.ps).
S. Wu and U. Manber, "Fast Text Searching Allowing Errors,"
Communications of the ACM 35 (October 1992), pp. 83-91.
discussion: glimpse-request@cs.arizona.edu
ports: portable, binaries provided for sun, mips, linux and alpha
author: Udi Manber, Sun Wu, and Burra Gopal, Department of Computer
Science, University of Arizona.
contact: glimpse@cs.arizona.edu
how to get: ftp glimpse/* from cs.arizona.edu
updated: 1994/04/27
name: Liam Quin's text retrieval package (lq-text)
version: 1.13
interfaces: command line, curses
access methods: hash (dbm) plus clustered linked list
multiuser: read only
distributed: no, can be used over nfs if the systems are similar
query language: very limited command line
limits: 30-bit max document size, 31-bit distinct words in
vocabulary,
up to 2^24 documents (possibly more but I don't have enough
disk to test anything like that!)
index size: >30%, <100% of input text
robustness: The README says that there are bugs.
description: lq-text is a text retrieval package.
That means you can tell it about lots of files, and later you
can ask it questions about them. The questions have to be:
"which files contain this word?" or "which files contain this
phrase?", but this information turns out to be rather useful.
Lqtext has been designed to be reasonably fast. It uses an
inverted index, which is simply a kind of database. This tends
to be smaller than the size of the data, but more than half as
large. You still need to keep the original data.
Lqtext uses dbm (berkeley db or sdbm) to store its indexes.
discussion: lq-text-beta-request@sq.com
bugs: lq-text-beta@sq.com
ports: most version of unix (except SCO)
restrictions: permission required for commercial use.
author: Liam R. E. Quin <lee@sq.com>
how to get: ftp pub/lq-text*.tar.Z from relay.cs.toronto.edu
updated: 1993/12/10
name: mg
version: 1.0
interfaces: command line interpreter, X (tcl)
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: boolean and ranked queries using cosine similarity
measure
index size: 5-15% of text being indexed, depending on document size
and
richness of vocabulary. Text is also stored compressed,
requires around 25-30% of original size. Complete retrieval
system requires 30-45% of original text size.
limits: Will probably fail when used with > 4Gb
robustness: It is a research prototype, and as such there are no
guarantees. Don't rely on it as a primary archive tool; but it
is very useful as an adjunct to other storage mechanisms for
e.g. maintaining a personal mail retrieval system. And, of
course, for research purposes.
description: mg compresses and indexes documents and images (indexed
by
user-supplied textual description). All components are stored
compressed: text by a word-based method that reduces the space
requiremnent to around 25% of input; images by one of three
different methods (FELICS, Textual Image Compression, two-level
image compression); and index using index compression methods.
The package also includes a mechanism for fast and economical
creation of the index in thge first place. It requires about 8
hours (Sun SPARC 10 Model 512) to compress and index 2 Gb of
text (the TREC collection); final retrieval system requires
about 700 Mb to operate. Multi-term Boolean and ranked queries
are answered within seconds.
references: "Managing gigabytes: compressing and indexing documents
and
images", Witten, Moffat, and Bell, Van Nostrand Reinhold, 1994,
ISBN 0-442-01863-0.
"Compression and fast indexing for multi-gigabyte text
databases", Moffat and Zobel, Australian Computer Journal,
26(1):1-9, February 1994.
status: actively-develped research prototype. Support of public use
is not a priority.
ports: SunOS, Solaris, SGI, Ultrix, NeXT.
restrictions: GNU General Public License
author: Tim Bell <tim@cosc.canterbury.ac.nz>, Stuart Inglis
<singlis@waikato.ac.nz>, Alistair Moffat
<alistair@cs.mu.oz.au>, Neil Sharman <neil@kbs.citri.edu.au>,
Tim Shimmin <tes@kbs.citri.edu.au>, Ian Witten
<ihw@waikato.ac.nz>, Justin Zobel <jz@cs.rmit.oz.au>, and
others.
contact: Alistair Moffat <alistair@cs.mu.oz.au>
how to get: ftp pub/mg from munnari.oz.au
updated: 1994/03
name: qt (Query Text)
version: 0.1
interfaces: unix command line
access methods: ?
multiuser: no
distributed: no
query language: unix command line
index size: ?
limits: ?
robustness: ?
description: Qt creates, maintains, and queries a full text database.
The
database file system is organized as an inverted index. The
program is written as a single script, in Bourne Shell, and
permits simple natural language queries.
[qt appears to be easier to use than lq-text and wais --ed]
bugs: author
ports: Unix, SysV.4, AIX, OSF/1, etc.
author: John Conover <john@johncon.com>
how to get: comp.sources.unix volume 27
updated: 1993/10/18
name: SMART
version: 11.0
interfaces: terminal, X (slightly oder version), and several
under development including Z39.50
access methods: inverted file search or sequential search
multiuser: yes, but last writer wins when there are update conflicts
distributed: In-house version, to be made public in fall
query language: Natural language
index size: approx 40% of original text.
limits: Can only handle roughly 4 Gbytes of text in
non-distributed version.
robustness: Research tool; parts have been well-tested but others not.
description: SMART is an implementation of the vector-space model of
information retrieval proposed by Salton back in the 60's. The
primary purpose of SMART is to provide a framework in which to
conduct information retrieval research. Standard versions of
indexing, retrieval, and evaluation are provided.
The system is designed to be used for small to medium scale
collections, and offers reasonable speed and support for these
actual applications.
SMART analyses the collection of information and builds
indexes. It can then be used to build natural-language based
information retrieval software. It uses feedback from the
user to tighten its search.
references: Z39.50 URL: <http://ds.internic.net/z3950/z3950.html>
restrictions: Research use only.
discussion: smart-people-request@cs.cornell.edu
ports: Unix (works under Linux, does not work under Ultrix, ?)
contact: <chrisb@cs.cornell.edu>
how to get: ftp pub/smart/* from ftp.cs.cornell.edu
updated: 1992/07/21
name: WAIS (Wide Area Information Server)
version: 8 b5.1
interfaces: the wais protocol (Z39.50)
access methods: inverted string index
multiuser: read only
distributed: client/server
query language: natural language, boolean, Relevance Feedback
index size: roughtly = data size
limits: "none"
robustness: fairly high
description: There are three main components: WAISINDEX, WAISSERVER,
and
WAISSEARCH.
WAISINDEX creates an inverted file index. WAISINDEX includes
filters for a number of common file formats.
WAISSERVER listens for Z39.50 packets and tries to answer
them.
WAISSEARCH is the user agent that talks to WAISSERVERs. There
are several front ends: shell, X, and emacs.
announcements: wais-interest-request@think.com
discussion: wais-discussion-request@think.com
ports: vax, sun-3, sun-4, NeXT, sysV
restriction: commercial version exists, contact info@wais.com
author: Harry Morris <Morris@wais.com>, Brewster Kahle
<Brewster@wais.com>, Jonny Goldman <Jonathan@Think.COM>
how to get: ftp pub/freeware/unix-src/* from wais.com
updated: 1992/11/16
-----------------------------------------------------------------------
----
--------------------------- interfaces --------------------------------
----
-----------------------------------------------------------------------
----
name: AdaSAGE
version: ?
interfaces: SQL, embedded SQL.
transactions: yes
distributed: ?
query language: SQL
robustness: ?
description: AdaSAGE is not a DBMS.
AdaSAGE is an application development tool that provides
facilities for creating an application specific relational data
base. There are two aspects of SQL dialog to consider. First is
listening to SQL and responding by executing the requested
command. Second is issuing SQL to get a foreign system to
execute some process on your behalf. In the first case AdaSAGE
provides both an embedded SQL technology and an interactive SQL
system adapted to comply with ANSI-SQL DML Level 1. In the
second case AdaSAGE does not provide any capabilities for
creating SQL commands, but since AdaSAGE is a set of Ada
packages there is no reason that a package could not be
developed to do so.
The capability to record all transactions and roll forward from
previous dates gives an audit trail and recover capability.
These features are often provided within data base management
systems, and are provided with AdaSAGE as a logging option, but
seldom if ever are they used in final applications because of
the excessive time and data storage requirements.
references: ?
announcements: ?
discussion: ?
bugs: ?
requires: Ada
ports: MS-DOS, UNIX
restrictions: Use restricted to US DoD, DoE and educational
institutions.
contact: ?
how to get: ftp pub/sage/* from navair1.inel.gov
updated: ?
name: CB++
version: 0.1
interface from: C/C++
interface to: SunOS/Oracle (DOS+Windows/Oracle,Gupta, OS/2 Sybase)
description: CB++ provides a plain C/C++ interface (not embedded) for
SQL
database server access. It was written in 1989 as a basis for
storing C++ objects in a relational database. It is very
simple to use and makes applications portable among different
SQL databases. The library itself is relatively easy to port
as the database vendor specific code is separated into a single
C++ class which makes up only a limited part of the library.
The author supports the current SunOS/Oracle version and
server ports to other UNIX databases (DOS-, Windows-, OS/2-stuff
is provided as it is and no longer supported)
requires: C++
ports: Oracle 6 for SunOS 4.1.3,
Gupta SQL Server for DOS/MS-Windows, OS/2 SQL Server
author: Bernhard Strassl <bernhard@ani.univie.ac.at>
how to get: ftp R5contrib/CB++.0.1.tar.Z from ftp.x.org
updated: 1993/10/05
name: ciORA
version: alpha
interface from: C
interface to: Oracle
query language: ?
robustness: ?
description: ciORA is a set of C interface routines to Oracle that are
modeled after the standard I/O portion of the C library. ciORA
presents a familiar interface to an experienced C programmer by
avoiding the awkward embedding of SQL statements using
precompilers and the tedium of using low-level OCI calls.
ciORA eliminates the need for precompilers by supplying an
interface library providing equivalent functions. It also
provides a higher level of abstraction to the functions in the
Oracle Call Interface (OCI). ciORA manages (and hides) the
tedious details necessary when writing programs using OCI by
replacing the cumbersome Oracle constructs such as logon data
areas, cursor data areas, and external datatypes, the Oracle
array interface, bind variables, select-list-items, and the
like with constructs familiar to a C programmer using the
standard I/O portion of the C library. ciORA also provides a
consistent interface to Oracle errors similar to the convention
used in C's errno.
requires: Oracle
ports: IRIX 5.2, Oracle 7.0.15.4.0
restrictions: GNU General Public License
author: Zane Dodson <dodson@aquila.plk.af.mil>
how to get: email author
updated: 1994/09/10
name: cisamperl
version: 0.9
interface from: perl
interface to: Informix C-ISAM 3.1 library
limits: ?
robustness: ?
description: cisamperl/rocisperl is a package, which implements an
interface
to the INFORMIX C-ISAM library for perl. It is coded as an usub
(see perl documentation) and needs to be compiled with perl and
the C-ISAM library to form 2 separate executables called
cisamperl and rocisperl respectively. cisamperl is a fully
functioning (unless I forgot something) perl executable with
calls for C-ISAM file access added. rocisperl is the same,
with all calls that create/modify/delete C-ISAM files or
records disabled.
requires: C-ISAM 3.1, perl4
ports: ?
úÿ
author: Mathias Koerber <Mathias.Koerber@swi.com.sg>
how to get: ftp pub/perl/db/perl4/cisamperl/cisamperl-* from
ftp.demon.co.uk
updated: 1994/10/29
name: ctreeperl
version: ?
interface from: perl
interface to: FairCom Ctree
description: A perl interface for FairCom Ctree file indexing.
requires: Ctree
author: John Conover <john@johncon.com>
how to get: ftp pub/perl/db/ctreeperl from ftp.demon.co.uk
updated: 1994/04/07
name: dbf (xbase manipulation package)
version: ?
interface from: command line
interface to: xbase files
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: DBF is a set of tools and library routines to manipulate
xbase
files. The tools allow xbase files to be created and
manipulated from the command line.
author: Brad Eacker <beacker@sgi.com>
how to get: comp.sources.misc volume 43
updated: 1994/06/27
name: DSQL
version: 3.0
interface from: Unix, Macintosh, MS-DOS, MS-Windows, and Macintosh
Hypercard
interface to: Unix/Informix, VMS/Oracle
description: DSQL is a simple client/server protocol to support remote
access of SQL databases. DSQL was designed in response to a
perceived need at Genentech to provide graphical front-ends on
Macintosh computers to Informix relational databases running on
Unix servers. DSQL version 3 is distributed with 2 server
implementations and four client library implementations. The
API for the client libraries has been standardized, and the
client code is divided into portable and architecture-specific
portions.
requires: ?
ports: Mac, PC, Unix
author: The Genentech Scientific Computing Technology Development
group. Original authors: David Mischel, Terry Oberzeir,
Scooter Morris <scooter@tinman.gene.com>, Kathryn Woods.
Current team: Jim Fitzgerald, David Mischel, Scooter Morris,
Terry Oberzier, and Dan Lamb (VMS/Oracle).
contact: ?
how to get: ftp pub/dsql.3.tar.Z from cgl.ucsf.edu
updated: 1993/06/25
name: Ingperl
version: 2.0
interface from: perl
interface to: Ingres
descritpion: Ingperl is a set of user subroutines to enable Perl
programs to
access Ingres databases. Ingperl used to be called Sqlperl.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Ted Lemon <mellon@ncd.com>
how to get: ftp pub/perl/db/sqlperl/? from ftp.demon.co.uk
updated: 1994/04/11
name: Isqlperl
version: 1.1
interface from: perl
interface to: Informix
limits: Maximum concurrently open cursors configured at build time.
descritpion: Isqlperl is a set of user subroutines to enable Perl
programs to
access Informix databases.
requires: Perl 4.035 or higher, Informix ESQL/C (Online, SE, or Turbo)
discussion: perldb-interest-REQUEST@vix.com
restrictions: GNU Public License
author: Bill Hails <bill@tardis.co.uk>
how to get: ftp pub/perl/db/isqlperl/isqlperl-1.1.shar.Z
from ftp.demon.co.uk
updated: 1993/10/02
name: Isqltcl ?
version: ?
interface from: tcl
interface to: Informix
description: Isqltcl is an extension to Tool Command Language (Tcl)
that
provides access to an Informix database server. Isqltcl adds
additional Tcl commands that login to an Informix Server, pass
SQL code, read results, etc.
requires: ?
discussion: comp.lang.tcl
author: Srinivas Kumar <skumar@netcom.com>
how to get: ftp tcl/extensions/isqltcl.tar.Z from
harbor.ecn.purdue.edu
updated: 1993/09/15
name: Interperl
version: ?
interface from: perl
interface to: Interbase
descritpion: Interperl is a set of user subroutines to enable Perl
programs
to access Interbase databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Buzz Moschetti <buzz@bear.com>
how to get: ftp pub/perl/db/interperl/? from ftp.demon.co.uk
updated: ?
name: Onyx
version: 2.30
interface from: Onyx 4gl, (emacs and smalltalk planned)
interface to: Ingres89, Informix, GAWK, Shql, Yard, SqlPostgres (OBST
planned)
The informix port is slow and no longer being extended
because the author feels their support is inadiquate.
interfaces: Onyx uses a OO-Parser to access different engines
The transaction manager can be accessed by any aplication
which is able to use pipes or TCP/sockets.
multiuser: Depends on the used engine.
transactions: Yes, but no rollback, all transactions are atomic as
a block, replication of transactions is planned for
one of the next releases.
distributed: Yes its possible to connect to any mentioned database
anywhere in the net. Replication is planned.
query language: SQL + Onyx 4gl (based on Model-View-Controller idea)
limits: Current version uses memory to store selected data.
robustness: Onyx is experimental, but useable for clients. The author
is
supporting himself by writing applications written in Onyx 4GL.
description: Onyx is a 4gl based on the idea of model view controller.
Onyx
4gl connects to a transaction manager based on a OO-Parser
generator via a socket. While the design goal of the protocol
was to keep it as simple as posible, its a good starting point
of writing vendor independent database applications.
status: experimental; actively developed and supported.
announcements: comp.os.linux.announce
bugs: Michael Koehne <kraehe@bakunin.north.de>
requires: BSD like system, GNU C++, a database engine (minimum GNU-
AWK)
ports: Tested on Linux and SunOs.
restrictions: GNU Public Licence
author: Michael Kraehe <kraehe@bakunin.north.de>
how to get: ftp incoming/onyx/? from ftp.germany.eu.net (every
versions)
ftp pub/comp/i386/Linux/Local.EUnet/Applications/Database
from ftp.germany.eu.net (stable versions)
updated: 1994/08/08
name: Oraperl
version: ?
interface from: perl
interface to: Oracle
descritpion: Oraperl is a set of user subroutines to enable Perl
programs to
access Oracle databases.
requires: Perl 3.027 or higher, Oracle Pro*C
discussion: perldb-interest-REQUEST@vix.com
author: Kevin Stock
how to get: ftp pub/perl/db/oraperl/? from ftp.demon.co.uk
updated: ?
name: Oratcl
version: 2.2
interface from: TCL
interface to: Oracle
description: Oratcl is an extension to Tool Command Language (Tcl)
that
provides access to a Oracle Database server. Oratcl adds
additional Tcl commands that login to an Oracle Server, pass
SQL code, read results, etc. Oratcl was inspired by similar
tools written for Perl (sybperl, oraperl) but was written from
scratch instead of borrowing on the work of either Perl
extension.
requires: Tcl 6.7, Tk 3.2, Oracle OCI libraries 1.5,
Oracle SQL Server Version 6 or Version 7
discussion: comp.lang.tcl
author: Tom Poindexter <tpoindex@nyx.cs.du.edu>
how to get: ftp tcl/extensions/oratcl-2.2.tar.gz from
ftp.aud.alcatel.com
updated: 1994/11/04
name: pgperl
version: ?
interface from: perl
interface to: Postgres
descritpion: pgperl is a set of user subroutines to enable Perl
programs to
access Postgres databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Igor Metz <metz@iam.unibe.ch>
how to get: ftp pub/perl/db/pgperl/? from ftp.demon.co.uk
updated: ?
name: SIOD (Scheme In One Defun/Day)
version: 3.0
interface from: C, C++, Scheme
interface to: Oracle, Digital RDB, flat ascii, flat binary.
access methods: flat files contain symbolic expression such as hash
tables.
multiuser: yes with commercial DB, no with flat files.
transactions: yes with commercial DB, no with flat files.
distributed: yes with commercial DB, no with flat files.
query language: SQL, any SCHEME program.
limits: None.
robustness: ?
description: This is a scheme interpreter with built-in procedures
using
the Oracle Call Interface (OCI) and DIGITAL RDB SQL Services.
You can use it merely as a flexible database loader/unloader
with fast binary flat-file data save/restore. Or you can
use it to apply the classic "Symbolic Manipulation" or
"Artificial Intelligence" techniques on your data sets.
The main-program can be oriented towards batch, character-cell
terminal, or Window/GUI.
references: "Structure and Interpretation of Computer Programs" MIT
Press.
announcements: comp.lang.scheme, comp.databases.rdb,
comp.databases.oracle
bugs: Contact the author.
requires: C compiler, your favorite commercial DB.
ports: VMS, WINDOWS NT, UNIX, OS/2, MACINTOSH.
author: George Carrette <gjc@mitech.com>
how to get: ftp pub/gjc/siod* from ftp.std.com.
updated: 1994/05/01
name: Sybperl
version: 1.011
interface from: perl
interface to: Sybase
descritpion: Sybperl is a set of user subroutines to enable Perl
programs to
access Sybase databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Michael Peppler <mpeppler@itf.ch>
how to get: ftp pub/perl/db/sybperl/sybperl-1.009.* from
ftp.demon.co.uk
updated: 1994/05/15
name: Sybtcl
version: 2.2
interface from: TCL
interface to: Sybase
description: Sybtcl is an extension to Tool Command Language (Tcl)
that
provides access to a Sybase Database server. Sybtcl adds
additional Tcl commands that login to a SQL Server, pass SQL
code, read results, etc. Sybtcl was inspired by similar tools
written for Perl (sybperl, oraperl) but was written from
scratch instead of borrowing on the work of either Perl
extension.
requires: Sybase Open Client (DB-Library), Sybase SQL Server
discussion: comp.lang.tcl
author: Tom Poindexter <tpoindex@nyx.cs.du.edu>
how to get: ftp tcl/extensions/sybtcl-2.2.tar.gz from
ftp.aud.alcatel.com
updated: 1994/11/04
name: tclgdbm
version: 1.0
interface from: TCL
interface to: gdbm
description: none provided
discussion: comp.lang.tcl
author: Tuan Doan <tdoan@bnr.ca>
how to get: ftp pub/tcl/extensions/tclgdbm1.0* from
harbor.ecn.purdue.edu
updated: 1994/02/08
name: tcl+gdbm
version: 0.1
interface from: TCL
interface to: gdbm
description: none provided
discussion: comp.lang.tcl
author: Christian Lindig <lindig@ips.cs.tu-bs.de>
how to get: ftp pub/local/sw/tcl+gdbm-0.1.tar.gz from ftp.ips.cs.tu-
bs.de
updated: 1994/05/04
name: Uniperl
version: ?
interface from: perl
interface to: Unify 5.0
descritpion: Uniperl is a set of user subroutines to enable Perl
programs to
access Unify databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Rick Wargo <rickers@coe.drexel.edu>
how to get: ftp pub/perl/db/uniperl/? from ftp.demon.co.uk
updated: ?
name: Willow
version: 2.2
interface from: user
interface to: WWW/Mosaic, Z39.50, ZDist (formerly free-WAIS) from
CNIDR
description: Willow (Washington Information Looker-upper Layered Over
Windows) is a general purpose information retrieval tool. It
provides a single, easy-to-use graphical user interface (X
Windows / Motif) to any number of text-based bibliographic
databases.
references: http://www.cac.washington.edu/willow/home.html
ports: DEC/Ultrix, Solaris, SunOS, RS6000/AIX.
contact: willow@cac.washington.edu
how to get: ftp willow/* from ftp.cac.washington.edu
updated: 1994/06/30
-----------------------------------------------------------------------
----
--------------------------- other -------------------------------------
----
-----------------------------------------------------------------------
----
name: "A Guide to the SQL standard"
what: BNF SQL grammer
version: ?
description: A BNF grammer for SQL is included in the book.
how to get: buy the book: "A Guide to the SQL standard" by Hugh Darwen
and C.J. Date.
updated: ?
name: CDF (Common Data Format)
what: data exchange library
version: ?
interfaces: ?
access methods: ?
distributed: ?
query language: ?
limits: ?
robustness: ?
description: A library and toolkit for multi-dimensional data sets.
The
basic component of CDF is a software programming interface that
is a device independent view of the CDF data model
requires: ?
ports: ?
restrictions: ?
contact: ?
how to get: ftp cdf.dir/* from nssdca.gsfc.nasa.gov.
The CDF library to provide applications access to remote CDF
datasets, can be obtained from its author:
Hillel Steinberg <zeus@cs.umd.edu>.
updated: ?
name: examples from: "Information Retrieval, Data Structures
& Algorithms," William B. Frakes, Ricardo Baeza-Yates,
Editors, Prentice Hall, Englewood Cliffs,
New Jersey 07632, 1992, ISBN 0-13-463837-9.
what: example database code
version: ?
descriptions: example code from the book "Information Retrieval, Data
Structures & Algorithms"
how to get: ftp pub/reuse/ircode.tar.Z from ftp.vt.edu
author: [resumably William B. Frakes, Ricardo Baeza-Yates]
updated: ?
name: _lex & yacc_ by Levine, Mason & Brown published by O'Reilly
what: SQL yacc grammer
version: ?
parts: grammar
description: In _lex & yacc_, by Levine, Mason & Brown an SQL parser
is included as an example grammar
author: Levine, Mason & Brown
how to get: buy the book, or ftp published/oreilly/nutshell/lexyacc/?
from ftp.uu.net.
updated: ?
name: MultiCal
what: database date manipulation library
version: 1.0
interfaces: ?
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: enhanced SQL2
limits: ?
description: MultiCal is both a novel approach to supporting multiple
calendars and internationalization of time constants and a
query processor prototype that demonstrates this approach.
MultiCal consists of about 48K source lines of C code; the
query processor prototype consists of about 63K source lines of
code. The documentation consists of fifteen documents,
comprising some 300 pages of material.
MultiCal consists of an approach to providing limited
extensibility for support of multiple calendars and languages
for temporal support within a database management system
(DBMS). We have augmented the Structured Query Language (SQL),
specifically, SQL2, with time values, i.e., temporal
constants. Our approach is notable in that we allow many
different calendars to be used in the database management
system, and we incorporate only calendar-independent constructs
into the language. We introduce three new temporal data types.
New language features are defined for temporal built-in
functions, special time values, arithmetic expressions
involving time, temporal predicates, and aggregate functions
over time. Ten languages are supported.
To illustrate how an existing DBMS could be augmented to
support multiple calendars, we provide a prototype DBMS that
supports the proposed extensions. This prototype consists of
query analysis and execution components. It eschews traditional
functionality such as concurrency control and disk access
methods, as these aspects are not relevant to timestamp
management.
ports: Sun4
contact: <multical@cs.arizona.edu> or Rick Snodgrass
<rts@CS.Arizona.EDU>
how to get: ftp tsql/multical/* from ftp.cs.arizona.edu
updated: 1993/10/30
name: persist++
what: C++ object marshal/demarshal library
version: 0.2
interfaces: C++
access methods: none
robustness: ?
description: Persist++ is a set of serialize/materialize/marshal
routines
that make it easy to store C++ objects to files or to send them
across the network.
author: Herman Moons <herman@cs.kuleuven.ac.be>
how to get: ftp pub/impulse/persist++_0.2.tar.Z from
ftp.cs.kuleuven.ac.be
úÿ
updated: 1994/08/16
name: SQL parser ?
what: SQL yacc grammer ?
version: ?
description: ?
author: Bruce Ring <73172.735@compuserve.com>
how to get: wait for it to be posted to a comp.sources group
updated: 1994/11/04
Last-modified: 1994/11/18
Version: 1.12
Catalog of Free Database Systems
This document attemts to catalog databases that are
available without payment and with source.
The latest version of the document can be ftp'ed: get
pub/free-databases from ftp.idiom.com.
I will post this document about once a month to comp.databases,
comp.databases.object, comp.answers, and news.answers. I will
also post it to other groups somewhat randomly.
Please send additions, corrections, and donations to
David Muir Sharnoff <free-databases@idiom.com>
I would like user testimonials. I want to know which databases
are usable and which are trustable! Is there any database on
this list that I could store payroll records on?
Thanks,
-Dave
Idiom Consulting, Berkeley, CA
Copyright (C) 1993,1994 David Muir Sharnoff, All rights reserved.
-----------------------------------------------------------------------
----
Prototype entry:
name: The name of the package
version: The current version number of the package
direct inquiries to "contact."
interface from: (interface packages only) front end
protocol/program/language
interface to: (interface packages only) back end
protocol/program/server/etc.
interfaces: The external interfaces that are supported by
the package. Common interfaces are: SQL, ESQL,
dbm, X, etc.
access methods: A list of the database access methods that are
supported
multiuser: Can more than one person access the package at
the same time.
transactions: Does the package support transactions?
distributed: Does the package support distributed databases?
query language: What query languages does the package support
if any? SQL, QUEL, etc.
index size: (full text packages only) the size of the index as a
percentage
of the size of the text to be indexed.
limits: Any known, annoying limits
robustness: Can this package be used on mission-critical data? Is the
package bug free? Does it crash? If it supports multi-user
transactions, does it make guarentees and keep them?
description: A description of the package.
references: Pointers to other documentation (not including that which
is included in the package)
status: current developement status (supported, actively developed,
etc)
announcements: Where to get announcements
discussion: Where to send, or how to join discussions about the
package
bugs: Where to send bug reports
requires: Special requirements for installing or running
ports: What does the package run on?
restrictions: Special copyright or other restrictions on the software
author: The primary author, if known. If not known,
contact: The current contact point. If not specified,
use "author."
how to get: Instructions for obtaining the package
updated: When the package was last updated (yyyy/mm/dd)
-----------------------------------------------------------------------
----
Selected changes:
new listings:
Typhoon - a relation database inspired by db_VISTA
Qddb - a "quick and dirty database"
cbase - ISAM access methods
ciORA - C stdio-like interface to Oracle
persist++ - a set of C++ serialize routes for persistence
Hierarchical Data System - acceess large multi-dim arrays
Common Data Format - exchange large multi-dim arrays
cisamperl - perl interface to Informix C-ISAM 3.1 library
AddressManager - gui flatfile rolodex
grok - a gui flatfile
AdaSAGE - Ada libraries that include SQL parsing and recovery
updates:
mSQL 0.2 is out
Berkeley DB 1.85 is out
rdb 2.5k is out
pfl 0.2 is out
EDB 1.19 is out
Oratcl 2.2 is out
Sybtcl 2.2 is out
-----------------------------------------------------------------------
----
--------------------------- relational databases ----------------------
----
-----------------------------------------------------------------------
----
name: DiamondBase
version: 0.2
interfaces: C++ library
access methods: b+ tree
multiuser: Alpha in this version
transactions: no
distributed: no
query language: C++ methods
limits: limits are set at compile time. The default max records
is 21474836.
robustness: The database engine is quite stable. The multi-user
extensions
are a recent addition and are still considered to be an alpha
version. The single user version is separate however and
unaffected.
description: DiamondBase is written entirely in C++, and uses a schema
compiler to generate C++ class defintions for the objects, as
well as some comparison code which is also linked in to the
final executable. Facilities are now available to access
generic relations without providing comparison code. It was
written originally as a replacement for MetalBase which was too
slow. DiamondBase is very fast.
announcements: send mail to Darren Platt to be put on their list
questions: send mail to Darren Platt
bugs: send mail to Darren Platt
requires: C++
ports: many Unix platforms and OS/2 under cfront or gcc or
Borland's compiler.
restrictions: Free usage for non-commerical applications -- negotiate
anything else.
author: Kevin Lentin, Andrew Davison, Darren Platt
contact: Darren Platt <darrenp@dibbler.cs.monash.edu.au>
how to get: ftp pub/export/? from pippin.cs.monash.edu.au
updated: 1993/11/06
name: Qddb
version: 1.41
interfaces: query language, Tcl/Tk
access methods: ?
multiuser: yes
transactions: ?
distributed: no
query language: supports regular expressions; words, numbers, and
dates;
and ranges of words, numbers, and dates.
limits: ?
robustness: This is BETA software, but we have been happily using the
underlying stuff for years.
description: QDDB stands for 'Quick and Dirty DataBase'.
Qddb is a database suite that allows you to create relations,
add tuples, modify tuples, delete tuples, and search for tuples
in a fast and very flexible way. Qddb 1.40 can use Tcl as its
configuration language, so you can build custom interfaces to
your Qddb databases with it. We provide a reasonably nice
generic interface so you can be up and running quickly.
status: actively developed
discussion: send "Subject: subscribe" with your address in the body to
qddb-users-request@ms.uky.edu
bugs: qddb-bugs@ms.uky.edu and qddb-users@ms.uky.edu
requires: Tcl 7.3, Tk 3.6p1
ports: Ultrix, OSF/1, BSD/386, Linux, SunOS, Solaris.
restrictions: ?
author: Eric H. Herrin II <eric@ms.uky.edu> ?
how to get: ftp pub/unix/qddb-* from ftp.ms.uky.edu
updated: 1994/10/27
name: Typhoon
version: 1.0
interfaces: C API
access methods: B-trees
multiuser: Yes, but no locking mechanism at this point (will come
soon)
transactions: no
distributed: no
query language: none
limits: A single file cannot exceed 4GB.
robustness: The package is quite stable as it is shut down properly.
It
is currently used in a system that handles billing
information (and some other applications).
description: Typhoon is a relational database management system. It
was
originally inspired by Raima's db_VISTA (today Raima Data
Manager) but is relational rather than network based. Typhoon
lacks some of db_VISTA's features, but also contains a number
of nice features not found in db_VISTA.
All relations are defined in a so called Data Definition
Language (ddl) file. You define the database relations like
you would write a C structure with chars, ints, strings,
multidimensional arrays, nested union and structures, etc. Then
you define primary, alternate and foreign keys for each
relation. The Data Definition Language Processor (ddlp)
compiles the database defintion into a binary file which
constitutes the database description. The database relations
are accessed via C subroutines which manipulate individual
records within a table.
- Multiple open database
- Multi-field keys
- Nested structures in records
- Controlled unions
- Referential integrity
- Variable length fields
- Null keys (optional keys in db_VISTA, but easier to use)
- Dynamic opening and closing of database files
status: actively developed
ports: SCO UNIX, Solaris, Tandem NonStop UNIX, AIX, Linux and OS/2.
author: Thomas B. Pedersen <zeppelin@login.dkuug.dk>
how to get: comp.sources.misc volume 44;
ftp pub/Linux/Incoming/typhoon-1.0.tar.gz from sunsite.unc.edu
updated: 1994/09/16
name: University INGRES
version: 8.9
interfaces: QUEL, EQUEL
access methods: heap, hash, isam, ordered
multiuser: yes
transactions: yes, but no multistatement transactions. Each statement
is ACID
distributed: no
query language: QUEL
limits: ?
robustness: Very mature technology
description: This is the database program that was the basis for
INGRES
Corporation. Obviously, it does not have all the bells
and whistles of the current commercial product. However,
it is small and fast and it works.
So called ordered relations are slow and not locked.
references: "The INGRES Papers" Stonebraker ed. Addison Wesley
ports: SunOS, Linux
author: The Ingres project at UC Berkeley.
contact: <ingres-mail@idiom.com>
how to get: ftp pub/ingres/* from s2k-ftp.CS.Berkeley.EDU
updated: 1993/05/20
name: MetalBase
version: 5.0
interfaces: custome C library
access methods: AVL-trees
multiuser: yes, but in theory race conditions still exist
transactions: yes
distributed: no
query language: "Report", and "View Relation" a curses based viewer
limits: ?
robustness: data corruption is possible when MetalBase is not shut
down correctly
description: MetalBase is a small relational database. It has all the
pieces that a relational database should C interface, curses
interface, report writer, etc. It does not have design which
takes advantage of shared memory or the better access methods.
None of the interfaces are standard, but all of them are easy
to use.
discussion: mbase-request@internode.com.au
requires: curses
ports: Linux, MS-DOS, Amiga, NeXT, Coherent, Macintosh MPW, SGI,
Xenix
restrictions: donations are suggested
author: Richid Jernigan / PO Box 827 / Norris TN 37828
how to get: ftp systems/unix/linux/sources/usr.bin/mbase.tar.z
from ftp.uu.net
updated: 1992/10/01
name: mSQL (Mini SQL)
version: 0.2
interfaces: ? and ESL, TCL/Tk, Perl, Python
access methods: ?
multiuser: ?
transactions: ?
distributed: no
query language: SQL and ESL
limits: ?
robustness: ?
description: Mini SQL or mSQL is a light weight database engine that
supports a subset of the ANSI SQL specification (no joins, no
views). It is a single proces engine and doesn't use vast
amounts of system resources as other engines do. It supports
client server operations over TCP/IP networks and provides
quite reasonable performance. As an example, on a clunky old
25mhz 386 running Linux (one of the supported platforms) a
sustained rate of 67 inserts per second was achieved during the
insertion of 100,000 table entries.
ESL is a C styled scripting language. It includes host
independant binary format for compiled scripts; associative
arrays (both transitory and persistent); and bindings to the
CMU-SNMP library.
discussion: msql-list-request@bond.edu.au
ports: Linux, SunOS 4.1, Solaris 2.3, Ultrix 4.3. Uses autoconf.
restrictions: ?
author: David Hughes <bambi@bond.edu.au>
how to get: ftp pub/Bond_Uni/Minerva/msql/ from Bond.edu.au
updated: 1994/09/08
name: Postgres
version: 4.2 beta
interfaces: libpq (C interface), pgbrowse (tk-based browser)
access methods: Heap plus secondary indexes: B-tree, R-tree, Hash.
multiuser: yes
transactions: yes
distributed: no
query language: Postquel (incompatable, extended variant of QUEL)
limits: ?
robustness: The authors say: "It is not up to commercial levels of
reliability. I would not want _my_ payroll records in it :-)"
description: Postgres is a database research project under Prof.
Michael
Stonebraker at U. C. Berkeley. To facilitate research
efforts, a software test-bed was created; this is the
"Postgres" DBMS software. The Postgres DBMS is extended
relational or object oriented, depending on the buzzword du
jour. Postgres is relational. It is highly extensible. It
has object oriented features like inheritance. it has query
language procedures, rules, updatable views, and more.
references: There are may papers available, both through ftp and as
hard-copy technical reports. Cruse the ftp site for papers
or mail Michelle Mattera <michelle@postgres.berkeley.edu>
discussion: send "Subject: ADD" to postgres-
request@postgres.berkeley.edu
linux: send "X-Mn-Admin: join postgres"
to linux-activists-request@niksula.hut.fi
bugs: <bug-postgres@postgres.berkeley.edu>
ports: full support: Alpha OSF/1 1.3+, Mips Ultrix .2+,
Sparc SunOS 4.1.1+, Power AIX 3.2.3+, HP-PA HP-UX 9.0+
comming soon: Sparc Solaris 2.3, i386 Linux
previous versions: i386 SVR4, i386 386BSD, i386 Linux,
i386 NextStep 3.1, NeXT NextStep 3.0,
Sparc Solaris 2.1+, HP-PA HP-UX 8.07
contact: developers: <postgres-questions@postgres>
admin: Michelle Mattera <michelle@postgres.berkeley.edu>
how to get: ftp pub/postgres/postgres-v4r2* from s2k-
ftp.CS.Berkeley.EDU.
pgbrowse: ftp pub/pgbrowse/* from crseo.ucsb.edu.
updated: 1994/04/02
name: REQUIEM
version: ?
interfaces: RQL, ERQL (extension)
access methods: B-tree indexes can be created on attributes of base
relations.
multiuser: yes (multiuser extension)
transactions: yes (multiuser extension)
distributed: no
query language: RQL
robustness: [seems to maintained by zero to few people --ed]
description: REQUIEM (RElational Query and Update Interactive systEM)
is
an extensible, relational DBMS developed in C with a query
language based on the relational algebra called RQL (Relational
Query Language).
There appears to be three versions of REQUIEM: the base
version and two extensions. One extension adds multiuser
capability. The other adds an embeddable version of the
query langauge.
references: "An Extensible DBMS for Small-Medium Scale Systems",
Papazoglou, M.P., IEEE Micro, April 1989.
Relational Database Management - A Systems Programming
Approach, Papazoglou, M.P. and Valder, W., Prentice Hall
International, UK, 1989.
"The Development of a Program Interface for the RDBMS Requiem"
Power, R.A., 1991 Honours Thesis (dvi file available with
source code for the embedded version).
ports: Sparc/SunOS; base version only: MS-DOS, Macintosh
contact: (embedded version only)
Robert Power <robert.power@csis.dit.csiro.au>
how to get: ftp pub/requiem/REQUIEM.tar.Z (multiuser version) or
pub/requiem/Requiem.tar.Z (embeddable version)
from dcssoft.anu.edu.au
The base version can be constructed from the multiuser version.
updated: 1992/10/06
name: shql
version: 1.3 Beta
interfaces: SQL, shell
multiuser: no
transactions: no ?
distributed: no
limits: no NULLs in the data, spaces and backslashes may be added
when
the data contains punctuation, GROUP BY is not implemented.
robustness: it is a shell script.
description: Shql is a program that reads SQL commands interactively
and
executes those commands by creating and manipulating Unix
files. The program is patterned after Ingres' interactive sql
terminal monitor program.
requires: bourne shell with functions, awk, grep, cut, sort, uniq,
join,
wc, and sed
author: Bruce Momjian <root%candle.uucp@bts.com>
how to get: comp.sources.misc volumes 34, 41 and 42.
Also ftp pub/net-sources/shql-patch-1.3-beta from ftp.idiom.com
updated: 1994/08/06
-----------------------------------------------------------------------
----
--------------------------- object oriented ---------------------------
----
úÿ
-----------------------------------------------------------------------
----
name: Arjuna Distributed Programming System
version: 2.0
interfaces: C++
access methods: ?
multiuser: yes
transactions: yes, nested
distributed: yes, includes replicated objects
query language: ?
limits: ?
robustness: "all reported bugs fixed"
description: Arjuna is a programming system for reliable distributed
computing. Arjuna supports nested atomic actions for
controlling operations on objects (instances of C++ classes),
which can potentially be persistent. The software available
includes a C++ stub generator which hides much of the details
of client-server based programming, plus a system programmer's
manual containing details of how to install Arjuna and use it
to build fault-tolerant distributed applications.
discussion: send "join arjuna YOUR-NAME-HERE" to
mailbase@mailbase.ac.uk
ports: UNIX: Suns, HPs, etc.
restrictions: A commercial extension exists.
contact: arjuna@newcastle.ac.uk
how to get: ftp ? from arjuna.ncl.ac.uk
updated: 1993/05/15
name: EXODUS Project software
version: GNU E 2.3.3, Storage Manager (SM) 3.1
interfaces: GNU E, (C++ for direct access to the Storage Manager)
access methods: B+tree and linear-hashing based indexes
multiuser: yes, client-server
transactions: yes, but not nested.
distributed: yes, applications can access multiple servers in a single
transaction. Distributed commits are performed across servers
and clients have access to an interface allowing participation
in distributed commits managed by an external agent.
query language: GNU E -- a persistent programming language based on
C++
robustness: High (at least for academic software).
The SM release includes a facility for regression
testing most features, including crash recovery.
description: The EXODUS Storage Manager (SM) is a client-server object
storage system which provides "storage objects" for storing
data, versions of objects, "files" for grouping related storage
objects, and indexes for supporting efficient object access. A
storage object is an uninterpreted container of bytes which can
range in size from a few bytes to hundreds of megabytes. The
Storage Manager provides routines to read, overwrite, and
efficiently grow and shrink objects. In addition, the Storage
Manager provides transactions, lock-based concurrency control,
and log-based recovery.
GNU E is a persistent, object oriented programming language
developed as part of the Exodus project. GNU E extends C++
with the notion of persistent data, program level data objects
that can be transparently used across multiple executions of a
program, or multiple programs, without explicit input and
output operations.
references: A bibliography of EXODUS related papers can be obtained
from
the ftp site described below. Some of the papers are available
from the ftp server as technical reports, and are marked as
such in the bibliography.
status: No longer being developed. However, the authors are working
on a new system, SHORE, and will support current Exodus
users well enough to keep them going until SHORE is useable.
GNU E 2.5.8 is in beta and can be ftped.
discussion: Send "information exodus_all" to listproc@cs.wisc.edu to
find out how to join the exodus_all mailing list.
bugs: exodusbugs@cs.wisc.edu
requires: g++ 2.3.3 (exactly 2.3.3. GNU E 2.5.8 is in beta)
ports: MIPS/Ultrix, SPARC/SunOS, HP 7xx/HP-UX, Linux
restrictions: none, but see copyright notice located in all source
files
author: The EXODUS Database Toolkit project at the
University of Wisconsin
contact: exodus@cs.wisc.edu
how to get: ftp exodus/* from ftp.cs.wisc.edu
updated: 1993/03/29
name: LINCKS (Linkoping Intelligent Communication of Knowledge
System)
version: 2.2.1
interfaces: C library, emacs-like editor/X11
access methods: ?
multiuser: yes
transactions: no
distributed: no, but maybe later
query language: hypertext-ish X user interface
robustness: The underlaying store handler (NODE) has been used since
'89
and is quite stable. The system have betweem 20 to 500 users.
description: LINCKS is an object-centred multi-user database system
developed for complex information system applications where
editing and browsing of information in the database is of
paramount importance. The focus is on sharing of small
information chunks which combine to make up complex information
objects used by different users for different purposes. The
information chunks are semi-structured in that they contain one
part which is well-structured to facilitate addition of A.I.
processing within the system, and one part which is
unstructured and suitable for management by the user.
Features: shared composite objects, database history,
atlernative views, change collision notification (when more
than one person makes changes to the same composite object)
references: ftp://ftp.ida.liu.se/pub/lincks/articles/cscw.ps.gz
announcements: lincks@ida.liu.se
discussion: lincks-users-request@ida.liu.se
bugs: lincks-bugs@ida.liu.se
requires: Unix, X11R5
ports: Sun4/SunOS 4.1.[123], Sun4/SunOS 5.2, Sun3, Decstation, Alpha,
RS/6000, Sequent Symmetry, Linux, HP-UX, SGI, SCO, SVR4.2, Sony
restrictions: GNU General Public License
author: Lin Padgham, Ralph Ronnquist; University of Linkoping, Sweden
contact: lincks@ida.liu.se
how to get: ftp pub/lincks/lincks-2.2.tar.gz from ftp.ida.liu.se
usa: ftp pub/database/lincks/lincks-2.2.tar.gz from ftp.uu.net
usa: ftp pub/net/infosys/lincks/lincks-2.2.tar.gz
from gatekeeper.dec.com
updated: 1994/06/05
name: OBST
version: 3-4
interfaces: C++, tcl, schema compiler, graphical object browser
access methods: extendable hashtable
multiuser: yes, but writing locks entire tables
transactions: yes
distributed: not yet
query language: C++, tcl, graphical object browser
limits: 4 GB per container, 2^32 containers
robustness: OBST is quite stable since the start of '93. Releases were
made to enhance the coding quality rather than to add new
features. There are somewhere between 50 and 500 users.
description: The persistent object management system OBST was
developed by
Forschungszentrum Informatik (FZI) as a contribution to the
STONE project (supported by grant no. ITS8902A7 from the BMFT,
i.e. the German Ministry for Research).
OBST was originally designed to serve as the common persistent
object store for the tools of an software engineering
environment.
An essential feature of STONE is that the object oriented
paradigm is pursued consequently as a key concept. OBST is the
common persistent object store for all tools within the STONE
environment.
OBST provides a rich OO model including multiple inheritance,
generics, overloading, and privacy. The schema definition
language is syntactically similar to C++. It comes with a
library of pre-defined classes like Set<Entity>, and
List<Entity>. New methods can be incrementally loaded at
runtime.
announcements: send 'add <your-address> obst-announce' to obst-
listserv@fzi.de
discussion: send 'add <your-address> obst-forum' to obst-
listserv@fzi.de
bugs: send OBST version, configuration options, C++ version, machine,
OS, and a description of your problem to <obst@fzi.de>.
requires: A C++ compiler (G++ 2.3.3-2.5.8 or AT&T 2.1/3.01)
ports: UNIX: SPARC/SunOS 4.1, Solaris 2, Linux, HP-UX, ...
contact: obst@fzi.de
how to get: ftp pub/OBST/OBST3-4 from ftp.fzi.de
usa: ftp pub/database/obst/? from ftp.uu.net
uk: ftp computing/databases/OBST/? from src.doc.ic.ac.uk
updated: 1994/06/29
name: pfl
version: 0.2
interfaces: Built-in persistent functional programming language
access methods: no
multiuser: no
transactions: no
distributed: no
query language: functional programming
limits: Index size is limited by the amount of main memory available.
Selectors are a bit flaky when they contain more than about
10,000 tuples. Since the current implementation of the
language is interpreted it is very slow.
robustness: alpha release
description: pfl is a persistent programming language and database
environment. The language is functional.
references: "An Overview of PFL", 3rd International Workshop on
Database
Programming Languages, 1991.
"A functional programming approach to deductive databases",
17th International Conference on Very Large Databases, 1991
bugs: SunOS: author, Linux: Tim Holmes <timh@psammead.demon.co.uk>
requires: GNU C++
ports: Linux, SunOS
restrictions: GNU General Public License; educational use ?
author: Carol Small <carol@dcs.bbk.ac.uk>
contact: Tim Holmes <timh@psammead.demon.co.uk>
how to get ftp pub/Linux/ALPHA/pfl-0.2.tgz from sunsite.unc.edu
updated: 1994/09/21
name: The Texas Persistent Store
version: 0.1
interfaces: C++ library
access methods: ?
multiuser: not yet
transactions: not yet
distributed: not yet
query language: ?
limits: ?
robustness: beta software
description: Texas is a simple, portable, high-performance persistent
store
for C++ using "pointer swizzling at page fault time" to
translate persistent addresses to hardware-supported virtual
addresses. Texas is built on top of a normal virtual memory,
and relies on the underlying virtual memory system for
caching. Texas is easy to use, and is implemented as a UNIX
library. It is small and can be linked into applications. It
requires no special operating system privileges, and
persistence is orthogonal to type---objects may be allocated on
either a conventional transient heap, or on the persistent
heap, as desired. Texas supports simple checkpointing of heap
data.
references: ftp pub/garbage/*.ps from cs.utexas.edu
announcements: send mail to oops@cs.utexas.edu
discussion: ?
bugs: ?
requires: ?
ports: SunOS, Ultrix, Sun CC, GNU C++
restrictions: ?
author: ?
contact: oops@cs.utexas.edu
how to get: ftp pub/garbage/texas/? from cs.utexas.edu
updated: ?
name: Triton Object-Oriented Database System
version: 1.1
interfaces: E, an Ada language binding.
access methods: uses Exodus
robustness: The support provided for Triton is limited. As resources
permit, reported bugs will be fixed. Triton is reasonably
robust and has been in daily use in Arcadia for several years
primarily supporting APPL/A and Amadeus.
description: Triton is an object-oriented database management system
designed to support the Arcadia software engineering
environment. It can be used as a general purpose DBMS, although
it has specialized features to support the software process
capabilities in Arcadia in the form of the APPL/A language.
Triton provides for multi-language access and sharing of data,
dynamic creation of classes (with methods) and objects, special
support for relations, and special support for triggers. Triton
uses a client-server architecture with data and methods held in
the server.
Triton is written in E, which is a persistent C++.
What Triton adds to Exodus is another interface and a lot
of higher-level functionality. This includes an Object Manager
shell (catalog, trigger manager, and application objects);
multi-language access and sharing; dynamic definition of
schema and classes; schema catalog; and triggers before and/or
after method invocations.
references: http://www.ics.uci.edu/Arcadia
requires: Exodus/E, DLD-3.2.3, Q 2.2, Arpc401.3a
restrictions: GNU General Public License [I presume --ed]
author: University of Colorado Arcadia Project.
contact: Dennis Heimbigner <dennis@cs.colorado.edu>
how to get: ftp pub/cs/distribs/arcadia/? from ftp.cs.colorado.edu
www: http://www.cs.colorado.edu/homes/arcadia/public_html/triton.html
updated: ?
name: William's Object Oriented Database (Wood)
version: 0.6
interfaces: MCL 2.0
access methods: custom
multiuser: no
transactions: no
distributed: no
query language: none. Has BTrees for indexing.
limits: Will slow down when the database size exceeds
256 megabytes. Otherwise, database size limited
by disk size (up to Macintosh limit, which is,
I believe, 4 gigabytes). Object size limited
to 24 megabytes. If you think of a Wood database
as a random access FASL file, you'll have the
right idea.
robustness: Until it has a real logging/recovery mechanism,
I wouldn't advise using it for mission critical
data. Caches pages in memory, so if you crash,
you will lose. Has a function to flush the
cache to disk, so you can do explicit checkpoints
to make it more robust.
description: Wood is a simple persistent store for MCL 2.0.
This is still alpha software. It is incomplete: though you can
save/restore all Lisp objects to/from a file, there is no
transaction/recovery manager and no garbage collector for the
persistent heap. I will not be able to provide much support,
but you get source code.
discussion: info-wood-request@cambridge.apple.com
bugs: bug-wood@cambridge.apple.com
ports: Macintosh CommonLisp 2.0
author: Bill St. Clair <bill@cambridge.apple.com>
how to get: ftp pub/mcl2/contrib/wood* from cambridge.apple.com
updated: 1993/03/07
-----------------------------------------------------------------------
----
--------------------------- deductive databases -----------------------
----
-----------------------------------------------------------------------
----
name: Aditi Deductive Database System
version: beta release
interfaces: motif, command line, NU-Prolog
access methods: Base relations contain variable sized records. Base
relations
can be indexed with B-trees or multi-level signature files
(superimposed code words) allowing multi-attribute indexing and
querying, or they can be stored as unindexed flat files.
multiuser: yes
transactions: next release
distributed: ?
query language: prolog, graphical (Motif)
limits: ?
robustness: ?
description: Aditi is a multi-user deductive database system. It
supports
base relations defined by facts (relations in the sense of
relational databases) and derived relations defined by rules
that specify how to compute new information from old
information. The old information can be from derived relations
as well as base relations; the rules of derived relations may
be recursive. Both base relations and the rules defining
derived relations are stored on disk and are accessed as
required during query evaluation.
ports: SPARC/SunOS, MIPS/IRIX
author: The development of the Aditi system started in 1988 by
Professor Kotagiri Ramamohanarao, and many people have been
involved in its development, in particular Jayen Vaghani, Tim
Leask, Peter Stuckey, John Shepherd, Zoltan Somogyi, James
Harland and David Kemp. The support of Kim Marriott, David
Keegel, and Warwick Harvey is also acknowledged.
contact: aditi@cs.mu.oz.au
how to get: send email to aditi@cs.mu.oz.au
updated: 1992/12/17
name: ConceptBase
version: V3.3
interfaces: Prolog, C, C++
access methods: TELL and ASK
multiuser: yes
transactions: primitive (no concurrency)
distributed: no (but can be extended to do so)
query language: CBQL ("query classes")
limits: system is rather slow for objects bases larger than
10000 objects
robustness: used by 100+ institutes, thereby quite robust
description: ConceptBase is a deductive object base manager, i.e., it
combines object-oriented principles with logical deduction.
references: see WorldWideWeb entry:
<http://www.informatik.rwth-aachen.de/I5/CBdoc/cbflyer.html>
bugs: CB@picasso.informatik.rwth-aachen.de
ports: SunOS 4.1.3, Solaris 2.3 (both on SunSPARC)
restrictions: ConceptBase is distributed by "contact", only. It is not
public domain. The source agreeement prohibits commercial
and military use.
author: ConceptBase Team
contact: <jeusfeld@informatik.rwth-aachen.de>
ConceptBase Team, c/o Manfred Jeusfeld, RWTH Aachen,
Informatik V,
Ahornstr. 55, 52056 Aachen, Germany
how to get: ftp /pub/CB from ftp.informatik.rwth-aachen.de
updated: 1994/06/08
name: CORAL
version: 0.1 (Version 1.0 expected shortly)
interfaces: Exodus storage mangager, C++
access methods: Hash-based and B+ tree indices
multiuser: When used with Exodus
transactions: When used with Exodus
distributed: ?
query language: Prolog-like with SQL-style extensions; C++ interface
limits: No type checking; only atomic values in persistent relations
robustness: Research software; used for teaching and in research
projects,
but some bugs remain
description: The CORAL deductive database/logic programming system was
developed at the University of Wisconsin-Madison. The CORAL
declarative language is based on Horn-clause rules with
extensions like SQL's group-by and aggregation operators, and
uses a Prolog-like syntax. Many evaluation techniques are
supported, including bottom-up fixpoint evaluation and top-down
backtracking. Disk-resident data is supported via an interface
to the Exodus storage manager; however, CORAL can run without
Exodus if disk-resident relations are not required.
A good interface to C++ is provided. Relations defined using
the declarative language can be manipulated from C++ code,
and relations defined using C++ code can be used in declarative
rules. C++ code defining relations can be incrementally loaded.
requires: AT&T C++ 2.0 or later
ports: Decstations, Sun 4, Sparc, HP Snakes
author: The CORAL group consists of R. Ramakrishnan, P. Seshadri,
D. Srivastava and S. Sudarshan. The following people made
important contributions: T. Arora, P. Bothner, V. Karra
and W.G. Roth. Several other people were also involved:
J. Albert, T. Ball, L. Chan, M. Das, S. Goyal, R. Netzer
and S. Sterner.
contact: Raghu Ramakrishnan <raghu@ricotta.cs.wisc.edu>
how to get: ftp from ftp.cs.wisc.edu
updated: 1993/02/12
name: MOOD5 (Material's Object-Oriented Database)
version: 1.0
interfaces: Virtually none.
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: Query-by-example object retrieval + some
limits: The database is memory resident when in use and cannot
exceed 16MB.
robustness: Operation is fairly stable but by no means for
mission-critical data. Mostly useful for experimentation.
description: MOOD5 is an object-oriented database system written in
Prolog.
úÿ
Unlike other general purpose OODBS, the system is meant to be
used by non-programmer end-users with its unified user
interface named the Object-Editor, or OE, in short. Therefore,
the program may better be described as an OODB application. It
is developed for the purpose of exprimenting the power of OODB
in dealing with complex material data. As a result, it contains
may novel features which are considered to be necessary to
support material database practice such as the reasoning for
data retrieval, the support of literal expressions for physical
quantities, and so on. Interest from engineers/scientists who
are to deal with a bulk of experimental data (not only from
materials) and programmers in association with them are very
much appreciated.
announcements: comp.databases.object, sci.materials
discussion: author
bugs: author
ports: IBM/NEC-PC/MS-DOS
author: Noboru Ono <ono@mood.mech.tohoku.ac.jp>
how to get: ftp pub/mood from mood.mech.tohoku.ac.jp
usa: ftp pub/database/mood from ftp.uu.net
uk: ftp pub/computing/databases/mood from src.doc.ic.ac.uk
updated: 1994/05/17
-----------------------------------------------------------------------
----
--------------------------- special purpose ---------------------------
----
-----------------------------------------------------------------------
----
name: GRAS (GRAph-oriented database System)
version: 5.90/9 [[6.0 alpha]]
interfaces: Navigational programming interfaces for C and Modula-2
access methods: tries fro database pages, static hashing within pages
multiuser: Very restricted single writer/multiple reader access
[[6.0: shared read/write access with locks on a per-session,
transaction, or operation basis]]
transactions: yes; based on backwards logs. Checkpoints allow roll-
back (and
roll-forward) to a previous state.
distributed: no. [[6.0: Multiclient/multiserver architecture]]
query language: PROGRES (PROgrammed Graph Rewriting Systems; a
language
released
separately)
limits: 2**16 nodes per database and 2**16 databases per multi-
database
[[6.0: 2**32 nodes]]
robustness: Has been successfully used as the underlying database for
a number of research prototypes and one commercial product.
Guarantees recovery from (almost) all application/system crashes
description: GRAS is a database system which has been designed
according
to the requirements resulting from software engineering
applications. Software development environments are composed
of tools which operate on complex, highly structured data.
In order to model such data in a natural way, we have selected
attributed graphs as GRAS' underlying data model.
The current version has programming interfaces for Modula-2 and
C and supports:
- persistent attributed, directed node- and edge-labeled
graphs (including long attributes and indexes)
- temporary/volatile generic sets, binary relations, and lists,
- graph modification triggers causing further modifications
- primitives for version control comprising the capability
for efficiently storing graphs as forward/backward deltas
- primitives for declaring graph schemes and for incremental
evaluation of derived attributes (constraints).
In additon, there are tools for compressing and displaying
graphs. The GRAS system may be considered to be the core of a
graph oriented DBMS environment. The environment is based on a
VHLL called PROGRESS. This environment supports: a
syntax-directed editor for graph schemes, rewrite rules and
sequences of rules; an incremental consistency checker; an
incremental compiler&interpreter for PROGRESS; an enhanced
graph browser
references: Kiesel, Schuerr, Westfechtel: GRAS, A Graph-Oriented
Database
System for (Software) Engineering Applications. Proc. CASE 93,
Lee, Reid, Jarzabek (eds.): Proc. CASE '93, 6th Int. Conf. on
Computer-Aided Software Engineering, IEEE Computer Society
Press (1993), pp 272-286. Available by ftp as TR AIB 92-44.
Schuerr: PROGRES: A VHL-Language Based on Graph Grammars,
in Proc. 4th Int. Workshop on Graph-Grammars and Their
Application to Computer Science, LNCS 532, Springer-
Verlag 1991, pp 641-659. Available by ftp asTR AIB 90-16.
announcements: a list is forming; send mail to the contact (below)
bugs: use the included "send-pr" program to send bug reports
requires: Modula-2, C
ports: Sun-4, porting requires Modula-2
restrictions: GNU General Public License
author: Lehrstuhl fuer Informatik III, RWTH Aachen, Ahornstr. 55
D-52074 Aachen, Germany.
contact: (v5.x & PROGRES) Dr. Andy Sch"urr <andy@i3.informatik.rwth-
aachen.de>
(v6.x) Norbert Kiesel <norbert@i3.informatik.rwth-aachen.de>
how to get: (v5.x) ftp pub/unix/GRAS from ftp.informatik.rwth-
aachen.de
(PROGRES sun4) ftp pub/unix/PROGRES from ftp.informatik.rwth-
aachen.de
(PROGRES source) send mail to contact
(references) ftp pub/reports/* from ftp.informatik.rwth-aachen.de
(v6.x) contact Norbert Kiesel <norbert@i3.informatik.rwth-aachen.de>
updated: 1993/11/01
-----------------------------------------------------------------------
----
--------------------------- flat files --------------------------------
----
-----------------------------------------------------------------------
----
name: AddressManager
version: 0.1
interfaces: Tcl/Tk
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: A graphical rolodex
requires: wish
author: Chunping Ding <ding@vail.levels.unisa.edu.au>
how to get: ftp pub/addressManager.tar.gz from banff.cssip.edu.au
usa: ftp pub/tcl/code/addressManager.* from harbor.ecn.purdue.edu
updated: 1994/05/12
name: EDB, the Emacs database
version: 1.19
interfaces: Emacs, Emacs Lisp
multiuser: no
transactions: no
distributed: no
query language: Emacs Lisp
limits: same as for Emacs -- typically 8 or 32 MB
robustness: fairly high -- currently being used for mission-critical
data
description: EDB provides simple database access in a "user-friendly"
Emacs
environment for flat files. Extensions for linking records and
relational-like operations exist, and further extensions are
easy to make.
EDB is documented by a 110-page manual, complete with indices
discussion: edb-list-request@theory.lcs.mit.edu
bugs: mernst@theory.lcs.mit.edu or edb-list@theory.lcs.mit.edu
requires: GNU Emacs 18, GNU Emacs 19, or Lucid Emacs
ports: any computer that runs Emacs -- that is, almost any computer
restrictions: GNU Public License
author: Michael Ernst <mernst@theory.lcs.mit.edu>
how to get: ftp pub/emacs/edb/edb-*.tar.gz from theory.lcs.mit.edu
updated: 1994/11/15
name: grok (Graphical Resource Organizer Kit)
version: ?
interfaces: query language, GUI, GUI builder
access methods: ?
multiuser: ?
transactions: no
distributed: no
query language: custom
limits: ?
robustness: ?
description: Grok is a simple database manager and UI builder that can
keep
phone lists; store phone call logs; store todo lists; and
manage any other database after simple GUI-driven
customization.
More precisely, grok is a program for displaying and editing
strings arranged in a grid of rows and columns. Each row is
presented as a "card" consisting of multiple columns, or
"fields", that allow data entry. The presentation of the data
is programmable; a user interface builder that allows the user
to arrange fields on a card graphically is part of grok. Grok
also supports a simple language that allows sophisticated
queries and data retrieval.
ports: IRIX, HP-UX, AIX.
restrictions: ?
author: Thomas Driemeyer <thomas@bitrot.in-berlin.de>
how to get: author is looking for ftp site
updated: 1994/10/31
name: Jinx
version: 2.1
interfaces: perl, shell
multiuser: no
transactions: no
distributed: no
query language: none
limits: no limits
robustness: No bugs have ever been reported
description: Very easy to use, curses based flat file handler.
In Perl, so no limits. Allows Join, Project, Sort etc.
Representation in 2 readable unix files. A documented
Perl library makes it easy to add applications.
references: Online help and a 17 page tutorial.
requires: Perl, cterm (distributed with jinx)
ports: any unix system with ordinary perl and curses
restrictions: Copyleft
author: Henk Penning, Utrecht University
contact: Henk Penning <henkp@cs.ruu.nl>
how to get: ftp pub/PERL/jinx.shar.Z and pub/PERL/cterm.shar.Z
from ftp.cs.ruu.nl
updated: 1991/11/01
name: rdb
version: 2.5k
interfaces: perl, shell, UNIX tools
access methods: binary search, linear scan
multiuser: restricted single writer/multiple reader access
transactions: no
distributed: no
query language: none
limits: no limits
robustness: Is being used on many research projects; no known bugs.
description: RDB is a fast, portable, Relational DataBase Management
System
that works with relational data in ascii files.
RDB is a set of Perl modules working as filters, like "row",
"column" & "join" ; a very nifty table formatting script is in
"ptbl", which can do long field folding into multiple lines per
row. Also includes a general report generation capability.
references: Included documentation; Each module has online help.
announcements: comp.lang.perl; also author email list of current
users.
discussion: author
ports: any unix system (or other OS with redirection of I/O).
author: Walt Hobbs <hobbs@rand.org>
how to get: ftp pub/RDB-hobbs/RDB-2.5j.tar.Z from rand.org
updated: 1994/06/20
-----------------------------------------------------------------------
----
----------------- dbm and other and raw access methods ----------------
---
-----------------------------------------------------------------------
----
name: The Berkeley DB code
version: 1.85
interfaces: ndbm, hsearch
access methods: hash, b+tree, recno
multiuser: no
transactions: no
distributed: no
query language: none
limits: can handle large items
robustness: The db routines are used in some production code so they
are likely to work reasonably well.
description: The Berkeley DB Code is a unification of several previous
interfaces. It also forms the basis of a unified interface
to new access methods (b+tree, recno).
references: "A New Hashing Package for UNIX", Margo Seltzer, Ozan
Yigit,
Proceedings of the Winter USENIX Conference, Dallas, TX, 1991.
Also available by ftp'ing pub/oz/hash.ps.Z from nexus.yorku.ca.
"Document Processing in a Relational Database System, Michael
Stonebraker," Heidi Stettner, Joseph Kalash, Antonin Guttman,
Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982.
"LIBTP: Portable, Modular Transactions for UNIX," Margo
Seltzer, Michael Olson, Proceedings 1992 Winter Usenix
Conference, San Francisco, CA, January 1992.
reported bugs: does not align data in memory [fixed? --ed]
ports: SunOS 4.1.2, Ultrix 4.2A, BSD 4.4, and most other Unix
author: Margo Seltzer, Keith Bostic, Ozan Yigit
contact: Keith Bostic <bostic@cs.berkeley.edu>
how to get: ftp ucb/4bsd/db.tar.gz from ftp.cs.berkeley.edu
updated: 1994/09/01
name: Btree Library
version: first public release
interfaces: raw C library
access methods: b-tree
multiuser: no
transactions: no
distributed: no
query language: none
limits: values are limited to 4 bytes (long enough for a pointer!)
robustness: ?
description: Ths is a library that maintains a simple balanced btree
index.
Nothing more is provided than routines to insert, set, find
(specific, next, and previous), and delete keys. Each key,
however, has a spare long value that can be used to contain an
offset to a data file. A library to handle fixed-length records
based on these pointers should be trivial. (Can you say
'dBASEIII'?) Another failing of this library is its total
inability to cope with having several programs modifying
indices at the same time. (it *CAN*, but I won't vouch for the
result) The good solutions to that particular problem are OS
dependent, unfortunately, and I am not a database guru anyhow.
ports: Unix
author: Marcus J. Ranum <mjr@umiacs.UMD.EDU>
how to get: get btree and bt-rio from comp.sources.misc volume 3
updated: 1988/06/02
name: B+tree Library
version: first public release
interfaces: raw C library, dbm-like library
access methods: b+tree
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: This is the source code for a variable-length key
variable page
size b+tree library. Also included is source for a variety of
test programs, a semi-useable record manager, and a
dbm-lookalike library built on top of the record manager and
b+tree. (dbm(3) will blow it away performance-wise, of
course).
ports: Pyramid, Sun, BSD4.3, Ultrix. Does not work on Xenix
author: Marcus J. Ranum <mjr@umiacs.UMD.EDU>
how to get: get b+tree_mgr from comp.sources.misc volume 10
updated: 1988/06/02
name: cbase
version: 102
interfaces: C
access methods: ISAM
multiuser: no
transactions: ?
distributed: no
query language: none
limits: ?
robustness: ?
description: A database library (ISAM like).
ports: MS-DOS
restrictions: ?
contact: ?
how to get: ftp pub3c/SimTel/msdos/c/cbase102.zip from ftp.ibp.fr
updated: ?
name: dbc3
version: 1.0
interfaces: raw C library
access methods: ?
multiuser: no
transactions: ?
distributed: no
query language: none
limits: ?
robustness: ?
description: Dbclib provides a basic C interface to the database files
used by dBase III. It provides funtions to both read and
write them. The author is German and so all the comments are
in German. It's very small (95k). [I'm not sure I have
the name correct --ed]
ports: Unix, MS-DOS
author: D.Schanz
how to get: uucp (host gold, login nuucp, no password, phone 08106-
34593)
/home/public/unxhigh/unix1/dbclib.tgz; or
ftp pub/pc/dos/programming/c/dbclib.tar.gz from ftp.uni-kl.de
updated: 1988/09/13
name: dbz
version: "20 Feb 1993 Performance Release of C News"
interfaces: dbm-like, command-line access
access methods: hash
multiuser: no
transactions: no
distributed: no
query language: none
limits: lines are limited to 1024 bytes unless the -l option is used
robustness: very robust within its domain
description: A dbm-like library maintained for use with C-news.
ports: everything that runs C-news (lots)
author: Jon Zeeff <zeeff@b-tech.ann-arbor.mi.us>, David Butler, Mark
Moraes, Henry Spencer. Hashing function by Peter Honeyman.
contact: Henry Spencer <henry@zoo.toronto.edu>
how to get: included in the C-news distribution as ./dbz
updated: 1992/02/11
name: gdbm
version: 1.7.3
interfaces: dbm, ndbm, gdbm
access methods: hash
multiuser: no, but does lock the entire file
transactions: no
distributed: no
query language: none
limits: can handle large items
robustness: [should be good --ed]
description: An ndbm work-alike from the Free Software Foundation
bugs: gnu.utils.bug
author: Philip A. Nelson <phil@wwu.edu>
how to get: ftp gdbm-*.tar.gz from any gnu archive
updated: 1994/05/18
name: HDS (Hierarchical Data System)
version: ?
interfaces: Fortran, C?
access methods: ?
multiuser: ?
transactions: ?
distributed: no
query language: ?
limits: ?
robustness: ?
description: [This is probably just a library, but it may be a full
database --ed]
A library for storing large multi-dimensional arrays where
efficiency of access is a requirement.
It is presently used in astronomy, for storing (in particular)
images, spectra and time series.
references: http://star-www.rl.ac.uk/
ports: Alpha OSF/1, Sparc SunOS, Sparc Solaris
restrictions: ?
contact: ? mdl@star.rl.ac.uk ?
how to get: ftp pub/doc/star-docs/sun92.tex from starlink-ftp.rl.ac.uk
updated: ?
name: IDBM (ISAM Database Manager)
version: 0.2.0
interfaces: C library, curses query facility
access methods: ISAM
multiuser: no
transactions: no ?
distributed: no
query language: none
limits: ?
robustness: beta release
description: IDBM is a fairly complete ISAM database system. It
includes
a database library, a schema compiler, a database consistaency
úÿ
checker, import and export routines, and curses programs to
modify the database schema and the data in the database.
references: ?
announcements: ?
discussion: ?
bugs: ?
requires: ?
ports: Xenix, SysV, HP-UX, AIX, Amiga, SunOS, BSD, and Ultrix
restrictions: May not be used for commercial purposes.
author: John F Haugh II <jfh@rpp386.cactus.org>
contact: ?
how to get: ftp pub/idbm/idbm-0.2.x/* from ftp.nevada.edu
updated: 1992/03/31
name: sdbm
version: ?
interfaces: ndbm
access methods: hash
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: [I know of no problems --ed]
description: ndbm work-alike hashed database library based
on Per-Aake Larson's Dynamic Hashing algorithms.
author: Ozan S. Yigit <oz@nexus.yorku.ca>
how to get: included in the X11R5 distribution as contrib/util/sdbm
updated: 1990/03/01
name: tdbm
version: 1.2
interfaces: dbm-like
access methods: hashing
multiuser: In theory, but the required threads package is not
currently
distributed.
transactions: yes
distributed: yes
query language: none
limits: Some minor ones.
robustness: Probably pretty reliable, but no hard data available.
description: Tdbm is a transaction processing database with a dbm-like
interface. It provides nested atomic transactions, volatile
and persistent databases, and support for very large objects
and distributed operation.
references: A paper appearing in the Summer '92 USENIX proceedings
describes the design and implementation of tdbm and examines
its performance.
discussion: Contact the author.
bugs: Contact the author.
author: Barry Brachman <brachman@cs.ubc.ca>
requires: Nothing special.
ports: Sparc, MIPS, AIX. Thought to be quite portable.
restrictions: Copyrighted with liberal use policy.
how to get: ftp pub/local/src/tdbm-1.2.tar.gz from ftp.cs.ubc.ca
updated: 1994/07/06
name: Wb
version: 1a2
interfaces: scheme library
access method: b-tree
multiuser: no
transactions: no
distributed: no
query language: none
limits: keys and data must be less that 256 bytes. Total database
must be < blocksize*2^32.
robustness: unknown. New release by a good programmer.
description: WB is a disk based, sorted associative array C library.
These
associative arrays consist of variable length (less that 256
bytes) keys and values. WB comes with an interface to the
Scheme implementation SCM.
author: Aubrey Jaffer <jaffer@martigny.ai.mit.edu>
requires: SCM and SLIB (also available from altdorf.ai.mit.edu)
ports: ?
how to get: ftp archive/scm/wb1a2.tar.z from altdorf.ai.mit.edu
updated: 1993/11/05
name: YACL (Yet Another Class Library)
version: ?
interfaces: C++ library
access methods: variable-length record management, b-trees.
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: YACL is a general-purpose C++ class library. It happens
to include some disk access methods.
ports: MS Windows, Linux
restrictions: Commercial use prohibited.
author: M. A. Sridhar <sridhar@usceast.cs.scarolina.edu>
how to get: ftp pub/sridhar/yacl.zip from ftp.cs.scarolina.edu
updated: 1994/05/25
-----------------------------------------------------------------------
----
--------------------------- full text ---------------------------------
----
-----------------------------------------------------------------------
----
name: glimpse
version: 1.0
interfaces: command line
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: logical conjunctions in command line searches
index size: 2-4%
limits: does not work well with source text larger than 500MB
robustness: ?
description: Glimpse is a text pre-scanning and query tool. It builds
a database of which files a word is used in. When you want
to search for a word, it knows ahead of time where it needs
to look. This allows it to give very quick results without
storing a large inverted index.
references: U. Manber and S. Wu, "GLIMPSE: A Tool to Search Through
Entire
File Systems," Usenix Winter 1994 Technical Conference, San
Francisco (January 1994), pp. 23-32. Also, Technical Report
#TR 93-34, Dept. of Computer Science, University of Arizona,
October 1993 (a postscript file is available by anonymous ftp
at cs.arizona.edu:reports/1993/TR93-34.ps).
S. Wu and U. Manber, "Fast Text Searching Allowing Errors,"
Communications of the ACM 35 (October 1992), pp. 83-91.
discussion: glimpse-request@cs.arizona.edu
ports: portable, binaries provided for sun, mips, linux and alpha
author: Udi Manber, Sun Wu, and Burra Gopal, Department of Computer
Science, University of Arizona.
contact: glimpse@cs.arizona.edu
how to get: ftp glimpse/* from cs.arizona.edu
updated: 1994/04/27
name: Liam Quin's text retrieval package (lq-text)
version: 1.13
interfaces: command line, curses
access methods: hash (dbm) plus clustered linked list
multiuser: read only
distributed: no, can be used over nfs if the systems are similar
query language: very limited command line
limits: 30-bit max document size, 31-bit distinct words in
vocabulary,
up to 2^24 documents (possibly more but I don't have enough
disk to test anything like that!)
index size: >30%, <100% of input text
robustness: The README says that there are bugs.
description: lq-text is a text retrieval package.
That means you can tell it about lots of files, and later you
can ask it questions about them. The questions have to be:
"which files contain this word?" or "which files contain this
phrase?", but this information turns out to be rather useful.
Lqtext has been designed to be reasonably fast. It uses an
inverted index, which is simply a kind of database. This tends
to be smaller than the size of the data, but more than half as
large. You still need to keep the original data.
Lqtext uses dbm (berkeley db or sdbm) to store its indexes.
discussion: lq-text-beta-request@sq.com
bugs: lq-text-beta@sq.com
ports: most version of unix (except SCO)
restrictions: permission required for commercial use.
author: Liam R. E. Quin <lee@sq.com>
how to get: ftp pub/lq-text*.tar.Z from relay.cs.toronto.edu
updated: 1993/12/10
name: mg
version: 1.0
interfaces: command line interpreter, X (tcl)
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: boolean and ranked queries using cosine similarity
measure
index size: 5-15% of text being indexed, depending on document size
and
richness of vocabulary. Text is also stored compressed,
requires around 25-30% of original size. Complete retrieval
system requires 30-45% of original text size.
limits: Will probably fail when used with > 4Gb
robustness: It is a research prototype, and as such there are no
guarantees. Don't rely on it as a primary archive tool; but it
is very useful as an adjunct to other storage mechanisms for
e.g. maintaining a personal mail retrieval system. And, of
course, for research purposes.
description: mg compresses and indexes documents and images (indexed
by
user-supplied textual description). All components are stored
compressed: text by a word-based method that reduces the space
requiremnent to around 25% of input; images by one of three
different methods (FELICS, Textual Image Compression, two-level
image compression); and index using index compression methods.
The package also includes a mechanism for fast and economical
creation of the index in thge first place. It requires about 8
hours (Sun SPARC 10 Model 512) to compress and index 2 Gb of
text (the TREC collection); final retrieval system requires
about 700 Mb to operate. Multi-term Boolean and ranked queries
are answered within seconds.
references: "Managing gigabytes: compressing and indexing documents
and
images", Witten, Moffat, and Bell, Van Nostrand Reinhold, 1994,
ISBN 0-442-01863-0.
"Compression and fast indexing for multi-gigabyte text
databases", Moffat and Zobel, Australian Computer Journal,
26(1):1-9, February 1994.
status: actively-develped research prototype. Support of public use
is not a priority.
ports: SunOS, Solaris, SGI, Ultrix, NeXT.
restrictions: GNU General Public License
author: Tim Bell <tim@cosc.canterbury.ac.nz>, Stuart Inglis
<singlis@waikato.ac.nz>, Alistair Moffat
<alistair@cs.mu.oz.au>, Neil Sharman <neil@kbs.citri.edu.au>,
Tim Shimmin <tes@kbs.citri.edu.au>, Ian Witten
<ihw@waikato.ac.nz>, Justin Zobel <jz@cs.rmit.oz.au>, and
others.
contact: Alistair Moffat <alistair@cs.mu.oz.au>
how to get: ftp pub/mg from munnari.oz.au
updated: 1994/03
name: qt (Query Text)
version: 0.1
interfaces: unix command line
access methods: ?
multiuser: no
distributed: no
query language: unix command line
index size: ?
limits: ?
robustness: ?
description: Qt creates, maintains, and queries a full text database.
The
database file system is organized as an inverted index. The
program is written as a single script, in Bourne Shell, and
permits simple natural language queries.
[qt appears to be easier to use than lq-text and wais --ed]
bugs: author
ports: Unix, SysV.4, AIX, OSF/1, etc.
author: John Conover <john@johncon.com>
how to get: comp.sources.unix volume 27
updated: 1993/10/18
name: SMART
version: 11.0
interfaces: terminal, X (slightly oder version), and several
under development including Z39.50
access methods: inverted file search or sequential search
multiuser: yes, but last writer wins when there are update conflicts
distributed: In-house version, to be made public in fall
query language: Natural language
index size: approx 40% of original text.
limits: Can only handle roughly 4 Gbytes of text in
non-distributed version.
robustness: Research tool; parts have been well-tested but others not.
description: SMART is an implementation of the vector-space model of
information retrieval proposed by Salton back in the 60's. The
primary purpose of SMART is to provide a framework in which to
conduct information retrieval research. Standard versions of
indexing, retrieval, and evaluation are provided.
The system is designed to be used for small to medium scale
collections, and offers reasonable speed and support for these
actual applications.
SMART analyses the collection of information and builds
indexes. It can then be used to build natural-language based
information retrieval software. It uses feedback from the
user to tighten its search.
references: Z39.50 URL: <http://ds.internic.net/z3950/z3950.html>
restrictions: Research use only.
discussion: smart-people-request@cs.cornell.edu
ports: Unix (works under Linux, does not work under Ultrix, ?)
contact: <chrisb@cs.cornell.edu>
how to get: ftp pub/smart/* from ftp.cs.cornell.edu
updated: 1992/07/21
name: WAIS (Wide Area Information Server)
version: 8 b5.1
interfaces: the wais protocol (Z39.50)
access methods: inverted string index
multiuser: read only
distributed: client/server
query language: natural language, boolean, Relevance Feedback
index size: roughtly = data size
limits: "none"
robustness: fairly high
description: There are three main components: WAISINDEX, WAISSERVER,
and
WAISSEARCH.
WAISINDEX creates an inverted file index. WAISINDEX includes
filters for a number of common file formats.
WAISSERVER listens for Z39.50 packets and tries to answer
them.
WAISSEARCH is the user agent that talks to WAISSERVERs. There
are several front ends: shell, X, and emacs.
announcements: wais-interest-request@think.com
discussion: wais-discussion-request@think.com
ports: vax, sun-3, sun-4, NeXT, sysV
restriction: commercial version exists, contact info@wais.com
author: Harry Morris <Morris@wais.com>, Brewster Kahle
<Brewster@wais.com>, Jonny Goldman <Jonathan@Think.COM>
how to get: ftp pub/freeware/unix-src/* from wais.com
updated: 1992/11/16
-----------------------------------------------------------------------
----
--------------------------- interfaces --------------------------------
----
-----------------------------------------------------------------------
----
name: AdaSAGE
version: ?
interfaces: SQL, embedded SQL.
transactions: yes
distributed: ?
query language: SQL
robustness: ?
description: AdaSAGE is not a DBMS.
AdaSAGE is an application development tool that provides
facilities for creating an application specific relational data
base. There are two aspects of SQL dialog to consider. First is
listening to SQL and responding by executing the requested
command. Second is issuing SQL to get a foreign system to
execute some process on your behalf. In the first case AdaSAGE
provides both an embedded SQL technology and an interactive SQL
system adapted to comply with ANSI-SQL DML Level 1. In the
second case AdaSAGE does not provide any capabilities for
creating SQL commands, but since AdaSAGE is a set of Ada
packages there is no reason that a package could not be
developed to do so.
The capability to record all transactions and roll forward from
previous dates gives an audit trail and recover capability.
These features are often provided within data base management
systems, and are provided with AdaSAGE as a logging option, but
seldom if ever are they used in final applications because of
the excessive time and data storage requirements.
references: ?
announcements: ?
discussion: ?
bugs: ?
requires: Ada
ports: MS-DOS, UNIX
restrictions: Use restricted to US DoD, DoE and educational
institutions.
contact: ?
how to get: ftp pub/sage/* from navair1.inel.gov
updated: ?
name: CB++
version: 0.1
interface from: C/C++
interface to: SunOS/Oracle (DOS+Windows/Oracle,Gupta, OS/2 Sybase)
description: CB++ provides a plain C/C++ interface (not embedded) for
SQL
database server access. It was written in 1989 as a basis for
storing C++ objects in a relational database. It is very
simple to use and makes applications portable among different
SQL databases. The library itself is relatively easy to port
as the database vendor specific code is separated into a single
C++ class which makes up only a limited part of the library.
The author supports the current SunOS/Oracle version and
server ports to other UNIX databases (DOS-, Windows-, OS/2-stuff
is provided as it is and no longer supported)
requires: C++
ports: Oracle 6 for SunOS 4.1.3,
Gupta SQL Server for DOS/MS-Windows, OS/2 SQL Server
author: Bernhard Strassl <bernhard@ani.univie.ac.at>
how to get: ftp R5contrib/CB++.0.1.tar.Z from ftp.x.org
updated: 1993/10/05
name: ciORA
version: alpha
interface from: C
interface to: Oracle
query language: ?
robustness: ?
description: ciORA is a set of C interface routines to Oracle that are
modeled after the standard I/O portion of the C library. ciORA
presents a familiar interface to an experienced C programmer by
avoiding the awkward embedding of SQL statements using
precompilers and the tedium of using low-level OCI calls.
ciORA eliminates the need for precompilers by supplying an
interface library providing equivalent functions. It also
provides a higher level of abstraction to the functions in the
Oracle Call Interface (OCI). ciORA manages (and hides) the
tedious details necessary when writing programs using OCI by
replacing the cumbersome Oracle constructs such as logon data
areas, cursor data areas, and external datatypes, the Oracle
array interface, bind variables, select-list-items, and the
like with constructs familiar to a C programmer using the
standard I/O portion of the C library. ciORA also provides a
consistent interface to Oracle errors similar to the convention
used in C's errno.
requires: Oracle
ports: IRIX 5.2, Oracle 7.0.15.4.0
restrictions: GNU General Public License
author: Zane Dodson <dodson@aquila.plk.af.mil>
how to get: email author
updated: 1994/09/10
name: cisamperl
version: 0.9
interface from: perl
interface to: Informix C-ISAM 3.1 library
limits: ?
robustness: ?
description: cisamperl/rocisperl is a package, which implements an
interface
to the INFORMIX C-ISAM library for perl. It is coded as an usub
(see perl documentation) and needs to be compiled with perl and
the C-ISAM library to form 2 separate executables called
cisamperl and rocisperl respectively. cisamperl is a fully
functioning (unless I forgot something) perl executable with
calls for C-ISAM file access added. rocisperl is the same,
with all calls that create/modify/delete C-ISAM files or
records disabled.
requires: C-ISAM 3.1, perl4
ports: ?
úÿ
author: Mathias Koerber <Mathias.Koerber@swi.com.sg>
how to get: ftp pub/perl/db/perl4/cisamperl/cisamperl-* from
ftp.demon.co.uk
updated: 1994/10/29
name: ctreeperl
version: ?
interface from: perl
interface to: FairCom Ctree
description: A perl interface for FairCom Ctree file indexing.
requires: Ctree
author: John Conover <john@johncon.com>
how to get: ftp pub/perl/db/ctreeperl from ftp.demon.co.uk
updated: 1994/04/07
name: dbf (xbase manipulation package)
version: ?
interface from: command line
interface to: xbase files
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: none
limits: ?
robustness: ?
description: DBF is a set of tools and library routines to manipulate
xbase
files. The tools allow xbase files to be created and
manipulated from the command line.
author: Brad Eacker <beacker@sgi.com>
how to get: comp.sources.misc volume 43
updated: 1994/06/27
name: DSQL
version: 3.0
interface from: Unix, Macintosh, MS-DOS, MS-Windows, and Macintosh
Hypercard
interface to: Unix/Informix, VMS/Oracle
description: DSQL is a simple client/server protocol to support remote
access of SQL databases. DSQL was designed in response to a
perceived need at Genentech to provide graphical front-ends on
Macintosh computers to Informix relational databases running on
Unix servers. DSQL version 3 is distributed with 2 server
implementations and four client library implementations. The
API for the client libraries has been standardized, and the
client code is divided into portable and architecture-specific
portions.
requires: ?
ports: Mac, PC, Unix
author: The Genentech Scientific Computing Technology Development
group. Original authors: David Mischel, Terry Oberzeir,
Scooter Morris <scooter@tinman.gene.com>, Kathryn Woods.
Current team: Jim Fitzgerald, David Mischel, Scooter Morris,
Terry Oberzier, and Dan Lamb (VMS/Oracle).
contact: ?
how to get: ftp pub/dsql.3.tar.Z from cgl.ucsf.edu
updated: 1993/06/25
name: Ingperl
version: 2.0
interface from: perl
interface to: Ingres
descritpion: Ingperl is a set of user subroutines to enable Perl
programs to
access Ingres databases. Ingperl used to be called Sqlperl.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Ted Lemon <mellon@ncd.com>
how to get: ftp pub/perl/db/sqlperl/? from ftp.demon.co.uk
updated: 1994/04/11
name: Isqlperl
version: 1.1
interface from: perl
interface to: Informix
limits: Maximum concurrently open cursors configured at build time.
descritpion: Isqlperl is a set of user subroutines to enable Perl
programs to
access Informix databases.
requires: Perl 4.035 or higher, Informix ESQL/C (Online, SE, or Turbo)
discussion: perldb-interest-REQUEST@vix.com
restrictions: GNU Public License
author: Bill Hails <bill@tardis.co.uk>
how to get: ftp pub/perl/db/isqlperl/isqlperl-1.1.shar.Z
from ftp.demon.co.uk
updated: 1993/10/02
name: Isqltcl ?
version: ?
interface from: tcl
interface to: Informix
description: Isqltcl is an extension to Tool Command Language (Tcl)
that
provides access to an Informix database server. Isqltcl adds
additional Tcl commands that login to an Informix Server, pass
SQL code, read results, etc.
requires: ?
discussion: comp.lang.tcl
author: Srinivas Kumar <skumar@netcom.com>
how to get: ftp tcl/extensions/isqltcl.tar.Z from
harbor.ecn.purdue.edu
updated: 1993/09/15
name: Interperl
version: ?
interface from: perl
interface to: Interbase
descritpion: Interperl is a set of user subroutines to enable Perl
programs
to access Interbase databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Buzz Moschetti <buzz@bear.com>
how to get: ftp pub/perl/db/interperl/? from ftp.demon.co.uk
updated: ?
name: Onyx
version: 2.30
interface from: Onyx 4gl, (emacs and smalltalk planned)
interface to: Ingres89, Informix, GAWK, Shql, Yard, SqlPostgres (OBST
planned)
The informix port is slow and no longer being extended
because the author feels their support is inadiquate.
interfaces: Onyx uses a OO-Parser to access different engines
The transaction manager can be accessed by any aplication
which is able to use pipes or TCP/sockets.
multiuser: Depends on the used engine.
transactions: Yes, but no rollback, all transactions are atomic as
a block, replication of transactions is planned for
one of the next releases.
distributed: Yes its possible to connect to any mentioned database
anywhere in the net. Replication is planned.
query language: SQL + Onyx 4gl (based on Model-View-Controller idea)
limits: Current version uses memory to store selected data.
robustness: Onyx is experimental, but useable for clients. The author
is
supporting himself by writing applications written in Onyx 4GL.
description: Onyx is a 4gl based on the idea of model view controller.
Onyx
4gl connects to a transaction manager based on a OO-Parser
generator via a socket. While the design goal of the protocol
was to keep it as simple as posible, its a good starting point
of writing vendor independent database applications.
status: experimental; actively developed and supported.
announcements: comp.os.linux.announce
bugs: Michael Koehne <kraehe@bakunin.north.de>
requires: BSD like system, GNU C++, a database engine (minimum GNU-
AWK)
ports: Tested on Linux and SunOs.
restrictions: GNU Public Licence
author: Michael Kraehe <kraehe@bakunin.north.de>
how to get: ftp incoming/onyx/? from ftp.germany.eu.net (every
versions)
ftp pub/comp/i386/Linux/Local.EUnet/Applications/Database
from ftp.germany.eu.net (stable versions)
updated: 1994/08/08
name: Oraperl
version: ?
interface from: perl
interface to: Oracle
descritpion: Oraperl is a set of user subroutines to enable Perl
programs to
access Oracle databases.
requires: Perl 3.027 or higher, Oracle Pro*C
discussion: perldb-interest-REQUEST@vix.com
author: Kevin Stock
how to get: ftp pub/perl/db/oraperl/? from ftp.demon.co.uk
updated: ?
name: Oratcl
version: 2.2
interface from: TCL
interface to: Oracle
description: Oratcl is an extension to Tool Command Language (Tcl)
that
provides access to a Oracle Database server. Oratcl adds
additional Tcl commands that login to an Oracle Server, pass
SQL code, read results, etc. Oratcl was inspired by similar
tools written for Perl (sybperl, oraperl) but was written from
scratch instead of borrowing on the work of either Perl
extension.
requires: Tcl 6.7, Tk 3.2, Oracle OCI libraries 1.5,
Oracle SQL Server Version 6 or Version 7
discussion: comp.lang.tcl
author: Tom Poindexter <tpoindex@nyx.cs.du.edu>
how to get: ftp tcl/extensions/oratcl-2.2.tar.gz from
ftp.aud.alcatel.com
updated: 1994/11/04
name: pgperl
version: ?
interface from: perl
interface to: Postgres
descritpion: pgperl is a set of user subroutines to enable Perl
programs to
access Postgres databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Igor Metz <metz@iam.unibe.ch>
how to get: ftp pub/perl/db/pgperl/? from ftp.demon.co.uk
updated: ?
name: SIOD (Scheme In One Defun/Day)
version: 3.0
interface from: C, C++, Scheme
interface to: Oracle, Digital RDB, flat ascii, flat binary.
access methods: flat files contain symbolic expression such as hash
tables.
multiuser: yes with commercial DB, no with flat files.
transactions: yes with commercial DB, no with flat files.
distributed: yes with commercial DB, no with flat files.
query language: SQL, any SCHEME program.
limits: None.
robustness: ?
description: This is a scheme interpreter with built-in procedures
using
the Oracle Call Interface (OCI) and DIGITAL RDB SQL Services.
You can use it merely as a flexible database loader/unloader
with fast binary flat-file data save/restore. Or you can
use it to apply the classic "Symbolic Manipulation" or
"Artificial Intelligence" techniques on your data sets.
The main-program can be oriented towards batch, character-cell
terminal, or Window/GUI.
references: "Structure and Interpretation of Computer Programs" MIT
Press.
announcements: comp.lang.scheme, comp.databases.rdb,
comp.databases.oracle
bugs: Contact the author.
requires: C compiler, your favorite commercial DB.
ports: VMS, WINDOWS NT, UNIX, OS/2, MACINTOSH.
author: George Carrette <gjc@mitech.com>
how to get: ftp pub/gjc/siod* from ftp.std.com.
updated: 1994/05/01
name: Sybperl
version: 1.011
interface from: perl
interface to: Sybase
descritpion: Sybperl is a set of user subroutines to enable Perl
programs to
access Sybase databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Michael Peppler <mpeppler@itf.ch>
how to get: ftp pub/perl/db/sybperl/sybperl-1.009.* from
ftp.demon.co.uk
updated: 1994/05/15
name: Sybtcl
version: 2.2
interface from: TCL
interface to: Sybase
description: Sybtcl is an extension to Tool Command Language (Tcl)
that
provides access to a Sybase Database server. Sybtcl adds
additional Tcl commands that login to a SQL Server, pass SQL
code, read results, etc. Sybtcl was inspired by similar tools
written for Perl (sybperl, oraperl) but was written from
scratch instead of borrowing on the work of either Perl
extension.
requires: Sybase Open Client (DB-Library), Sybase SQL Server
discussion: comp.lang.tcl
author: Tom Poindexter <tpoindex@nyx.cs.du.edu>
how to get: ftp tcl/extensions/sybtcl-2.2.tar.gz from
ftp.aud.alcatel.com
updated: 1994/11/04
name: tclgdbm
version: 1.0
interface from: TCL
interface to: gdbm
description: none provided
discussion: comp.lang.tcl
author: Tuan Doan <tdoan@bnr.ca>
how to get: ftp pub/tcl/extensions/tclgdbm1.0* from
harbor.ecn.purdue.edu
updated: 1994/02/08
name: tcl+gdbm
version: 0.1
interface from: TCL
interface to: gdbm
description: none provided
discussion: comp.lang.tcl
author: Christian Lindig <lindig@ips.cs.tu-bs.de>
how to get: ftp pub/local/sw/tcl+gdbm-0.1.tar.gz from ftp.ips.cs.tu-
bs.de
updated: 1994/05/04
name: Uniperl
version: ?
interface from: perl
interface to: Unify 5.0
descritpion: Uniperl is a set of user subroutines to enable Perl
programs to
access Unify databases.
requires: Perl 3.027 or higher, ?
discussion: perldb-interest-REQUEST@vix.com
author: Rick Wargo <rickers@coe.drexel.edu>
how to get: ftp pub/perl/db/uniperl/? from ftp.demon.co.uk
updated: ?
name: Willow
version: 2.2
interface from: user
interface to: WWW/Mosaic, Z39.50, ZDist (formerly free-WAIS) from
CNIDR
description: Willow (Washington Information Looker-upper Layered Over
Windows) is a general purpose information retrieval tool. It
provides a single, easy-to-use graphical user interface (X
Windows / Motif) to any number of text-based bibliographic
databases.
references: http://www.cac.washington.edu/willow/home.html
ports: DEC/Ultrix, Solaris, SunOS, RS6000/AIX.
contact: willow@cac.washington.edu
how to get: ftp willow/* from ftp.cac.washington.edu
updated: 1994/06/30
-----------------------------------------------------------------------
----
--------------------------- other -------------------------------------
----
-----------------------------------------------------------------------
----
name: "A Guide to the SQL standard"
what: BNF SQL grammer
version: ?
description: A BNF grammer for SQL is included in the book.
how to get: buy the book: "A Guide to the SQL standard" by Hugh Darwen
and C.J. Date.
updated: ?
name: CDF (Common Data Format)
what: data exchange library
version: ?
interfaces: ?
access methods: ?
distributed: ?
query language: ?
limits: ?
robustness: ?
description: A library and toolkit for multi-dimensional data sets.
The
basic component of CDF is a software programming interface that
is a device independent view of the CDF data model
requires: ?
ports: ?
restrictions: ?
contact: ?
how to get: ftp cdf.dir/* from nssdca.gsfc.nasa.gov.
The CDF library to provide applications access to remote CDF
datasets, can be obtained from its author:
Hillel Steinberg <zeus@cs.umd.edu>.
updated: ?
name: examples from: "Information Retrieval, Data Structures
& Algorithms," William B. Frakes, Ricardo Baeza-Yates,
Editors, Prentice Hall, Englewood Cliffs,
New Jersey 07632, 1992, ISBN 0-13-463837-9.
what: example database code
version: ?
descriptions: example code from the book "Information Retrieval, Data
Structures & Algorithms"
how to get: ftp pub/reuse/ircode.tar.Z from ftp.vt.edu
author: [resumably William B. Frakes, Ricardo Baeza-Yates]
updated: ?
name: _lex & yacc_ by Levine, Mason & Brown published by O'Reilly
what: SQL yacc grammer
version: ?
parts: grammar
description: In _lex & yacc_, by Levine, Mason & Brown an SQL parser
is included as an example grammar
author: Levine, Mason & Brown
how to get: buy the book, or ftp published/oreilly/nutshell/lexyacc/?
from ftp.uu.net.
updated: ?
name: MultiCal
what: database date manipulation library
version: 1.0
interfaces: ?
access methods: ?
multiuser: no
transactions: no
distributed: no
query language: enhanced SQL2
limits: ?
description: MultiCal is both a novel approach to supporting multiple
calendars and internationalization of time constants and a
query processor prototype that demonstrates this approach.
MultiCal consists of about 48K source lines of C code; the
query processor prototype consists of about 63K source lines of
code. The documentation consists of fifteen documents,
comprising some 300 pages of material.
MultiCal consists of an approach to providing limited
extensibility for support of multiple calendars and languages
for temporal support within a database management system
(DBMS). We have augmented the Structured Query Language (SQL),
specifically, SQL2, with time values, i.e., temporal
constants. Our approach is notable in that we allow many
different calendars to be used in the database management
system, and we incorporate only calendar-independent constructs
into the language. We introduce three new temporal data types.
New language features are defined for temporal built-in
functions, special time values, arithmetic expressions
involving time, temporal predicates, and aggregate functions
over time. Ten languages are supported.
To illustrate how an existing DBMS could be augmented to
support multiple calendars, we provide a prototype DBMS that
supports the proposed extensions. This prototype consists of
query analysis and execution components. It eschews traditional
functionality such as concurrency control and disk access
methods, as these aspects are not relevant to timestamp
management.
ports: Sun4
contact: <multical@cs.arizona.edu> or Rick Snodgrass
<rts@CS.Arizona.EDU>
how to get: ftp tsql/multical/* from ftp.cs.arizona.edu
updated: 1993/10/30
name: persist++
what: C++ object marshal/demarshal library
version: 0.2
interfaces: C++
access methods: none
robustness: ?
description: Persist++ is a set of serialize/materialize/marshal
routines
that make it easy to store C++ objects to files or to send them
across the network.
author: Herman Moons <herman@cs.kuleuven.ac.be>
how to get: ftp pub/impulse/persist++_0.2.tar.Z from
ftp.cs.kuleuven.ac.be
úÿ
updated: 1994/08/16
name: SQL parser ?
what: SQL yacc grammer ?
version: ?
description: ?
author: Bruce Ring <73172.735@compuserve.com>
how to get: wait for it to be posted to a comp.sources group
updated: 1994/11/04
Comments
Post a Comment