Ruby Kung-Fu Masters,

I've got a product that does a lot of inter-process work between a Rails app 
and multiple slave processes, some of which are running on the same machine and 
some on other machines. It's not high-load and nothing we're doing is rocket 
science. However, I'm having problems with memcache-client IO timeouts even on 
the latest versions of the gem, and even with SystemTimer gem installed.

I've had enough trouble that I'm rethinking using memcache at all; to that end 
I'm rethinking *all* of the data storage the application is doing. Right now 
I've got:

- MySQL: storing persistent data, but not much.
- memcache: storing transient data, again not a lot and not a high transaction 
rate.
- beanstalk: used as a job queue to communicate between processes, job details 
are stored in memcache.

When I say "transient" above I mean the data doesn't need to survive a reboot, 
but because it's used for inter-process communication it does need to stay 
alive when the processes are alive. It's not just a disposable cache where I 
can refer to the database when memcache-client barfs.

I believe I could replace all three with MySQL but that seems pretty 
heavy-handed for transient data that I don't want hitting disk. (If the disk 
access was a real problem I could create a RAM disk for the transient tables.) 
In general, however, MySQL is already overkill for our uses and I'd like to get 
our RAM footprint down.

So my question for the group is: does anyone have recommendations and 
first-hand experience with a lightweight database that would meet these needs? 
This is an embedded environment so stuff like Amazon S3+SQS isn't an option, 
though clearly our data path is modeled after S3+SQS practices.

Thanks and best regards,
Josh

_______________________________________________
Bdrg-members mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/bdrg-members

Reply via email to