OT: Can someone explain to me the difference between "Berkeley DB" and ("DBM", "GDBM", "SDBM")? Gavin On Wednesday, October 6, 2004, 7:22:18 AM, Richard wrote: > Berkely DB is a good solution, and Guy Decoux has a great Ruby wrapper for > accessing it. > Bdb link: > http://moulon.inra.fr/ruby/bdbxml.html > Ruby library: > http://moulon.inra.fr/ruby/bdb.html > -rich > On 10/5/04 5:12 PM, "Robert Feldt" <feldt / ce.chalmers.se> wrote: >> Hi, >> >> I need a simple way to have a potentially very large hash mapping >> Strings to Ruby objects. It needs to scale to on the order of 1 million >> entries with up to 1kb of data per entry (even though it might end up >> with maybe 2-300 bytes per entry for starters). Access time is not >> critical but low-to-medium mem usage is. Deletion of (and insert of new) >> keys/values will be fairly frequent so should be supported. >> >> I've been thinking of doing it with some simple files/dir structure and >> a "front end" object which hides the details (of marshal/load of the >> objects and mapping of keys to the marshaled data etc) but maybe there >> is something simpler that might be of use? >> >> SDBM does not seem to cut it; a simple test with insertion of random >> strings grows non-linearly in the file size and thus do not scale. Could >> sqlite or something similar handle this better? >> >> However, I would rather go for something simple than having to bundle a >> "full" db. >> >> If it simplifies you can assume the keys and/or values are of fixed >> sizes since that is very likely but I'm not sure it will really be >> possible to keep that invariant so more flexbile solutions might be >> needed. Solution ideas which support caching is nice but not required >> (mostly since I can add that later if the need is there). >> >> Any ideas, experience, code or pointers that can help me design/choose >> this is of interest. >> >> Thanks, >> >> Robert >> >> >>