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
