[plt-scheme] disk-based associative array

From: Noel Welsh (noelwelsh at yahoo.com)
Date: Tue May 30 10:58:07 EDT 2006

Someone suggested the Berkeley DB.  gdbm and dbm are
cut-down versions of the same.  They match your
requirements but you don't seem to have looked at them. 
There have been several projects to bind Berkeley DB to
Scheme (I tried once).  One is here:


Searching for 'gdbm mzscheme' will yield something.  I
don't think there are any bindings that are up-to-date
and/or complete but the interface is fairly simple.  All it
needs is time, and with lib foreign.ss that amount of time
is quite small.


--- David Richards <vottamusic at verizon.net> wrote:

> > I've got the same requirements, but haven't found a
> good solution so 
> > far. Last time I tried the SLIB database in DrScheme it
> was broken. 
> > Moreover, as far as I remember the *disk-based*
> database was an 
> > extension for SCM only. SLIBs simple a-list db is
> in-memory.
> As far as I can understand it SLIB has a disk-based
> associative array 
> that allows 256 bytes keys and values.  I need blob
> values -- and 
> perhaps even longer keys, depending on the hash function
> to be used.
> I'm not about to get into the 'relational' mess in SLIB. 
> It's way too 
> complex for my needs.  I'm not even sure it will work.
> And in response to another reply, yes, essentially the
> requirements are 
> the mostly same as a file system.  However I wish to
> potentially store 
> tens of millions of variable sized objects.  The 'reiser
> file system' 
> looks interesting, but I'm not sure I want to tinker with
> the file 
> system at kernel level on my Mac OS X system.
> I've been taking a look at distributed hash tables, but
> that doesn't 
> seem right either for my current needs.
> I'd love to find a simple C program for a disk-based
> associative array 
> that stores fixed length keys and variable length values.
>  I could port 
> it to scheme fairly quickly I think.
> > It would be nice to have an Mzscheme interface to
> Metakit 
> > <http://www.equi4.com/metakit.html>.
> If wishes were code, programmers would sleep.
> Best regards,
> Dave

Email: noelwelsh <at> yahoo <dot> com   noel <at> untyped <dot> com
AIM: noelhwelsh
Blogs: http://monospaced.blogspot.com/  http://www.untyped.com/untyping/

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

Posted on the users mailing list.