home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 789.DATA10.TXT < prev    next >
Text File  |  1993-10-03  |  40KB  |  952 lines

  1.  
  2.  Catalog of Free Database Systems
  3.  
  4.  
  5. This document attemts to catalog databases that are
  6. available without payment and with source.
  7.  
  8. This document is still a draft.
  9.  
  10. The latest version of the document can be ftp'ed: get
  11. pub/free-databases from idiom.berkeley.ca.us.
  12.  
  13. Please send additions and corrections to
  14. David Muir Sharnoff <muir@idiom.berkeley.ca.us>
  15.  
  16. Thanks,
  17.  
  18. -Dave
  19.  
  20. ---------------------------------------------------------------------------
  21. Prototype entry:
  22.  
  23. name:  The name of the package
  24. version: The current version number of the package
  25.   direct inquiries to "contact."
  26. interfaces: The external interfaces that are supported by
  27.   the package.  Common interfaces are: SQL, ESQL,
  28.   dbm, etc.
  29. access methods: A list of the access methods that are supported
  30. multiuser: Can more than one person access the package at
  31.   the same time.
  32. transactions: Does the package support transactions?
  33. distributed: Does the package support distributed databases?
  34. query language: What query languages does the package support
  35.   if any?  SQL, QUEL, etc.
  36. index size: (full text only) the size of the index as a percentage
  37.   of the size of the text to be indexed.
  38. limits:  Any known, annoying limits
  39. robustness: Can this package be used on mission-critical data?
  40. description: A description of the package.
  41. references: Pointers to other documentation
  42. announcements: Where to get announcements
  43. discussion: Where to send, or how to join discussions about
  44.   the package
  45. bugs:  Where to send bug reports
  46. requires: Special requirements for installing or running
  47. ports:  What does the package run on?
  48. restrictions: Special copyright or other restrictions on the software
  49. author:  The primary author, if known.  If not known,
  50. contact: The current contact point.  If not specified,
  51.   use "author."
  52. how to get: Instructions for obtaining the package
  53. updated: When the package was last updated (yyyy/mm/dd)  [often
  54.   incorrect]
  55. ---------------------------------------------------------------------------
  56. Selected changes:
  57.  
  58.  added the "interfaces" section
  59.  added the "other" section
  60.  
  61.  added entry for DiamondBase
  62.  added entry for EDB
  63.  added entry for OBST
  64.  added entry for LINCKS
  65.  
  66.  version 1.71 of The Berkeley DB code has been released
  67.  
  68. ---------------------------------------------------------------------------
  69. --------------------------- relational databases --------------------------
  70. ---------------------------------------------------------------------------
  71.  
  72. name:  DiamondBase
  73. version: 0.1.3
  74. interfaces: C++ library
  75. access methods: b+ tree
  76. multiuser: not yet
  77. transactions: no
  78. distributed: no
  79. query language: C++ methods
  80. limits:  limits are set at compile time.  The default max records
  81.   is 21474836.
  82. robustness: Currently undergoing beta tests.  No bugs found yet.
  83. description: DiamondBase is written entirely in C++, and uses a schema
  84.   compiler to generate C++ class defintions for the objects, as
  85.   well as some comparison code which is also linked in to the
  86.   final executable.  There is currently work to eliminate the
  87.   dependency on the extra comparison code to permit generic
  88.   browsers to operate on it.  It was written originally as a
  89.   replacement for MetalBase which was too slow.  DiamondBase is
  90.   very fast.
  91. announcements: send mail to Darren Platt to be put on their list
  92. questions: send mail to Darren Platt
  93. bugs:  send mail to Darren Platt
  94. requires: C++
  95. ports:  many Unix platforms under cfront or gcc or Borland's compiler.
  96. restrictions: Free usage for non-commerical applications -- negotiate
  97.   anything else.
  98. author:  Kevin Lentin, Andrew Davison, Darren Platt
  99. contact: Darren Platt <darrenp@dibbler.cs.monash.edu.au>
  100. how to get: ftp pub/export/? from pippin.cs.monash.edu.au
  101. updated: 1993/07/11
  102.  
  103. name:  University INGRES
  104. version: 8.9
  105. interfaces: QUEL, EQUEL
  106. access methods: heap, hash, isam, ordered
  107. multiuser: yes
  108. transactions: yes, but no multistatement transactions.  Each statement
  109.   is ACID
  110. distributed: no
  111. query language: QUEL
  112. limits:  ?
  113. robustness: Very mature technology
  114. description: This is the database program that was the basis for INGRES
  115.   Corporation.  Obviously, it does not have all the bells
  116.   and whistles of the current commercial product.  However,
  117.   it is small and fast and it works.
  118.   So called ordered relations are slow and not locked.
  119. references: "The INGRES Papers" Stonebraker ed. Addison Wesley
  120. ports:  SunOS, ?
  121. author:  The Ingres project at UC Berkeley.
  122. contact: <ingres@postgres.berekely.edu>
  123. how to get: ftp pub/ingres89.tar.Z from toe.cs.berkeley.edu
  124.   _and_ ftp pub/source/ingres.patch from idiom.berkeley.ca.us
  125.     linux: ftp ? from tsx-11.mit.edu
  126. updated: 1993/05/20
  127.  
  128. name:  MetalBase
  129. version: 5.0
  130. interfaces: custome C library
  131. access methods: AVL-trees
  132. multiuser: yes, but in theory race conditions still exist
  133. transactions: yes
  134. distributed: no
  135. query language: "Report", and "View Relation" a curses based viewer
  136. limits:  ?
  137. robustness: data corruption is possible when MetalBase is not shut
  138.   down correctly
  139. description: MetalBase is a small relational database.  It has all the
  140.   pieces that a relational database should C interface, curses
  141.   interface, report writer, etc.  It does not have design which
  142.   takes advantage of shared memory or the better access methods.
  143.   None of the interfaces are standard, but all of them are easy
  144.   to use.
  145. discussion: mbase-request@internode.com.au
  146. requires: curses
  147. ports:  Linux, MS-DOS, Amiga, NeXT, Coherent, Macintosh MPW, SGI, Xenix
  148. restrictions: donations are suggested
  149. author:  Richid Jernigan / PO Box 827 / Norris TN 37828
  150. how to get: ftp systems/unix/linux/sources/usr.bin/mbase.tar.z
  151.   from ftp.uu.net
  152. updated: 1992/10/01
  153.  
  154. name:  Postgres
  155. version: 4.1
  156. interfaces: libpq (C interface)
  157. access methods: Heap plus secondary indexes: B-tree, R-tree, Hash.
  158. multiuser: yes
  159. transactions: yes
  160. distributed: no
  161. query language: Postquel (incompatable superset of Quel)
  162. limits:  ?
  163. robustness: "It is not up to commercial levels of reliability.  I would
  164.   not want _my_ payroll records in it :-)"
  165.   One user reports that with two people writing to the same
  166.   table it ocaisonally deadlocks.  (version 4.1)
  167. description: Postgres is a database research project under Prof. Michael
  168.   Stonebraker at U. C. Berkeley.  To facilitate research
  169.   efforts, a software test-bed was created; this is the
  170.   "Postgres" DBMS software.  The Postgres DBMS is extended
  171.   relational or object oriented, depending on the buzzword du
  172.   jour.  Postgres is relational.  It is highly extensible.  It
  173.   has object oriented features like inheritance.  it has query
  174.   language procedures, rules, updatable views, and more.
  175. references: There are may papers available, both through ftp and as
  176.   hard-copy technical reports.  Cruse the ftp site for papers
  177.   or mail Michelle Mattera <michelle@postgres.berkeley.edu>
  178. discussion: send "Subject: ADD" to postgres-request@postgres.berkeley.edu
  179. bugs:  <bug-postgres@postgres.berkeley.edu>
  180. ports:  MIPS Ultrix 4.2+, SunOS 4.1.1+, NextStep 3.0, Linux 0.99.7
  181.   in progress: Alpha OSF/1, HP-PA HP-UX 8.07, HP-PA HP-UX 9.01,
  182.    i386 SCO ODT 2.0, Sparc Solaris 2.1
  183.   previous versions: i386 SVR4, i386 386BSD, RS/6000 AIX 3.2
  184. contact: developers: <postgres-questions@postgres>
  185.   chief programmer: Marc Teitelbaum <marc@postgres.berkeley.edu>
  186.   admin: Michelle Mattera <michelle@postgres.berkeley.edu>
  187. how to get: ftp pub/postgres/postgres-v4r1/* from toe.cs.berkeley.edu
  188. updated: 1993/03/19
  189.  
  190. name:  REQUIEM
  191. version: ?
  192. interfaces: RQL, ERQL (extension)
  193. access methods: B-tree indexes can be created on attributes of base relations.
  194. multiuser: yes (multiuser extension)
  195. transactions: yes (multiuser extension)
  196. distributed: no
  197. query language: RQL
  198. robustness: [seems to maintained by zero to few people --muir]
  199. description: REQUIEM (RElational Query and Update Interactive systEM) is an
  200.   extensible, relational DBMS developed in C with a query language
  201.   based on the relational algebra called RQL (Relational Query
  202.   Language).
  203.   There appears to be three versions of REQUIEM: the base
  204.   version and two extensions.  One extension adds multiuser
  205.   capability.  The other adds an embeddable version of the
  206.   query langauge.
  207. references: "An Extensible DBMS for Small-Medium Scale Systems",
  208.   Papazoglou, M.P., IEEE Micro, April 1989.
  209.   Relational Database Management - A Systems Programming
  210.   Approach, Papazoglou, M.P. and Valder, W., Prentice Hall
  211.   International, UK, 1989.
  212.                 "The Development of a Program Interface for the RDBMS Requiem"
  213.                 Power, R.A., 1991 Honours Thesis (dvi file available with
  214.                 source code for the embedded version).
  215. ports:  Sparc/SunOS; base version only: MS-DOS, Macintosh
  216. contact: (embedded version only)
  217.   Robert Power <robert.power@csis.dit.csiro.au>
  218. how to get: ftp pub/requiem/REQUIEM.tar.Z (multiuser version) or
  219.   pub/requiem/Requiem.tar.Z (embeddable version)
  220.   from dcssoft.anu.edu.au
  221.   The base version can be constructed from the multiuser version.
  222. updated: 1992/10/06
  223.  
  224. name:  shql
  225. version: 1.1
  226. interfaces: SQL, shell
  227. multiuser: no
  228. transactions: no ?
  229. distributed: no
  230. limits:  no NULLs in the data, spaces and backslashes may be added when
  231.   the data contains punctuation, GROUP BY is not implemented.
  232. robustness: it is a shell script.
  233. description: Shql is a program that reads SQL commands interactively and
  234.   executes those commands by creating and manipulating Unix
  235.   files.  The program is patterned after Ingres' interactive sql
  236.   terminal monitor program.
  237. requires: bourne shell with functions, awk, grep, cut, sort, uniq, join,
  238.   wc, and sed
  239. author:  Bruce Momjian <root%candle.uucp@bts.com>
  240. how to get: ask archie
  241. updated: 1993/01/25
  242. ---------------------------------------------------------------------------
  243. --------------------------- object oriented -------------------------------
  244. ---------------------------------------------------------------------------
  245.  
  246. name:  Arjuna Distributed Programming System
  247. version: 2.0
  248. interfaces: C++
  249. access methods: ?
  250. multiuser: yes
  251. transactions: yes, nested
  252. distributed: yes, includes replicated objects
  253. query language: ?
  254. limits:  ?
  255. robustness: "all reported bugs fixed"
  256. description: Arjuna is a programming system for reliable distributed
  257.   computing. Arjuna supports nested atomic actions for
  258.   controlling operations on objects (instances of C++ classes),
  259.   which can potentially be persistent. The software available
  260.   includes a C++ stub generator which hides much of the details
  261.   of client-server based programming, plus a system programmer's
  262.   manual containing details of how to install Arjuna and use it
  263.   to build fault-tolerant distributed applications.
  264. discussion: send "join arjuna YOUR-NAME-HERE" to mailbase@mailbase.ac.uk
  265. ports:  UNIX: Suns, HPs, etc.
  266. restrictions: A commercial extension exists.
  267. contact: arjuna@newcastle.ac.uk
  268. how to get: ftp ? from arjuna.ncl.ac.uk
  269. updated: 1993/05/15
  270.  
  271. name:  EXODUS Project software
  272. version: GNU E 2.3.3, Storage Manager (SM) 3.0
  273. interfaces: GNU E, (C++ for direct access to the Storage Manager)
  274. access methods: B+tree and linear-hashing based indexes
  275. multiuser: yes, client-server
  276. transactions: yes
  277. distributed: yes, applications can access multiple servers in a single
  278.   transaction.  Distributed commits are performed across servers
  279.   and clients have access to an interface allowing participation
  280.   in distributed commits managed by an external agent.
  281. query language: GNU E -- a persistent programming language based on C++
  282. robustness: High (at least for academic software).
  283.                 The SM release includes a facility for regression
  284.   testing most features, including crash recovery.
  285. description: The EXODUS Storage Manager (SM) is a client-server object
  286.   storage system which provides "storage objects" for storing
  287.   data, versions of objects, "files" for grouping related storage
  288.   objects, and indexes for supporting efficient object access.  A
  289.   storage object is an uninterpreted container of bytes which can
  290.   range in size from a few bytes to hundreds of megabytes.  The
  291.   Storage Manager provides routines to read, overwrite, and
  292.   efficiently grow and shrink objects.  In addition, the Storage
  293.   Manager provides transactions, lock-based concurrency control,
  294.   and log-based recovery.
  295.   GNU E is a persistent, object oriented programming language
  296.   developed as part of the Exodus project.  GNU E extends C++
  297.   with the notion of persistent data, program level data objects
  298.   that can be transparently used across multiple executions of a
  299.   program, or multiple programs, without explicit input and
  300.   output operations.
  301. references: A bibliography of EXODUS related papers can be obtained from
  302.   the ftp site described below.  Some of the papers are available
  303.   from the ftp server as technical reports, and are marked as
  304.   such in the bibliography.
  305. discussion: We maintain a list of users for notification of updates.
  306.                 Mail exodus@cs.wisc.edu to be placed on the list.
  307. bugs:           exodusbugs@cs.wisc.edu
  308. ports:  MIPS/Ultrix, SPARC/SunOS, (HP 7xx/HP-UX for SM only)
  309. restrictions: none, but see copyright notice located in all source files
  310. author:  The EXODUS Database Toolkit project at the
  311.   University of Wisconsin
  312. contact: exodus@cs.wisc.edu
  313. how to get: ftp exodus/* from ftp.cs.wisc.edu
  314. updated: 1993/07/22
  315.  
  316. name:  LINCKS (Linkoping Intelligent Communication of Knowledge System)
  317. version: 2.0
  318. interfaces: emacs-like editor, ?
  319. access methods: ?
  320. multiuser: yes
  321. transactions: ?
  322. distributed: ?
  323. query language: ?
  324. robustness: ?
  325. description: LINCKS is an object-centred multi-user database system
  326.   developed for complex information system applications where
  327.   editing and browsing of information in the database is of
  328.   paramount importance.  The focus is on sharing of small
  329.   information chunks which combine to make up complex information
  330.   objects used by different users for different purposes. The
  331.   information chunks are semi-structured in that they contain one
  332.   part which is well-structured to facilitate addition of A.I.
  333.   processing within the system, and one part which is
  334.   unstructured and suitable for management by the user.
  335.   Features: shared composite objects, database history,
  336.   atlernative views, change collision notification (when more
  337.   than one person makes changes to the same composite object)
  338. discussion: ?
  339. bugs:  lincks-bugs@ida.liu.se.
  340. requires: Unix, X11R5
  341. ports:  Sun4/SunOS 4.1.[123], Sun4/SunOS 5.2, Sun3, Decstation,
  342.   RS/6000, Sequent Symmetry, Linux, HP-UX
  343. restrictions: GNU General Public License
  344. author:  Lin Padgham, Ralph Ronnquist; University of Linkoping, Sweden
  345. contact: lincks@ida.liu.se
  346. how to get: ftp pub/lincks/lincks-2.0.tar.gz from ftp.ida.liu.se
  347. updated: 1993/09/27
  348.  
  349. name:  OBject system of STONE (OBST)
  350. version: 3.3.3
  351. interfaces: C++, tcl, schema compiler, graphical object browser
  352. access methods: ?
  353. multiuser: yes, but writing locks entire tables
  354. transactions: yes
  355. distributed: ?
  356. query language: C++, tcl, graphical object browser
  357. limits:  ?
  358. robustness: ?
  359. description: The persistent object management system OBST was developed by
  360.   Forschungszentrum Informatik (FZI) as a contribution to the
  361.   STONE project. This project (supported by grant no. ITS8902A7
  362.   from the BMFT, i.e. the German Ministry for Research) aims at
  363.   the development of a software engineering environment for
  364.   education purposes and is carried out as a joint project of
  365.   nine german universities and research institutions.
  366.   An essential feature of STONE is that the object oriented
  367.   paradigm is pursued consequently as a key concept. OBST is the
  368.   common persistent object store for all tools within the STONE
  369.   environment.
  370.   OBST provides a rich OO model including multiple inheritance,
  371.   generics, overloading, and privacy.  The schema definition
  372.   language is syntactically similar to C++.  It comes with a
  373.   library of pre-defined classes like Set<Entity>, and
  374.   List<Entity>.  New methods can be incrementally loaded at
  375.   runtime.
  376. announcements: send "Subject: obst-mailing-list", "SUBSCRIBE <firstname>
  377.   <surname> <email-addr>" to stone@fzi.de
  378. requires: A C++ compiler (G++ 1.37/2.3.3 or AT&T 2.0/2.1/3.01)
  379. ports:  Sun4, Linux
  380. contact: stone@fzi.de
  381. how to get: ftp pub/OBST/? from ftp.fzi.de
  382.     linux: ftp pub/comp/i386/Linux/Local.EUnet/Applications/Database/OBST*
  383.   from ftp.germany.eu.net
  384. updated: 1993/09/06
  385.  
  386. name:           William's Object Oriented Database (Wood)
  387. version:        0.6
  388. interfaces:     MCL 2.0
  389. access methods: custom
  390. multiuser:      no
  391. transactions:   no
  392. distributed:    no
  393. query language: none. Has BTrees for indexing.
  394. limits:         Will slow down when the database size exceeds
  395.                 256 megabytes. Otherwise, database size limited
  396.                 by disk size (up to Macintosh limit, which is,
  397.                 I believe, 4 gigabytes). Object size limited
  398.                 to 24 megabytes. If you think of a Wood database
  399.                 as a random access FASL file, you'll have the
  400.                 right idea.
  401. robustness:     Until it has a real logging/recovery mechanism,
  402.                 I wouldn't advise using it for mission critical
  403.                 data. Caches pages in memory, so if you crash,
  404.                 you will lose. Has a function to flush the
  405.                 cache to disk, so you can do explicit checkpoints
  406.                 to make it more robust.
  407. description:    Wood is a simple persistent store for MCL 2.0.
  408.                 This is still alpha software. It is incomplete: though you can
  409.                 save/restore all Lisp objects to/from a file, there is no
  410.                 transaction/recovery manager and no garbage collector for the
  411.                 persistent heap. I will not be able to provide much support,
  412.                 but you get source code.
  413. discussion:     info-wood-request@cambridge.apple.com
  414. bugs:           bug-wood@cambridge.apple.com
  415. ports:          Macintosh CommonLisp 2.0
  416. author:         Bill St. Clair <bill@cambridge.apple.com>
  417. how to get:     ftp pub/mcl2/contrib/wood* from cambridge.apple.com
  418. updated:        1993/03/07
  419.  
  420. ---------------------------------------------------------------------------
  421. --------------------------- deductive databases ---------------------------
  422. ---------------------------------------------------------------------------
  423.  
  424. name:  Aditi Deductive Database System
  425. version: beta release
  426. interfaces: motif, command line, NU-Prolog
  427. access methods: Base relations contain variable sized records.  Base relations
  428.   can be indexed with B-trees or multi-level signature files
  429.   (superimposed code words) allowing multi-attribute indexing and
  430.   querying, or they can be stored as unindexed flat files.
  431. multiuser: yes
  432. transactions: next release
  433. distributed: ?
  434. query language: prolog, graphical (Motif)
  435. limits:  ?
  436. robustness: ?
  437. description: Aditi is a multi-user deductive database system.  It supports
  438.   base relations defined by facts (relations in the sense of
  439.   relational databases) and derived relations defined by rules
  440.   that specify how to compute new information from old
  441.   information.  The old information can be from derived relations
  442.   as well as base relations; the rules of derived relations may
  443.   be recursive.  Both base relations and the rules defining
  444.   derived relations are stored on disk and are accessed as
  445.   required during query evaluation.
  446. ports:  SPARC/SunOS, MIPS/IRIX
  447. author:  The development of the Aditi system started in 1988 by
  448.   Professor Kotagiri Ramamohanarao, and many people have been
  449.   involved in its development, in particular Jayen Vaghani, Tim
  450.   Leask, Peter Stuckey, John Shepherd, Zoltan Somogyi, James
  451.   Harland and David Kemp. The support of Kim Marriott, David
  452.   Keegel, and Warwick Harvey is also acknowledged.
  453. contact: aditi@cs.mu.oz.au
  454. how to get: send email to aditi@cs.mu.oz.au
  455. updated: 1992/12/17
  456.  
  457. name:  CORAL
  458. version: 0.1  (Version 1.0 expected shortly)
  459. interfaces: Exodus storage mangager, C++
  460. access methods: Hash-based and B+ tree indices
  461. multiuser: When used with Exodus
  462. transactions: When used with Exodus
  463. distributed: ?
  464. query language: Prolog-like with SQL-style extensions; C++ interface
  465. limits:  No type checking; only atomic values in persistent relations
  466. robustness: Research software; used for teaching and in research projects,
  467.   but some bugs remain
  468. description: The CORAL deductive database/logic programming system was
  469.   developed at the University of Wisconsin-Madison.  The CORAL
  470.   declarative language is based on Horn-clause rules with
  471.   extensions like SQL's group-by and aggregation operators, and
  472.   uses a Prolog-like syntax.  Many evaluation techniques are
  473.   supported, including bottom-up fixpoint evaluation and top-down
  474.   backtracking.  Disk-resident data is supported via an interface
  475.   to the Exodus storage manager; however, CORAL can run without
  476.   Exodus if disk-resident relations are not required.
  477.   A good interface to C++ is provided.  Relations defined using
  478.   the declarative language can be manipulated from C++ code,
  479.   and relations defined using C++ code can be used in declarative
  480.   rules.  C++ code defining relations can be incrementally loaded.
  481. requires: AT&T C++ 2.0 or later
  482. ports:  Decstations, Sun 4, Sparc, HP Snakes
  483. author:  The CORAL group consists of R. Ramakrishnan, P. Seshadri,
  484.   D. Srivastava and S. Sudarshan.  The following people made
  485.   important contributions: T. Arora, P. Bothner, V. Karra
  486.   and W.G. Roth.  Several other people were also involved:
  487.   J. Albert, T. Ball, L. Chan, M. Das, S. Goyal, R. Netzer
  488.   and S. Sterner.
  489. contact: Raghu Ramakrishnan <raghu@ricotta.cs.wisc.edu>
  490. how to get: ftp from ftp.cs.wisc.edu
  491. updated: 1993/02/12
  492. ---------------------------------------------------------------------------
  493. --------------------------- flat files ------------------------------------
  494. ---------------------------------------------------------------------------
  495.  
  496.  
  497. name:  EDB, the Emacs database
  498. version: 1.17
  499. interfaces: Emacs, Emacs Lisp
  500. multiuser: no
  501. transactions: no
  502. distributed: no
  503. query language: Emacs Lisp
  504. limits:  same as for Emacs -- typically 8 or 32 MB
  505. robustness: fairly high -- currently being used for mission-critical data
  506. description: EDB provides simple database access in a "user-friendly" Emacs
  507.   environment for flat files.  Extensions for linking records and
  508.   relational-like operations exist, and further extensions are
  509.   easy to make.
  510.   EDB is documented by a 110-page manual, complete with indices
  511. discussion: edb-list-request@theory.lcs.mit.edu
  512. bugs:  mernst@theory.lcs.mit.edu or edb-list@theory.lcs.mit.edu
  513. requires: GNU Emacs 18, GNU Emacs 19, or Lucid Emacs
  514. ports:  any computer that runs Emacs -- that is, almost any computer
  515. restrictions: GNU Public License
  516. author:  Michael Ernst <mernst@theory.lcs.mit.edu>
  517. how to get: ftp pub/emacs/edb/edb.tar.Z from theory.lcs.mit.edu
  518. updated: 1993/06/16
  519.  
  520. name:  Jinx
  521. version: 2.1
  522. interfaces: perl, shell
  523. multiuser: no
  524. transactions: no
  525. distributed: no
  526. query language: none
  527. limits:  no limits
  528. robustness: No bugs have ever been reported
  529. description: Very easy to use, curses based flat file handler.
  530.   In Perl, so no limits. Allows Join, Project, Sort etc.
  531.   Representation in 2 readable unix files.  A documented
  532.   Perl library makes it easy to add applications.
  533. references: Online help and a 17 page tutorial.
  534. requires: Perl, cterm (distributed with jinx)
  535. ports:  any unix system with ordinary perl and curses
  536. restrictions: Copyleft
  537. author:  Henk Penning, Utrecht University
  538. contact: Henk Penning <henkp@cs.ruu.nl>
  539. how to get: ftp pub/PERL/jinx.shar.Z and pub/PERL/cterm.shar.Z
  540.   from ftp.cs.ruu.nl
  541. updated: 1991/11/01
  542.  
  543. name:  rdb
  544. version: 2.5j
  545. interfaces: ?
  546. access methods: ?
  547. multiuser: ?
  548. transactions: ?
  549. distributed: ?
  550. query language: ?
  551. limits:  ?
  552. robustness: ?
  553. description: RDB is mostly a set of Perl scripts working as filters, like
  554.   "row" & "column"; a very nifty table formatting script is in
  555.   "ptbl", which can do long field folding into multiple lines per
  556.   row.
  557. references: ?
  558. discussion: ?
  559. bugs:  ?
  560. requires: perl
  561. ports:  ?
  562. author:  Walt Hobbs <hobbs@rand.org>
  563. how to get: ftp pub/RDB-hobbs/RDB-2.5j.tar.Z from rand.org
  564. updated: ?
  565.  
  566. ---------------------------------------------------------------------------
  567. --------------------------- dbm variants  ---------------------------------
  568. ---------------------------------------------------------------------------
  569.  
  570. name:  The Berkeley DB code
  571. version: 1.71
  572. interfaces: ndbm, hsearch
  573. access methods: hash, b+tree, recno
  574. multiuser: no
  575. transactions: no
  576. distributed: no
  577. query language: none
  578. limits:  can handle large items
  579. robustness: The db routines are used in some production code so they
  580.   are likely to work reasonably well.
  581. description: The Berkeley DB Code is a unification of several previous
  582.   interfaces.  It also forms the basis of a unified interface
  583.   to new access methods (b+tree, recno).
  584. references: "A New Hashing Package for UNIX", Margo Seltzer, Ozan Yigit,
  585.   Proceedings of the Winter USENIX Conference, Dallas, TX, 1991.
  586.   Also available by ftp'ing pub/oz/hash.ps.Z from nexus.yorku.ca.
  587.   "Document Processing in a Relational Database System, Michael
  588.   Stonebraker," Heidi Stettner, Joseph Kalash, Antonin Guttman,
  589.   Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982.
  590.   "LIBTP: Portable, Modular Transactions for UNIX," Margo
  591.   Seltzer, Michael Olson, Proceedings 1992 Winter Usenix
  592.   Conference, San Francisco, CA, January 1992.
  593. reported bugs: does not align data in memory [fixed? --ed]
  594. ports:  SunOS 4.1.2, Ultrix 4.2A, BSD 4.4, and most other Unix
  595. author:  Margo Seltzer, Keith Bostic, Ozan Yigit
  596. contact: Keith Bostic <bostic@cs.berkeley.edu>
  597. how to get: ftp ucb/4bsd/db.tar.Z from ftp.cs.berkeley.edu
  598. updated: 1993/09/16
  599.  
  600. name:  dbz
  601. version: "20 Feb 1993 Performance Release of C News"
  602. interfaces: dbm-like, command-line access
  603. access methods: hash
  604. multiuser: no
  605. transactions: no
  606. distributed: no
  607. query language: none
  608. limits:  lines are limited to 1024 bytes unless the -l option is used
  609. robustness: very robust within its domain
  610. description: A dbm-like library maintained for use with C-news.
  611. ports:  everything that runs C-news (lots)
  612. author:  Jon Zeeff <zeeff@b-tech.ann-arbor.mi.us>, David Butler, Mark
  613.   Moraes, Henry Spencer.  Hashing function by Peter Honeyman.
  614. contact: Henry Spencer <henry@zoo.toronto.edu>
  615. how to get: included in the C-news distribution as ./dbz
  616. updated: 1992/02/11
  617.  
  618. name:  gdbm
  619. version: 1.6
  620. interfaces: dbm, ndbm, gdbm
  621. access methods: hash
  622. multiuser: no, but does lock the entire file
  623. transactions: no
  624. distributed: no
  625. query language: none
  626. limits:  can handle large items
  627. robustness: [should be good --ed]
  628. description: An ndbm work-alike from the Free Software Foundation
  629. bugs:  gnu.utils.bug
  630. author:  Philip A. Nelson <phil@wwu.edu>
  631. how to get: ftp gdbm-*.tar.gz from any gnu archive
  632. updated: 1993/07/20
  633.  
  634. name:  sdbm
  635. version: ?
  636. interfaces: ndbm
  637. access methods: hash
  638. multiuser: no
  639. transactions: no
  640. distributed: no
  641. query language: none
  642. limits:  ?
  643. robustness: [I know of no problems --ed]
  644. description: ndbm work-alike hashed database library based
  645.   on Per-Aake Larson's Dynamic Hashing algorithms.
  646. author:  Ozan S. Yigit <oz@nexus.yorku.ca>
  647. how to get: included in the X11R5 distribution as contrib/util/sdbm
  648. updated: 1990/03/01
  649.  
  650. name:  tdbm
  651. version: 1.1
  652. interfaces: dbm-like
  653. access methods: hashing
  654. multiuser: In theory, but the required threads package is not currently
  655.                 distributed.
  656. transactions: yes
  657. distributed: yes
  658. query language: none
  659. limits:         Some minor ones.
  660. robustness: Probably pretty reliable, but no hard data available.
  661. description: Tdbm is a transaction processing database with a dbm-like
  662.   interface.  It provides nested atomic transactions, volatile
  663.   and persistent databases, and support for very large objects
  664.   and distributed operation.
  665. references: A paper appearing in the Summer '92 USENIX proceedings
  666.   describes the design and implementation of tdbm and examines
  667.   its performance.
  668. discussion: Contact the author.
  669. bugs:  Contact the author.
  670. author:  Barry Brachman <brachman@cs.ubc.ca>
  671. requires:       Nothing special.
  672. ports:  Sparc, MIPS, AIX.  Thought to be quite portable.
  673. restrictions:   Copyrighted with liberal use policy.
  674. how to get: ftp pub/local/src/tdbm.tar.Z from cs.ubc.ca [137.82.8.5]
  675. updated: 1992/05/13
  676.  
  677.  
  678. ---------------------------------------------------------------------------
  679. --------------------------- full text -------------------------------------
  680. ---------------------------------------------------------------------------
  681.  
  682. name:  Liam Quin's text retrieval package (lq-text)
  683. version: 1.12-gamma
  684. interfaces: command line, curses
  685. access methods: hash (dbm) plus clustered linked list
  686. multiuser: read only
  687. distributed: no, can be used over nfs if the systems are similar
  688. query language: very limited command line
  689. limits:  30-bit max document size, 31-bit distinct words in vocabulary,
  690.   up to 2^24 documents (possibly more but I don't have enough
  691.   disk to test anything like that!)
  692. index size: >30%, <100% of input text
  693. robustness: The README says that there are bugs.
  694. description: lq-text is a text retrieval package.
  695.   That means you can tell it about lots of files, and later you
  696.   can ask it questions about them.  The questions have to be:
  697.   "which files contain this word?" or "which files contain this
  698.   phrase?", but this information turns out to be rather useful.
  699.   Lqtext has been designed to be reasonably fast.  It uses an
  700.   inverted index, which is simply a kind of database.  This tends
  701.   to be smaller than the size of the data, but more than half as
  702.   large.  You still need to keep the original data.
  703.   Lqtext uses dbm (berkeley db or sdbm) to store its indexes.
  704. discussion: lq-text-beta-request@sq.com
  705. bugs:  lq-text-beta@sq.com
  706. ports:  most version of unix (except SCO)
  707. restrictions: permission required for commercial use.
  708. author:  Liam R. E. Quin <lee@sq.com>
  709. how to get: ftp pub/lq-text*.tar.Z from relay.cs.toronto.edu
  710. updated: 1992/08/24
  711.  
  712. name:  SMART
  713. version: 11.0
  714. interfaces: terminal, X (slightly oder version), and several
  715.   under development including Z39.50
  716. access methods: inverted file search or sequential search
  717. multiuser: yes, but last writer wins when there are update conflicts
  718. distributed: In-house version, to be made public in fall
  719. query language: Natural language
  720. index size: approx 40% of original text.
  721. limits:  Can only handle roughly 4 Gbytes of text in
  722.   non-distributed version.
  723. robustness: Research tool; parts have been well-tested but others not.
  724. description: SMART is an implementation of the vector-space model of
  725.   information retrieval proposed by Salton back in the 60's.  The
  726.   primary purpose of SMART is to provide a framework in which to
  727.   conduct information retrieval research.  Standard versions of
  728.   indexing, retrieval, and evaluation are provided.
  729.   The system is designed to be used for small to medium scale
  730.   collections, and offers reasonable speed and support for these
  731.   actual applications.
  732.   SMART analyses the collection of information and builds
  733.   indexes.  It can then be used to build natural-language based
  734.   information retrieval software.  It uses feedback from the
  735.   user to tighten its search.
  736. restrictions: Research use only.
  737. discussion: smart-people-request@cs.cornell.edu
  738. ports:  Unix (works under Linux, does not work under Ultrix, ?)
  739. contact: <chrisb@cs.cornell.edu>
  740. how to get: ftp pub/smart/* from ftp.cs.cornell.edu
  741. updated: 1992/07/2
  742.  
  743. name:  WAIS (Wide Area Information Server)
  744. version: 8 b5.1
  745. interfaces: the wais protocol (Z39.50)
  746. access methods: inverted string index
  747. multiuser: read only
  748. distributed: client/server
  749. query language: natural language, boolean, Relevance Feedback
  750. index size: roughtly = data size
  751. limits:  "none"
  752. robustness: fairly high
  753. description: There are three main components: WAISINDEX, WAISSERVER, and
  754.   WAISSEARCH.
  755.   WAISINDEX creates an inverted file index.  WAISINDEX includes
  756.   filters for a number of common file formats.
  757.   WAISSERVER listens for Z39.50 packets and tries to answer
  758.   them.
  759.   WAISSEARCH is the user agent that talks to WAISSERVERs.  There
  760.   are several front ends: shell, X, and emacs.
  761. announcements: wais-interest-request@think.com
  762. discussion: wais-discussion-request@think.com
  763. ports:  vax, sun-3, sun-4, NeXT, sysV
  764. restriction: commercial version exists, contact info@wais.com
  765. author:  Harry Morris <Morris@wais.com>, Brewster Kahle
  766.   <Brewster@wais.com>, Jonny Goldman <Jonathan@Think.COM>
  767. how to get: ftp pub/freeware/unix-src/* from wais.com
  768. updated: 1992/11/16
  769.  
  770. ---------------------------------------------------------------------------
  771. --------------------------- interfaces ------------------------------------
  772. ---------------------------------------------------------------------------
  773.  
  774. name:  DSQL
  775. version: 3.0
  776. interface from: Unix, Macintosh, MS-DOS, MS-Windows, and Macintosh Hypercard
  777. interface to: Unix/Informix, VMS/Oracle
  778. description: DSQL is a simple client/server protocol to support remote
  779.   access of SQL databases.  DSQL was designed in response to a
  780.   perceived need at Genentech to provide graphical front-ends on
  781.   Macintosh computers to Informix relational databases running on
  782.   Unix servers.  DSQL version 3 is distributed with 2 server
  783.   implementations and four client library implementations.  The
  784.   API for the client libraries has been standardized, and the
  785.   client code is divided into portable and architecture-specific
  786.   portions.
  787. requires: ?
  788. ports:  Mac, PC, Unix
  789. author:  The Genentech Scientific Computing Technology Development
  790.   group.  Original authors: David Mischel, Terry Oberzeir,
  791.   Scooter Morris <scooter@tinman.gene.com>, Kathryn Woods.
  792.   Current team: Jim Fitzgerald, David Mischel, Scooter Morris,
  793.   Terry Oberzier, and Dan Lamb (VMS/Oracle).
  794. contact: ?
  795. how to get: ftp pub/dsql.3.tar.Z from cgl.ucsf.edu
  796. updated: 1993/06/25
  797.  
  798. name:  Isqlperl
  799. version: 1.1
  800. interface from: perl
  801. interface to: Informix
  802. limits:  Maximum concurrently open cursors configured at build time.
  803. descritpion: Isqlperl is a set of user subroutines to enable Perl programs to
  804.   access Informix databases.
  805. requires: Perl 4.035 or higher, Informix ESQL/C (Online, SE, or Turbo)
  806. discussion: perldb-interest-REQUEST@vix.com
  807. restrictions: GNU Public License
  808. author:  Bill Hails <bill@tardis.co.uk>
  809. how to get: ftp pub/perl/db/isqlperl/isqlperl-1.1.shar.Z
  810.   from ftp.demon.co.uk
  811. updated: 1993/09/21
  812.  
  813. name:  Isqltcl ?
  814. version: ?
  815. interface from: tcl
  816. interface to: Informix
  817. description: Isqltcl is an extension to Tool Command Language (Tcl) that
  818.   provides access to an Informix database server.  Isqltcl adds
  819.   additional Tcl commands that login to an Informix Server, pass
  820.   SQL code, read results, etc.
  821. requires: ?
  822. discussion: comp.lang.tcl
  823. author:  Srinivas Kumar <skumar@netcom.com>
  824. how to get: ftp tcl/extensions/isqltcl.tar.Z from harbor.ecn.purdue.edu
  825. updated: 1993/09/15
  826.  
  827. name:  Interperl
  828. version: ?
  829. interface from: perl
  830. interface to: Interbase
  831. descritpion: Interperl is a set of user subroutines to enable Perl programs to
  832.   access Interbase databases.
  833. requires: Perl 3.027 or higher, ?
  834. discussion: perldb-interest-REQUEST@vix.com
  835. author:  Buzz Moschetti <buzz@bear.com>
  836. how to get: ftp pub/perl/db/interperl/? from ftp.demon.co.uk
  837. updated: ?
  838.  
  839. name:  Oraperl
  840. version: ?
  841. interface from: perl
  842. interface to: Oracle
  843. descritpion: Oraperl is a set of user subroutines to enable Perl programs to
  844.   access Oracle databases.
  845. requires: Perl 3.027 or higher, Oracle Pro*C
  846. discussion: perldb-interest-REQUEST@vix.com
  847. author:  Kevin Stock
  848. how to get: ftp pub/perl/db/oraperl/? from ftp.demon.co.uk
  849. updated: ?
  850.  
  851. name:  Oratcl
  852. version: 1.0
  853. interface from: TCL
  854. interface to: Oracle
  855. description: Oratcl is an extension to Tool Command Language (Tcl) that
  856.   provides access to a Oracle Database server.  Oratcl adds
  857.   additional Tcl commands that login to an Oracle Server, pass
  858.   SQL code, read results, etc.  Oratcl was inspired by similar
  859.   tools written for Perl (sybperl, oraperl) but was written from
  860.   scratch instead of borrowing on the work of either Perl
  861.   extension.
  862. requires: Tcl 6.7, Tk 3.2, Oracle OCI libraries 1.5,
  863.   Oracle SQL Server Version 6 or Version 7
  864. discussion: comp.lang.tcl
  865. author:  Tom Poindexter <tpoindex@nyx.cs.du.edu>
  866. how to get: ftp pub/tcl/extensions/oratcl-1.0.tar.Z
  867.   from harbor.ecn.purdue.edu
  868. updated: ?
  869.  
  870. name:  pgperl
  871. version: ?
  872. interface from: perl
  873. interface to: Postgres
  874. descritpion: pgperl is a set of user subroutines to enable Perl programs to
  875.   access Postgres databases.
  876. requires: Perl 3.027 or higher, ?
  877. discussion: perldb-interest-REQUEST@vix.com
  878. author:  Igor Metz <metz@iam.unibe.ch>
  879. how to get: ftp pub/perl/db/pgperl/? from ftp.demon.co.uk
  880. updated: ?
  881.  
  882. name:  Sqlperl
  883. interface from: perl
  884. interface to: Ingres
  885. descritpion: Sqlperl is a set of user subroutines to enable Perl programs to
  886.   access Ingres databases.
  887. requires: Perl 3.027 or higher, ?
  888. discussion: perldb-interest-REQUEST@vix.com
  889. author:  Ted Lemon <mellon@ncd.com>
  890. how to get: ftp pub/perl/db/sqlperl/? from ftp.demon.co.uk
  891. updated: ?
  892.  
  893. name:  Sybperl
  894. version: 1.008
  895. interface from: perl
  896. interface to: Sybase
  897. descritpion: Sybperl is a set of user subroutines to enable Perl programs to
  898.   access Sybase databases.
  899. requires: Perl 3.027 or higher, ?
  900. discussion: perldb-interest-REQUEST@vix.com
  901. author:  Michael Peppler <mpeppler@itf.ch>
  902. how to get: ftp pub/perl/db/sybperl/? from ftp.demon.co.uk; or from
  903.   comp.sources.misc volume 39.
  904. updated: 1993/09/23
  905.  
  906. name:  Sybtcl
  907. version: 1.2
  908. interface from: TCL
  909. interface to: Sybase
  910. description: Sybtcl is an extension to Tool Command Language (Tcl) that
  911.   provides access to a Sybase Database server.  Sybtcl adds
  912.   additional Tcl commands that login to a SQL Server, pass SQL
  913.   code, read results, etc.  Sybtcl was inspired by similar tools
  914.   written for Perl (sybperl, oraperl) but was written from
  915.   scratch instead of borrowing on the work of either Perl
  916.   extension.
  917. requires: Sybase Open Client (DB-Library), Sybase SQL Server
  918. discussion: comp.lang.tcl
  919. author:  Tom Poindexter <tpoindex@nyx.cs.du.edu>
  920. how to get: ftp tcl/extensions/sybtcl-1.2.tar.Z from harbor.ecn.purdue.edu
  921. updated: 1992/10/08
  922.  
  923. name:  Uniperl
  924. version: ?
  925. interface from: perl
  926. interface to: Unify 5.0
  927. descritpion: Uniperl is a set of user subroutines to enable Perl programs to
  928.   access Unify databases.
  929. requires: Perl 3.027 or higher, ?
  930. discussion: perldb-interest-REQUEST@vix.com
  931. author:  Rick Wargo <rickers@coe.drexel.edu>
  932. how to get: ftp pub/perl/db/uniperl/? from ftp.demon.co.uk
  933. updated: ?
  934.  
  935. ---------------------------------------------------------------------------
  936. --------------------------- other -----------------------------------------
  937. ---------------------------------------------------------------------------
  938.  
  939. name:  _lex & yacc_ by Levine, Mason & Brown published by O'Reilly
  940. version: ?
  941. parts:  grammar
  942. description: In _lex & yacc_, by Levine, Mason & Brown an SQL parser
  943.   is included as an example grammar
  944. author:  Levine, Mason & Brown
  945. how to get: buy the book, or ftp published/oreilly/nutshell/lexyacc/?
  946.   from ftp.uu.net.
  947. updated: ?
  948.  
  949.  
  950.  
  951.  
  952.