From: mathew
Date: 2006-03-14T13:40:44+09:00
Subject: Re: how to introduce reference objects into ruby
> I would say a database is nice, but I fear it will be slow, disc access cannot be compared with memory access. It would probably be fast enough once I exactly know what operations I need to perform, but in the experimentation phase I am in now, I want to be able to try out things in a flexible and fast manner.
>
Well, I generally prefer an ACID relational database, but I gather that
for raw performance MySQL is good, using the MyISAM driver. Remember
that in a modern OS, you've got multiple levels of caching going on;
it's not like the system is going to be going out to disk for every datum.
> But to be honest, I never tried it, but maybe a nice Ruby class that hides all DB operations necessary would also work adequately.
If it were me, I'd implement a standard interface (API) as two classes,
one using hashes in RAM, and one using a relational datastore. I'd
experiment with algorithms using a smaller data set in RAM, then switch
to the relational database and run the same code on the full data set
once I was sure it was worthwhile.
mathew