info-gnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

wb-2a2 database library package release


From: Aubrey Jaffer
Subject: wb-2a2 database library package release
Date: Mon, 4 Feb 2008 00:29:22 -0500 (EST)

This message announces the availability of wb-2a2.

"WB" is a disk based (sorted) associative-array package with C, SCM,
Java, and C# libraries.  These associative arrays consist of variable
length (0.B to 255.B) keys and values.  Functions are provided to:

   * create, destroy, open and close disk-files and associative arrays;

   * insert, delete, retrieve, find next, and find previous (with
     respect to dictionary order of keys); and

   * The atomic `put' and `rem' operations allow associations to be
     used for process mutexs.

   * apply functions, delete, or modify values over a range of
     consecutive key values.

The (database) disk files interoperate between the various language
libraries.  The interface to the SCM Scheme implementation supports
longer data values and SLIB relational databases.

The WB implementation has a file size limit of 2^32 * block size
(default 2048.B) = 2^43 bytes (8796.GB).  WB routinely runs with
databases of several hundred Megabytes.  WB does its own memory and
disk management and maintains a RAM cache of recently used blocks.

Multiple associative arrays can reside in one disk file.  Simultaneous
access to multiple disk files is supported.  A structure checking and
garbage collecting program and a viewer are provided.  Compiled, WB
occupies approximately 66 kilobytes.

WB is implemented using a variant of B-tree structure.  B-trees give
slower access than hashing but are dynamic and provide an efficient
determination of successor and predecessor keys.  All operations are
O(log(n)) in the size of the database.  B-trees are commonly used by
database systems for implementing index structures.  B-trees are
optimized for using the minimum number of disk operations for large data
structures.  Prefix and suffix key compression are used for storage
efficiency in WB.

WB is free software and part of the GNU project.  It is released under
the GNU Lesser General Public License (LGPL).

Documentation and distributions in several formats are linked from
WB's home page:

             http://swissnet.ai.mit.edu/~jaffer/WB.html

Links to distributions of WB and related softwares are at the end of
this message.

                                -=-=-
wb-2a2 news:

* WB is now a GNU package.
* WB license is now LGPLv3.
* Documentation changed to GNU Free Documentation License.
* wb-discuss email group
  http://lists.gnu.org/mailman/listinfo/wb-discuss

                                -=-=-

  * wbsys.h (max, min): #define only if not #defined.
  Ported to VC++2005 conditioned on #ifdef _MSC_VER.
  Supplied prototype for ent_make_ent().
  Conditionalized #include <unistd.h> for MSVC++2005.

  * java/Wbdefs.java, java/Blkio.java, java/Del.java,
  java/Ents.java, java/Handle.java, java/Prev.java, java/Scan.java,
  java/Segs.java, java/Stats.java java/Test.java, java/Blink.java,
  java/Blk.java, java/Db.java, java/Example.java, java/Seg.java:
  Removed unused static imports.

  * wbdefs.scm, del.scm, ents.scm, handle.scm, prev.scm, scan.scm,
  segs.scm, stats.scm, blink.scm, blkio.scm: Removed unused
  java:import classes.

  * java/Makefile (JAVAC): New versions of JDK require
  "javac -source 5" in order to allow static imports.

  * Makefile (temp/wb): Include csharp/Wb.dll and test files.

                                -=-=-

WB source is available from:
 http://swissnet.ai.mit.edu/ftpdir/wb-2a2.tar.gz
 swissnet.ai.mit.edu:/pub/scm/wb-2a2.tar.gz

WB source is available from:
 http://swissnet.ai.mit.edu/ftpdir/scm/wb-2a2.zip
 swissnet.ai.mit.edu:/pub/scm/wb-2a2.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/wb-2a2-1.src.rpm
 swissnet.ai.mit.edu:/pub/scm/wb-2a2-1.src.rpm
Also available as i386 binary RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/wb-2a2-1.i386.rpm
 swissnet.ai.mit.edu:/pub/scm/wb-2a2-1.i386.rpm

WB comes with an interface to the Scheme implementation SCM; and
contains "wbtab.scm", SCM code allowing WB to implement SLIB
relational databases.

SCM source is available from:
 http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e5.zip
 swissnet.ai.mit.edu:/pub/scm/scm-5e5.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e5-1.src.rpm
 swissnet.ai.mit.edu:/pub/scm/scm-5e5-1.src.rpm
Also available as i386 binary RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e5-1.i386.rpm
 swissnet.ai.mit.edu:/pub/scm/scm-5e5-1.i386.rpm

SLIB is a portable Scheme library which SCM uses:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-3b1.zip
 swissnet.ai.mit.edu:/pub/scm/slib-3b1.zip
Also available as RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-3b1-1.noarch.rpm
 swissnet.ai.mit.edu:/pub/scm/slib-3b1-1.noarch.rpm




reply via email to

[Prev in Thread] Current Thread [Next in Thread]