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