Archive-name: databases/free-databases
Last-modified: 1997/08/06 Version: 2.0 See reader questions & answers on this topic! - Help others by sharing your knowledge 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. The latest version is always posted; the ftp version is never ahead. There is a WWW version provided by Karl Guggisberg of the Software Composition Group: http://cuiwww.unige.ch/~scg/FreeDB/ I will post this document about once a year 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? I have not used any of these database nor have I used many commercial databases. I am not qualified to answer your database questions or able to reccomend a database for your use. Please try not to ask. Thanks, -Dave Idiom Consulting, Berkeley, CA Copyright (C) 1993-1997 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? (Consitency, rollback, and rollforward?) 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) --------------------------------------------------------------------------- --------------------------- relational databases -------------------------- --------------------------------------------------------------------------- name: Beagle SQL version: 1997/04/03 interfaces: SQL, C API access methods: Btree multiuser: ? transactions: ? distributed: no query language: SQL limits: ? robustness: Quote from disclaimer: "This code WILL contain bugs" description: A client-server database system under development. Beagle SQL supports variable length records. status: under development discussion: send "SUBSCRIBE beagle your name" to istproc@brttech.com ports: unix, OS/2 author: Robert Klein <rvklein@ober.com> how to get: http://tiny.iapnet.com/rob/beagle.html updated: 1997/04/03 name: Datascope version: 3.1 interfaces: C, Fortran, Perl, Tcl, command-line, X11 multiuser: no transactions: no distributed: no query language: ? description: A major component of the Datascope Seismic Application Package is a relational database system, Datascope. Although it is used primarily for seismic applications at the JSPC, it is a general purpose database system which can also be useful outside the seismic community. Datascope is a relational database system in which tables are represented by fixed-format files. The system provides the standard operations on relational database tables: subsets, joins, and sorts. And, since the data is typically plain ascii, it's also possible to just use standard UNIX tools like sed, awk, and vi. Some features: + It is possible to store ranges as keys and index them + Attributes can have units + Support for foreign keys Datascope provides a cheap, easy, fairly intuitive way of moving from the traditional plethora of formats to a better approach which organizes the data, documents it, and provides powerful tools for manipulating it. status: ? ports: SunOS, Solaris, Irix author: Daniel Quinlan how to get: http://jspc-www.colorado.edu/software/software.html#datascope updated: 1996/01/01 name: DiamondBase version: 0.31 interfaces: C++ library access methods: b+ tree multiuser: very limited 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 component is a more recent addition, and is still considered beta. 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. Recent ports to Dos/windows. 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: http://www.cs.monash.edu.au/~darrenp/diamondbase.html updated: 1994/12/22 name: GNU SQL version: 0.7b5.3 interfaces: SQL access methods: B-tree multiuser: yes transactions: yes distributed: no query language: SQL limits: ? robustness: ? description: SQL Server is a free portable multiuser relatational database management system. It supports the full SQL89 dialect and has some extensions from SQL92. It provides multiuser access and transaction isolation based on predicative locks. The working OS: UNIX. The working language: C . It also uses RPC, shared memory and message queues. references: http://www.ispras.ru/~gsql status: actively under development bugs: bug-gnu-sql@prep.ai.mit.edu restrictions: GNU General Public License author: Sergev Kuznezov, Michael Kimelman, Vera Ponomarenko, Kostya Dyshlevoi, Andrew Yahin contact: gss@ispras.ru how to get: ftp://alpha.gnu.ai.mit.edu/gnu/ updated: 1997/06/12 name: LEAP version: 1.0 interfaces: command line access methods: ? multiuser: no transactions: no distributed: no query language: relational algebra limits: ? robustness: fine for educational purposes description: LEAP is a an educational tool. It is a full relational database system. It uses relational algebra as a query language. LEAP allows practically all the algebraic examples in many popular DBMS books to be entered with little or no modification. Leap is written in C and fairly simple. status: actively developed ports: DOS, Windows, unix restrictions: GNU General Public License author: Richard Leyton <leyton@acm.org> how to get: http://www.dogbert.demon.co.uk/leap.html updated: 1997/05/24 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: 1.0.9 interfaces: C, ESL, Tcl, Perl, Python, NextSTEP, X11 access methods: Flat data with external primary key mapped into virtual address space of server process. multiuser: yes (25 simultaneous connections) transactions: no distributed: no query language: SQL limits: none robustness: Pretty good - getting better all the time. One positive user testimonial so far. description: Mini SQL or mSQL is a light weight database engine that supports a significant subset of the ANSI SQL specification (including joins, ORDERing, DISTINCT, NULL handling, etc). It is a single proces engine and doesn't use vast amounts of system resources as other engines can. 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. discussion: msql-list-request@bunyip.com ports: SunOS, Solaris, HP-UX, AIX, Linux, FreeBSD-2, SCO, SVR4, NeXT, Cray Unicos, OSF/1, Ultrix. restrictions: free for NON-COMMERCIAL USE ONLY author: David Hughes <Bambi@Bond.edu.au> how to get: ftp pub/Minerva/msql/ from Bond.edu.au updated: 1995/10/29 name: MySQL version: 3.20.24a, 3.21.4-alpha interfaces: SQL, ODBC, C, Perl, JAVA, C++, Python, command line access methods: B-tree on disk, hash tables in memory multiuser: yes transactions: no, but tables can be locked in 3.21 distributed: no, mirroring is possible query language: SQL limits: 16 keys / table, max key length: 500 bytes robustness: B-tree code is extreamly stable; 24 hour operation is possible description: MySQL is a fully functional relation database. It supports a subset of ANSI SQL and includes many extensions. It has a C API that is very similar to mSQL's. Some features: + multi-threading; + all password traffic is encrypted. + all columns have default values + table check and repair utility included + table and column aliases as per SQL92 standard. + no memory leaks (purified) + all joins made in one pass + fixed and variable length records status: actively developed and commercially supported ports: BSDOS, SunOS, Solaris, Linux, IRIX, AIX, OSF1, BSD/OS, FreeBSD restrictions: Commercial redistribution requires a license author: Michael Widenius contact: mysql@tcx.se how to get: http://www.tcx.se updated: 1997/08/05 name: PostgreSQL version: 6.1.1 interfaces: SQL, C API, C++ API, Tcl API, Perl5 API, Python API, WWW Gateway, JDBC driver, X11 access methods: Heap plus secondary indexes: B-tree, R-tree, Hash. multiuser: yes transactions: yes distributed: no query language: SQL limits: ? robustness: ? description: PostgreSQL is derived from the Postgres research database. It is a full-featured object-relational database system. It supports declarative queries in SQL, query optimization, concurrency control, transactions, multi-user support and a number of security features. Extensibility features include user defined operators, types, functions and access methods. Application programmer interfaces (APIs) exist for C, C++, Java, Perl4, Perl5, Python, SQL and Tcl. ODBC and JDBC drivers are available from commercial sources and free versions are under development. status: actively developed bugs: mailing list: pgsql-bugs@postgresql.org ports: Linux, Solaris, Digital Unix, *BSD and more contact: mailing list: pgsql-questions@postgresql.org how to get: http://www.postgresql.org updated: 1997/07/31 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> status: orphaned 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: PQL version: 0.95 interfaces: interactive, stdin and shell mode access methods: hash multiuser: no transactions: yes distributed: no query language: SQL subset limits: ? robustness: Early phase of release, still many bgs description: PQL stands for "plain query language" and is a kind of SQL (rather a subset) Nearly all features of SQL are supported, like joins, subqueries and grouping. The join operation has been optimized using a iterative "select and join" algorithm which runs over all joined base tables. In addition to the PQL-Interpreter, a relational and transaction oriented database engine interface is shipped with the package. The engine is based on the lower level GDBM interface, a freely available database library. requires: gdbm, GNU readline ports: unix author: Bjoern Lemke <lemke@lf.net> how to get: ftp://ftp.uni-stuttgart.de/pub/unix/database/pql-0.95.tgz updated: 1995/11/30 name: Qddb version: 1.43 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: The authors indicate that they believe it to be stable. 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. Qddb allows seaching on regular expressions and numeric and date ranges. A set of applications built on top of Qddb can be obtained from the same ftp site as Qddb itself. 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: There are two versions of Qddb. One is covered by the GNU General Public License. The other version is commercial. author: Eric H. Herrin II <eric@ms.uky.edu>, Raphael Finkel <raphael@ms.uky.edu> how to get: http://www.hsdi.com/qddb & ftp://ftp.hsdi.com/pub/qddb/sources updated: 1997/06/10 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 name: Typhoon version: 1.06 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/devel/db/typhoon-1.06.tar.gz from sunsite.unc.edu updated: 1994/10/03 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 status: orphaned ports: SunOS, Linux author: The Ingres project at UC Berkeley. contact: <ingres-mail@idiom.com> how to get: ftp://s2k-ftp.CS.Berkeley.EDU/pub/ingres updated: 1993/05/20 --------------------------------------------------------------------------- --------------------------- object oriented ------------------------------- --------------------------------------------------------------------------- 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.5 interfaces: C library, emacs-like editor/X11 access methods: ? multiuser: yes transactions: no, but creates different versions on the fly 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://ftp.ida.liu.se/pub/lincks/lincks-2.5pre5.tar.gz updated: 1997/04/24 name: MONET version: 3.05 interfaces: MIL (Monet Interpreter Language), ODMG (ODMG interface to Monet), MOA (meta-model mapping system) access methods: ? multiuser: yes transactions: yes distributed: yes robustness: Used commercially for data mining description: The Goblin Database Kernel is a C/C++ library that provides ACID properties on a DSM model, using main-memory database algorithms, built on virtual-memory OS primitives and multi-threaded parallellism. The Monet Server runs multiple interpreter threads, which parse MIL commands. It manages client acces through the internet, and can runtime be extended with new modules. The Monet kernel is designed as a microkernel DBMS. This design keeps the code mean and lean. Different users can plug in different extra functionality using extension modules. A set of standard extension modules is delevered with the system (like math, tcpip, temporal, cross tables, concurrency control, performance profiling) references: http://www.cwi.nl/~monet/ status: ? ports: Solaris, ? restrictions: ? author: Research project at CWI (Centrum voor Wiskunde en Informatica) and the University of Amsterdam contact: ? how to get: Unknown. The source code can be browed, but it's not clear how to actually download it. updated: ? name: OBST version: 3-4.3 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.6.3 or AT&T 2.1/3.01) ports: UNIX: SPARC/SunOS 4.1, Solaris 2, Linux, HP-UX, Ultrix, ... restrictions: STONE is over; OBST is now a commercial product. contact: obst@fzi.de how to get: ftp pub/OBST/OBST3-4.3 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: 1995/01/19 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: SHORE version: 1.0 interfaces: unix filesystem emulation, NFS server, Shore Data Language access methods: ? multiuser: yes transactions: ? distributed: yes description: SHORE - A High-Performance, Scalable, Persistent Object Repository. SHORE is a project to design, implement, and evaluate a persistent object system that will serve the needs of a wide variety of target applications including hardware and software CAD systems, persistent programming languages, geographic information systems, satellite data repositories, and multi-media applications. SHORE provites a hierarchical name space for named objects, and a Unix-compatible interface to objects with a "text" field. SHORE supports multiple programming languages and typed objects. SHORE is designed to scale to terabytes. status: actively developed university project discussion: send "subscribe shore_all" to majordomo@cs.wisc.edu how to get: http://www.cs.wisc.edu/shore/ updated: 1996/08/06 name: The Texas Persistent Store version: 0.5 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. announcements: send mail to oops@cs.utexas.edu ports: SunOS, Ultrix, Linux author: ? contact: oops@cs.utexas.edu how to get: ftp://ftp.cs.utexas.edu/pub/garbage/texas updated: 1996/12/10 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 name: YOODA (Yet another Object Oriented Database) version: 1.2 interfaces: C++ access methods: B+Tree multiuser: yes, client-server transactions: yes, but not yet nested. distributed: yes, you can distribute a database across multiple servers. Distributed access are completly transparent. User only specifies server when he creates an object. A Two phase commit mechanism is used to handle distributed commit. query language: C++ limits: 2 GB per volume, up to 256 volumes Memory mapping limits the total size of the objects accessed in a transactions (about 2 GB) robustness: beta software but pretty stable description YOODA is a small and simple Object Oriented Database. You can use it as a persistent C++ with transaction facilities in multi-clients/multi-server architecture. It uses virtual-memory mapping techniques. The key features of YOODA are: - A distributed database with multi-clients/multi-servers architecture. - CORBA like interface for communication. - Use of memory-mapping techniques - Transparent C++ interface through the use of a precompiler - Small size of the code (< 15000 lines). - Good performances - Good management of long objects status: actively developed announcements: comp.databases.object, send mail to ea@apic.fr discussion: send mail to ea@apic.fr bugs: send mail to ea@apic.fr requires: Unix, g++ 2.5.8 or later ports: SunOs 4.1.3, Alpha-OSF1 comming soon : HP-PA HP-Ux, Solaris 2.3, NextStep 3.0 restrictions: GNU Library General Public author: Eric Abecassis ea@apic.fr contact: author how to get: ftp pub/database/yooda from ftp.uu.net ftp pub/Unix/Database from ftp.fdn.fr updated: 1994/11/14 --------------------------------------------------------------------------- --------------------------- 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: V4.0 interfaces: Prolog, C, C++ access methods: TELL and ASK multiuser: yes transactions: primitive (no concurrency) distributed: no query language: CBQL ("query classes") limits: ? 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. It is useful for conceptual modeling and as a 'meta database' for heterogeneous information resources. Queries, deductive rules, and integrity constraints can be formulated at any abstraction level (instance, class, metaclass, ...) bugs: CB@picasso.informatik.rwth-aachen.de ports: Solaris 2.3 (Sparc and PC) restrictions: ConceptBase is distributed by "contact", only. It is not public domain. The source agreeement prohibits commercial and military use. author: ConceptBase Team contact: CB@informatik.rwth-aachen.de how to get: http://www-i5.informatik.rwth-aachen.de/CBdoc/cbflyer.html updated: 1996/04/16 name: CORAL version: 1.2 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. references: http://www.cs.wisc.edu/coral/ requires: AT&T C++ 2.0 or later or g++ 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: FLEX++ version: 0.5b interfaces: Prolog access methods: memory multiuser: not yet transactions: no distributed: no query language: FLEX DL Language limits: memory robustness: pretty good - it was used within a large natural language processing project description: The system belongs to the family of Description Logics (aka KL-ONE alike systems, hybrid systems, term subsumption languages, concept logics, terminological logics) which form one of the major paradigms in current research on knowledge representation. Description Logics combine ideas from semantic networks and frames with the formal rigor of first order predicate logic. They support high level conceptual modeling in an object-centered manner. DL systems have already been used in a number of NLP systems for representing world knowledge or conceptual information. Furthermore, Description Logics are similar to the feature logics underlying unification-based grammar formalisms such as Head-Driven Phrase Structure Grammar. status: ? discussion: flex@cs.tu-berlin.de ports: SunOS, Solaris restrictions: free for non-commercial use only author: J. Joachim Quantz and Frank Bergmann how to get: http://www.cs.tu-berlin.de/~flex/ updated: 1996/06/10 name: MOOD-SX (Material's Object-Oriented Database) version: 0.2.1 interfaces: X11 multiuser: ? transactions: ? distributed: no query language: ObjectEditor robustness: ? description: MOOD-SX is a general purpose object-oriented client server database system. The primary interface to MOOD-SX is an interactive class editor called ObjectEditor that can be used without programming. MOOD-SX has been designed to handle complex queries. It is written in C++. author: Noboru Ono <ono@mood.mech.tohoku.ac.jp> how to get: http://mood.mech.tohoku.ac.jp/ updated: 1995/08/25 name: ROL (Rule-based Object Language) version: 2.2 interfaces: ? description: The ROL language effectively integrates important features in deductive databases and object-oriented databases into a uniform framework. It is an extension to Datalog and LDL (without grouping) and subsumes them as special cases. It naturally and directly supports object-oriented features such as object identity, complex objects, classes, class hierarchy, multiple inheritance with overriding, and schema. It provides powerful mechanisms for representing both partial and complete information on sets. It is a pure declarative query language without any imperative parts. Furthermore, it has a logical semantics that cleanly accounts for all of its object-oriented features. how to get: ftp://ftp.cs.uregina.ca/pub/rol updated: 1997/05/10 --------------------------------------------------------------------------- --------------------------- 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: 1.1 interfaces: query language, GUI, GUI builder access methods: ? multiuser: no transactions: no distributed: no query language: custom limits: ? robustness: one user recommends against use as a payroll database 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: ftp programs/X/grok* from swedishchef.lerc.nasa.gov ftp pub/unix/graphics/grok from ftp.fu-berlin.de updated: 1994/11/17 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://ftp.rand.org/pub/RDB-hobbs/ updated: 1994/06/20 --------------------------------------------------------------------------- ----------------- dbm and other and raw access methods ------------------- --------------------------------------------------------------------------- name: The Berkeley DB package version: 2.2.6 interfaces: dbm, ndbm, hsearch, DB 1.85 access methods: Extended Linear Hashing, B+tree, fixed/variable length records multiuser: yes transactions: yes distributed: no query language: none limits: Single databases up to 2^48 bytes, single key or data elements up to 2^32 bytes (or available memory), maximum btree depth of 255. robustness: Good. Includes a fairly extensive test suite written in Tcl. description: The all-singing, all-dancing dbm. Features: + Keyed and sequential (forward and reverse) retrieval, insertion, modification and deletion. + Duplicate records per key available with the B+tree and Hash access methods. + User-allocated memory retrieval and partial-record key storage and retrieval. + Architecture independent databases (although no guarantees are made regarding user data). + Multiple readers/single writer locking (page-level concurrency control). + Degree 3 Isolation. + Before and after image logging. + Transaction support. + General purpose lock manager and shared memory buffer pool. + Online database backups. + Database recovery after application or system failure, including catastrophic recovery. Written in C, complete C language API, source code included. references: "A New Hashing Package for UNIX", Margo Seltzer, Ozan Yigit, Proceedings of the Winter USENIX Conference, Dallas, TX, 1991. "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: none ports: Almost any UNIX, MS VC++ 5.0. author: Keith Bostic, Michael Olson, Margo Seltzer, Ozan Yigit contact: Sleepycat Software <db@sleepycat.com> how to get: http://www.sleepycat.com/db updated: 1997/08/04 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 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 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://ftp.ibp.fr/pub7/pc/SimTel/msdos/c/cbase102.zip updated: ? name: cdb version: 0.55 interfaces: C, Perl access methods: hash? limits: database size limit: 4GB description: cdb is a fast, reliable, lightweight package for creating and reading constant databases. Its database structure provides several features: + fast lookups + low overhead + no random limits + fast atomic database replacement + fast database dumps discussion: djb-cdb-request@koobera.math.uic.edu author: Dan Bernstein <djb@koobera.math.uic.edu> how to get: http://pobox.com/~djb/cdb.html updated: ? 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: tclvsdb version: 1.0 interfaces: Tcl multiuser: yes transactions: no distributed: no query language: none limits: ? robustness: ? description: Persistent rectangular data structures for Tcl. author: Steven B. Wahl <steven@cirque.com> how to get: http://hpux.cs.utah.edu/hppd/hpux/Tcl/TclVSdb-1.1/ 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. status: Hasn't been updated in a long time. Commercial support is available. author: Barry Brachman <brachman@cs.ubc.ca> requires: Nothing special. ports: Linux, Sparc, MIPS, AIX. Thought to be quite portable. restrictions: Copyrighted with liberal use policy. how to get: http://www.nsg.bc.ca/tdbm.html 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 --------------------------------------------------------------------------- -------------------------- x-Base compatible ------------------------------ --------------------------------------------------------------------------- name: CDBFile version: ? what: C access library transactions: no description: CDBFile is a C++ object-oriented package for programmers who need to manipulate dBASE III files in their programs. It enables you to perform many operations on an existing DBF file: reading/writing to it, accessing its values, sorting the records, adding/deleting records, etc. It comes with full text and postscript documentation, and commented source code. A demonstration program, TestDBF, shows the various possibilities of the CDBFile library, and its source file, testdbf.cpp, demonstrates how to implement CDBFile within a program. author: Herve GOURMELON <gourmelon@merlin.enssat.fr> ports: Windows, unix restrictions: GNU Library General Public License how to get: ftp://ftp.simtel.net/pub/simtelnet/msdos/database/cdbfile.zip updated: 1997/03/12 name: dbc3 version: 1.0 what: C access library transactions: no 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: dbf (xBase manipulation package) version: ? what: C access library and tools 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: dbf read routines in perl version: ? what: minimal read-only perl access library description: very simple (15 line) routines to read dbf files author: David Rensin <rensin@glue.umd.edu> how to get: ftp pub/source/read_dbf_in_perl from ftp.idiom.com updated: 1994/11/13 name: dbflib version; 0.7 what: perl and C access library limits: does not support indexes description: Interface routines for manipulating xBase files. restrictions: GNU Library General Public License author: Rasca Gmelch <rasca@mozart.komm.hdk-berlin.de> how to get: http://www.komm.hdk-berlin.de/home/rasca/dbflib/ updated: 1997/03/27 --------------------------------------------------------------------------- --------------------------- full text ------------------------------------- --------------------------------------------------------------------------- name: FFW version: 1.01 interfaces: command line -- intended for CGI scripts access methods: inverted index ? query language: formal expression grammar with AND, OR, NOT and (). index size: 30-50% of data size limits: ? robustness: ? description: Freetext search For Web (FFW) s a package made to provide easy-to-use freetext searching facilities over HTML documents (and as a special case plain text documents). The output is intended as input to scripts providing the user interface, typically CGI scripts. FFW is basically intended to replace similar solutions based on the Wais search engine, and solves some of the problems we experienced when using the Wais engine. FFW supports HTML. It parses input files, ignoring HTML directives and translating HTML special characters into ISO8859-1 equivalents. FFW can build indexes incrementally and can search multiple indexes at the same time. Program messages are separated in one file for easy nationalisation. Norwegian and English versions are provided. references: http://www.nta.no/produkter/ffw/ffw.html requires: g++ 2.6.2 exactly, g++ library ports: SunOS 4.1.3 author: Ken Ronny Schouten, Haiyan Yang, Berd Hefjeld: MultiTorg project at TeleNor Research, Norway. contact: ffw@nta.no how to get: ftp pub/ffw/ from ftp.nta.no updated: 1995/01/09 name: glimpse version: 1.0 interfaces: command line access methods: ? 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.14 beta 3 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: 1996/05/26 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: 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: ChezSybase (A blatent trademark ripoff) version: 1.0 interface from: Chez Scheme interface to: Sybase limits: limited text datatype support -- text datatype only up to 32K -- the Sybase returned SQL column limit, image and binary data not supported, datetime Sybase data must be manipulated as strings in Scheme, a few db-lib calls not implimented description: A foreign function interface to Chez Scheme to allow calls to the Sybase db-lib, the API to the Sybase database, and a high level Scheme-like interface so you can forget about db-lib. bugs: Contact the author. requires: Chez Scheme, Sybase db-lib & server, network support for Sybase ports: VMS, should work in Unix author: Karl O. Pinc <kop@acm.org> how to get: ftp ftp.cs.cmu.edu:/user/ai/lang/scheme/code/io/chez_syb ftp ftp://ftp.cs.indiania.edu/pub/scheme-repository/ updated: 1991/08/07 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://ftp.demon.co.uk/pub/perl/db/ctreeperl updated: 1994/04/07 name: dbCGI version: ? interface from: WWW/CGI interface to: Progress, Sybase, Oracle, Informix, Ingres, ODBC description: dbCGI, from CorVu Pty Ltd (Australia), is a CGI gateway which gives easy access to SQL databases using the World Wide Web. dbCGI is capable of producing formatted output, forms, tables and complex reports using SQL calls embedded in an HTML document. restrictions: CorVu General Public License contact: ? how to get: http://enterprise.progress.com:80/ent/webtools/dbcgi/dbcgi.htm updated: ? name: DBI version: 0.89 interface from: Perl5 interface to: Many databases via DBD modules interfaces: Perl function calls robustness: Good. description: The database-independent half of a RDBMS interface to Perl5. DBI is only useful when combined with DBD (DataBase Dependent) modules. DBD Modules exist for many databases. Using DBI allows the same perl code to run against different databases. status: actively developed announcements: http://www.fugue.com/dbi bugs: http://www.fugue.com/dbi author: Tim Bunce how to get: http://www.hermetica.com/technologia/perl/DBI updated: 1997/07/25 name: DBD::Empress version: 0.45 interface from: DBI interface to: Empress description: Database dependent layer for Empress author: Empress Software, Inc how to get: http://www.hermetica.com/technologia/perl/DBI updated: 1996/08/12 name: DBD::DB2 version: 0.63 interface from: DBI interface to: DB2 description: Database dependent layer for DB2 author: mhm@dax.austin.ibm.com how to get: http://www.hermetica.com/technologia/perl/DBI updated: 1997/04/10 name: DBD::Informix version: 0.56 interface from: DBI interface to: Informix description: Database dependent layer for Informix author: johnl@informix.com (Jonathan Leffler) how to get: http://www.hermetica.com/technologia/perl/DBI updated: 1997/07/13 name: DBD::ODBC version: 0.16 interface from: DBI interface to: ODBC description: Database dependent layer for ODBC author: Tim Bunce how to get: http://www.hermetica.com/technologia/perl/DBI updated: 1997/07/25 named: DBD::Oracle version: 1997/06/21 interface from: DBI interface to: Oracle description: Database dependent layer for Oracle author: Tim Bunce how to get: http://www.hermetica.com/technologia/perl/DBI updated: 1997/06/21 name: DBD::Solid version: 0.02 interface from: DBI interface to: Solid description: Database dependent layer for Solid author: Thomas Wenrich <wenrich@site58.ping.at> how to get: http://www.hermetica.com/technologia/perl/DBI http://members.ping.at/wenrich/DBD-Solid.html updated: 1997/06/21 name: DBEDIT version: 0.9b8 interface from: CGI interface to: rdb description: Perl CGIs for web based database updates of the rdb database. restrictions: Library GNU General Public License how to get: http://admin.gnacademy.org:8001/uu-gna/tech/dbedit/dbedit.html updated: ? 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: iODBC version: 2.12 interface from: ODBC interface to: ODBC description: iODBC ( intrinsic Open Database Connectivity ) driver manager is an ODBC 2.0 compliant ODBC driver manager which performs exactly same tasks of ODBC 2.0 driver manager(i.e driver loading, parameters and function sequence checking, driver's function invoking, etc..). Any ODBC driver works with ODBC 2.0 driver manager will also work with iODBC driver manager and vice versa. Applications(which using ODBC function calls ) linked with iODBC driver manager will be able to simultaneously access multiple different type of data sources within a single process through suitable ODBC drivers. restrictions: GNU General Public License author: Ke Jin <kejin@empress.com> how to get: ftp://ftp.demon.co.uk/pub/perl/db/other/iODBC/ updated: 1995/12/29 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: perl4 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: MPSQL version: 1.5 interface from: X11 interface to: PostgreSQL description: SQL GUI client for PostgreSQL. Similar to Oracle's Server Manager. author: keidav@whidbey.com how to get: http://www.troubador.com/~keidav/index.html updated: 1997/06/30 name: nnODBC version: 0.5 interface from: ODBC interface to: Netnews description: Developed as an example of an ODBC driver. author: Ke Jin <kejin@empress.com> how to get: ftp://ftp.demon.co.uk/pub/perl/db/other/iODBC/ updated: 1996/06/04 name: Win32::ODBC version: ? interface from: Perl5 interface to: ODBC description: ODBC bindings for perl5 on Windows95 and WindowsNT author: Daniel Demaggio <dmag@engin.umich.edu> how to get: http://www.roth.net/odbc updated: ? name: OdbcTcl version: 0.2 interface from: Tcl interface to: ODBC description: OdbcTcl is an extension for TCL to access the ODBC 2.0 libraries. ports: Windows 95, Windows NT, Linux author: Jose Porcayo <103662.3300@CompuServe.COM> how to get: ftp://ftp.neosoft.com//pub/tcl/sorted/databases/ updated: 1997/02/26 name: ODBM version: 0.9 interface from: C++ interface to: dbm limits: Some minor ones. robustness: Looks fine but not hardly tested yet. description: ODBM is a tiny, DBM-based persistent object storage. It provides single inheritance, automatic key and object type management, list types, and objects up to 65000 DBM blocks. The overall functionality depends on the DBM module used as a basis. references: Webpages, explaining the interface and some implemantation issues. discussion: Contact the author. bugs: Contact the author. author: Jan Lessner <jan@c-lab.de> ports: Common UNIX platforms and Windows NT, thought to be quite portable. restrictions: Copyrighted with liberal use policy. how to get: http://www.c-lab.de/~jan/odbm updated: 1997/03/19 name: ODDIS version: 2.11 interface from: tty interface to: Oracle description: The Oracle Data Dictionary Information System (ODDIS) provides a database administrator's view of an Oracle database. It displays the data dictionary, and various statistics. It accepts SQL statements to be run and will allow you to edit them. contact: oddis@informatik.uni-hannover.de how to get: ftp://ftp.informatik.uni-hannover.de/software/oddis/oddis-2.11.tar.gz restrictions: GNU General Public License updated: 1996/06/12 name: Oraguile version: 0.0 interface from: Guile interface to: Oracle how to get: ftp://ftp.andrews.edu/pub/aldy/ updated: 1996/02/15 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://ftp.demon.co.uk/pub/perl/db/perl4/oraperl/ updated: ? name: Oratcl version: 2.5b1 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: 1997/05/09 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: REXX/SQL version: 1.2 interface from: REXX interface to: Oracle, mSQL description: SQL bindings for REXX author: Hessling Mark <hesslinm@news.qut.edu.au> how to get: ftp://ftp.qut.edu.au/src/REXXSQL updated: 1995/08/13 name: SIOD (Scheme In One Defun/Day) version: 3.2 interface from: C, C++, Scheme interface to: Oracle, Digital RDB, flat ascii, flat binary. Sybase. 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. Sybase via ct library. The system also provides a general purpose unix scripting language environment. 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. LINUX. OSF/1. SGI. author: George Carrette <gjc@world.std.com> how to get: ftp pub/gjc/siod* from ftp.std.com. or from sunsite.unc.edu pub/Linux/devel/lang/lisp/ updated: 1996/06/12 name: Sqsh version: 1.5 interface from: command line, X11 interface to: Sybase description: A scripting command line interpreter interface to Sybase. Sqsh provides a powerful environment for using Sybase. author: Scott Gray <gray@voicenet.com> how to get: http://www.voicenet.com/~gray/sqsh.html updated: 1997/02/18 name: SybJava version: 1.0 Beta interface from: Java interface to: Sybase description: A port of Sybtcl to Java author: James Todd <james.todd@eng.sun.com> how to get: http://users.aimnet.com/~omd/sybjava.html updated: ? name: Sybperl version: 1.011 patch 12 interface from: perl4 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/mod/Sybperl/ from ftp.demon.co.uk updated: 1994/12/22 name: Sybperl version: 2a7 (a is for alpha) interface from: Perl5 interface to: Sybase descritpion: Sybperl is a set of user subroutines to enable Perl programs to access Sybase databases. Sybase::DBlib implements a fairly large subset of Sybase's DBlibrary API in the Perl5 fashion (ie using some of the new OO features of Perl5) requires: perl5 discussion: perldb-interest-REQUEST@vix.com author: Michael Peppler <mpeppler@itf.ch> how to get: ftp pub/perl/db/mod/Sybperl/ from ftp.demon.co.uk updated: 1994/12/22 name: Sybtcl version: 2.5b1 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: 1997/05/09 name: T2C version: 1.0 interface from: C++ interface to: Oracle (Gupta and Sybase possible) robustness: Author is using it for serious applications in a health care environment. description: T2C generates C++ source code for so called ``shuttle classes''. A shuttle class is a C++ class that reflects a certain relation within a DBMS. There are methods for retrieving, inserting, updating and deleting tuples whithout having to spell out any attribute in an SQL statement. This greatly faciliates DBMS interfacing for C++ applications thereby adding flexibility. bugs: gusw@fub46.zedat.fu-berlin.de ports: unix restrictions: GNU General Public License author: Gunther Schadow <gusw@fub46.zedat.fu-berlin.de> CB++ was originally written by Bernhard Strassl <bernhard@ani.univie.ac.at> how to get: http://fub46.zedat.fu-berlin.de:8080/~gusw/t2c-1.0.tar.z updated: 1995/07/21 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: tcshql version: 1.0 interface from: Tcl interface to: Shql description: Tcl bindings for accessing Shql databases author: Jean-Luc Fontaine <jfontain@pluton.experdata.fr> how to get: http://www2.sco.com/Skunk96/src/Tcl/tcshql-1.0.tar.gz updated: ? name: TimeDB version: ? interface from: ATSQL2 interface to: Oracle description: TimeDB is a bitemporal relational database system based on the query language SQL. It supports a query language, data manipulation language, data definition language and assertions. TimeDB supports the temporal query language ATSQL2, which was designed by Michael Boehlen, Christian Jensen, Richard Snodgrass and Andreas Steiner. TimeDB runs as a frontend to the commercial (relational) database system Oracle. ATSQL2 statements (queries, updates, and assertions) are compiled into (sequences of) SQL-92 statements which are executed by the backend. TimeDB provides bitemporal statements. It excels in a seamless integration of time into databases by supporting upwards compatibility and temporal upwards compatibility. Implementation is continuing. A SQL main memory interpreter is shipped with this release, such that TimeDB can be run without Oracle. author: Andreas Steiner <steiner@inf.ethz.ch> how to get: http://www.inf.ethz.ch/personal/steiner/TimeDB.html updated: ? 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://ftp.demon.co.uk/pub/perl4/db/uniperl/ updated: ? name: WebinTool version: 2.1.1p1 interface from: WWW/CGI interface to: SQL description: WebinTool is a generic WWW to SQL-database interface building tool developed at the BBSRC Roslin Institute. WebinTool allows the user to create USER-CUSTOMIZED WWW interfaces to SQL-databases through a series of user-defined WebinTool forms. A WebinTool form is a document written in HTML and a set of webin statements. restrictions: GNU General Public License ports: Sybase, Ingres, bugs: jian.hu@bbsrc.ac.uk how to get: ftp://aretha.jax.org/csb/ updated: 1997/02/24 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 --------------------------------------------------------------------------- --------------------------- application builders -------------------------- --------------------------------------------------------------------------- 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: GNUstep Database Library version: 1.0.0 interface from: GNUstep interface to: Postgres, Sybase, SQL Server description: The GNUstep Database Library is a hierarchy of Objective-C classes that provide a three-tiered architecture for developing database applications. The three-tier architecture is a flexible paradigm for building robust and scalable client/server applications; the three tiers refer to the database, the Application Objects, and the user interface. The separation of the database from the user interface through intermediary Application Objects allows the data to be distributed appropriately across database servers and still have the user interface display data cohesively for the end-user. Business logic, as implemented in the Application Objects, provides the mechanism for consistency and reusability across all your business applications. refrences: http://www.gnustep.org contact: ? how to get: ftp://alpha.gnu.ai.mit.edu/gnu/ updated: 1997/03/19 name: Onyx version: 2.47 interface from: Onyx 4gl, Tcl, web interface to: Ingres89, GAWK, Shql, Yard, Minerva SQL, Postgres4.2, some CDROMs! (German Books in Print) interfaces: Onyx uses a OO-Parser to translate SQL to different query languages. The transaction manager can be accessed by any aplication which is able to use pipes or TCP/sockets. multiuser: Depends on the engine used. transactions: Yes, but no rollback, all transactions are atomic as a block, replication of transactions is possible. distributed: Yes its possible to connect to any mentioned database anywhere in the net. Replication over mail or tcp is posible, and crypted with idea/md5. query language: SQL + Onyx 4gl + Tcl + "extended" HTML limits: Current version uses memory to store active cursors. Most people told there is to few documentation. GCC > 2.5.8 sometimes makes problems. robustness: Onyx is stable, and useable for clients. If you are using a stable engine, you'll get a stable applcation. And you can exchange engines, when performance or features/bugs are required. The author is selling applications to departments of environment in germany, and bookstores. The author would like to have it keep track of his paycheck. 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: actively developed and supported; current version is stable. announcements: comp.os.linux.announce bugs: Michael Koehne <kraehe@bakunin.north.de> ports: Tested on Linux and SunOs. restrictions: GNU Public Licence author: Michael Kraehe <kraehe@bakunin.north.de> how to get: ftp://ftp.uni-bremen.de/pub/unix/database updated: 1996/03/28 --------------------------------------------------------------------------- --------------------------- other ----------------------------------------- --------------------------------------------------------------------------- name: Arjuna Distributed Programming System version: 3.2 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. Arjuna does not actually include a database system though it could be used to write one. 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 pub/Arjuna from arjuna.ncl.ac.uk updated: 1995/03/19 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 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 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: ftp://ftp.uu.net/published/oreilly/nutshell/lexyacc/ 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: pstream what: C++ byte stream library description: pstream is a persistent object stream library for C++. Lets you read and write C++ class objects to a stream. status: still in development author: Joshua Rowe <jrow@WPI.EDU> how to get: ? updated: 1996/09/08 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 name: SQL-86 in HTML what: html version of some of the SQL-86 standard references: http://case50.ncsl.nist.gov/sql-86/ author: David Flater <dave@case50.ncsl.nist.gov> updated: 1994/12/30 name: YACL version: ? description: YACL is a general-purpose C++ class library. It happens to include some disk access methods. ports: Windows, Linux, OS/2 author: M. A. Sridhar <sridhar@usceast.cs.scarolina.edu> how to get: ftp://ftp.cs.scarolina.edu/pub/sridhar/yacl.zip updated: 1994/05/25 name: xBase File Format Description what: Description of Xbase disk formats references: http://www.geocities.com/SiliconValley/Pines/2563/xbase.htm author: Erik Bachmann <e_bachmann@geocities.com> updated: 1997/06/02 --------------------------------------------------------------------------- ------------------------- other lists ------------------------------------- --------------------------------------------------------------------------- how to get: http://www.conline.com/~cbbrowne/rdbms.html how to get: http://cuiwww.unige.ch/~scg/FreeDB/ how to get: http://www-ccs.cs.umass.edu/db.html how to get: http://www.cs.wisc.edu/~kristint/dbmshome.html --------------------------------------------------------------------------- ------------------- free for linux, but no source ------------------------- --------------------------------------------------------------------------- name: MDBMS how to get: http://www.orion.nl/~marty/mdbms/ name: Essentia how to get: http://www.inter-soft.com/html/products/essentia.html User Contributions:
[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
Send corrections/additions to the FAQ Maintainer: free-databases@idiom.com
Last Update March 27 2014 @ 02:11 PM
|
Comment about this article, ask questions, or add new information about this topic: