in reply to Databases Stored In memory

Items that you store in memory with mod_perl are only available to the same apache process, so that may not help you much. You could try using IPC::Shareable or IPC::ShareLite to make your datastructure available across processes. This can buy you a lot of performance, but has a lot of risks (i.e. if you reboot your system the data in shared memory is gone, unless you have a facility to write it to disk). Your best bet is probably to use a real database (Postgres, mysql, etc...) and if it isn't fast enough for you then consider some sort of in-memory caching. mod_perl can buy you a lot with traditional databases performance wise (presistant cached database handles, etc..)