Tom Machinski wrote:

> I might have impressed you with a somewhat inflated view of how large
> our data-set is :-)
> 
> We have about 100K objects, occupying ~500KB per object. So all in
> all, the total weight of our dataset is no more than 500MBs. We might
> grow to maybe twice that in the next 2 years. But that's it.
> 
> So it's very feasible to keep the entire data-set in *good* RAM for a
> reasonable cost.

I was just thinking ... Erlang has an in-RAM database capability called 
"Mnesia". Perhaps it could be ported to Ruby or one could write an 
ActiveRecord connector to a Mnesia database.

> Good point. Unfortunately, MySQL 5 doesn't appear to be able to take
> hints. We've analyzed our queries and there's some strategies there we
> could definitely improve by manual hinting, but alas we'd need to
> switch to an RDBMS that supports those.

I wonder if you could trick PostgreSQL into putting its database in a 
RAM disk. :) Seriously, though, if you're on Linux, you could probably 
tweak PostgreSQL and the Linux page cache to get the whole database in 
RAM while still having it safely stored on hard drives. I suppose you 
could also do that for MySQL, but PostgreSQL is simply a better RDBMS.