dce@smsc.sony.com (David Elliott) (02/14/91)
I need a database library for a project I am working on. I hesitate to call it a "database", because it's more like a simple hierarchical filesystem inside a file than a database. The requirements are: * Freely distributable * Single key per record (keys will look a lot like pathnames due to hierarchical nature of the data) with reasonably long key length (1024 bytes for entire key is fine) * Variable record size - from a few bytes to over a megabyte (this leaves out dbm/ndbm on Unix) * No restrictions on content - may contain ASCII text, images, or binaries * An entire database must be able to be fit in a single file (no .pag/.dir combinations unless .dir can be recreated on the fly) In other words, except for the last item, I need a Unix filesystem that can live in a single file. For now, I am implementing the database as a Unix directory structure, and will probably keep that as an option later, but I want the data to be transportable in a single file at some point in the future.
jik@athena.mit.edu (Jonathan I. Kamens) (02/15/91)
I believe that the GNU dbm library, gdbm, will do everything you listed in your list of requirements, and it is freely redistributable (under the GPL). It is available for anonymous ftp in the file /pub/gnu/gdbm-1.4.tar.Z on prep.ai.mit.edu (18.71.0.38), and (I assume) at other GNU archive sites. -- Jonathan Kamens USnail: MIT Project Athena 11 Ashford Terrace jik@Athena.MIT.EDU Allston, MA 02134 Office: 617-253-8085 Home: 617-782-0710
oz@yunexus.yorku.ca (Ozan Yigit) (02/21/91)
In article <See ref> dce@smsc.sony.com (David Elliott) writes: >I need a database library for a project I am working on. ... > >The requirements are: > > * Freely distributable > * Single key per record ... > * Variable record size - from a few bytes to over a megabyte > * No restrictions on content ... > * An entire database must be able to be fit in a single file Berkeley Hash package fits this bill nicely. It also comes with byte-order independence, and the usual permissive berkeley copyright. It also happens to be the fastest such package available. A version of this code should be ftp-able from ucbarpa. You may wish to query margo@postgres.berkeley.edu about it. This package will be a regular part of future berkeley distributions. For gory implementation details of this package, see the paper in 1991 Winter Usenix Conference proceedings: "A New Hash Package for UNIX" by Margo Seltzer and Ozan Yigit. enjoy... oz --- First learn your horn and all the theory. Internet: oz@nexus.yorku.ca Next develop a style. Then forget all that uucp: utzoo/utai!yunexus!oz and just play. -- Charlie Parker York U. CCS: (416) 736 5257