VoyDB/VoyagerDB. Free, simple, highly-efficient database server and client library.
from Voyager Info-Systems (www.voyager.com)

 
  • Maintains a dynamic set of open databases (any standard DBM library is usable; BerkeleyDB, GDBM, NDBM, ...)
  • Prevents need for and overhead of opening/closing dbs per-access (ie. per-hit)
  • Closes databases after timeout or if settable limit of open dbs is reached
  • Allows shared access and locking.
  • Multi-threaded
  • Free and open-source
  • Better-suited than SQL servers for many purposes (see below)
  • SourceForge: VoyDB Project Site | CVS |

    Comments and suggestions are appreciated; please send them to brandonh@remove-spam.users.sourceforge.net.

    What is it?

    Short Description:
    Simple and efficient database server/client library keeping a dynamic set of dbs open for key/value access to standard DBMs w/o overhead of opens on & between accesses. For many very-common purposes it is much more useful than the SQL servers.

    Somewhere between the simple DBM libraries and the SQL servers lies a niche which did not seem to be filled--a small server which maintained a dynamic set of open databases--especially useful for minimizing the overhead of opening/closing databases for web-access, yet allowing access to key/value datapairs.

    VoyDB is an open-source (written in C) multi-threaded daemon and client library which keeps a set of databases open, providing simultaneous access to connecting clients. The purpose is to allow the same simple key/value access of a standard DBM (BerkeleyDB, GDBM, NDBM, ...) but removing the problematic overhead of opening and closing each database upon access and between consequtive hits. It allows users/clients to maintain their own directory structure and file-naming convention, which gives power to the user and addresses the problem of file-system limits.

    If you are a programmer and are interested in being involved, please visit the VoyDB Project Site -- you may also download the latest package.

    VoyDB is especially suited for those accustomed to standard DBMs like Berkeley DB, or any programmers wishing a key=value database system. It is designed to use the DBM of your choice, although these first releases use only Berkeley DB, it is easy for contributing developers to add another DBM (like GDBM or NDBM).

    It allows simultaneous TCP connections and multiple attachments to single databases, supports record and file locking, and very important is its idle DB support -- when the last client accessing a specific database disconnects or detaches, the database is left open for a settable idle-time, thereby allowing a subsequent attach without the necessity of a close and re-open. This feature, and those previously-mentioned, make VoyDB especially suited for web-environments.

    Additionally, VoyDB is much less complicated a solution than the alternatives (of which none were found suitable), and gives the power to the client-user to manage the databases. The other potential solutions were too involved for such a common purpose as this is fitting for. These may not all be applicable to all SQL servers, but here are some of the reasons they were found unsuitable for some specific, but seemingly common needs: too extreme and complicated for the simple data-pair access needed, large footprint and/or require multiple files per single database, inability to make full use of directory structure, etc. The only solution which seemed promising was a commercial DB server, and thus I began work on the opensource project VoyDB.

    VoyDB is designed to use any DBM you wish, although in this first version only Berkeley DB is supported. Modification to provide access to other DBMs is very easy, and I assume future versions will provide support of choosing at compile time and/or at run-time, allowing multiple DBM-types served concurrently.

    This is intended to stay a simple un-bloated interface and, no matter the growth, I think should always allow the capability for (but not necessarily limited to) the databases to each be a single file, and with free directory/file naming conventions. The goal is to have the server do its main job of improving efficiency while also allowing useful features like sharing and locking, etc.

    Important:

    While it seems to work fine for normal use, there are some problems which render it unreliable, especially under high load. VoyDB is now in its second beta release.

    More information:

    This is my first release to the open-source community. For more information, please visit VoyDB @ SourceForge.

    To see some of our other contributions, please visit Voyager Info-System's homepage at www.Voyager.com, or go directly to VoyForums(tm), a free message-board service (we're told one of the top in the world in configurability, simplicity, power, and access), and also VoyCabulary(tm), an innovative free dictionary service which makes text or entire webpages clickable to perform lookups on any word -- we support various dictionaries including English, Medical, Computer, Multi-lingual, and other specialized dictionaries on the web. VoyCabulary was ranked in Yahoo's(tm) Top 50 Sites of 1998. Visit the sites for more information.


    SourceForge Logo

    Page maintained by Voyager Info-Systems.