On 26/09/2007, at 4:53 PM, André Warnier wrote:

Thanks for the answers so far, this is really the kind of stuff I was hoping for. I appreciate even the 2-cent suggestions ;-), they are not 2-cents to me.
Keep them coming.

About the MySQL suggestion : I have been thinking about the same lines, specially since with DBI, it solves several issues at once. My doubts in that respect have been that it would introduce one more dependency (MySQL) in the application software in general.

That's the one drawback you'll run into, however...

The whole application package is multi-platform (Linux, various Unixes, Win32) so any dependency can easily become a problem or an installation hassle on one or the other platform. (That is for instance one reason why I am not using one of the modules based on Unix-like shared memory.)

MySQL is available on all these platforms, and considered stable as well. Optionally you can use SQLite, which is also available for most unixes and win32.

Also, doing this with an RDBMS also means defining and creating the tables in advance to hold the data and so on, which is also an additional initial setup burden.

Correct, however, if you design the tables beforehand, it's a single step in the installation process that you'd have to do (i.e. cat schema.sql|mysql ... etc.) -- it's up to you to decide whether the drawbacks and extra work are worth the gains :)


So I do take note, but if anyone can think of other alternatives, please keep posting.

Well, SQLite is one, if you want to keep things in memory you could try loading the indexes into some hashes during server startup (at least they'll be shared across servers), or load them during child start. Drawback is that memory usage will go up a lot if your indexes are big.

I think it may be better to start a separate thread for this specific question about "sharing" such a table over many requests.

I think there's one already going but I haven't seen it yet.

Hope the info helps though :)

Reply via email to