I think you can do better doing XML-oriented research here first before you dig
into apache/mod_perl if you don't find some quick solutions. Here are some
leads. I don't go deeper -- we're here for mod_perl, check out comp.text.sgml
and the SGML/XML home page at oasis.
http://www.oasis-open.org/cover/
I suggest that you instead have some better approach into using XML.
By using external entity references and/or xlinks you can prevent from loading
all the XML data. XML can be used to dump a big OODB, but it can also be used to
query/encode reports from parts of it; and, even when you do use a DBI layer, it
is a great middleware which also adds for portability and flexibility of pushing
the client/server bound back and forth for performance/customisation reasons.
Also, it's great for developing transaction-oriented stuff and debug via
hand-crafted instances of intermediate XML.
HTH, vassilii
http://www.tarunz.org/~vassilii/
> I want to use data in XML format and store it in memory for obvious reasons
> of speed and to utilise the capabilities of XML. I also want to load the
> data at server start up time.
>
> The problem arises with the size of the data. I end up with six children
> each with 150MB of data. Needless to say I've run out of memory and the
> error_log gives error msgs about not being able to fork.
>
> I really would like to keep the data in XML format and not use a DB. How can
> I make it so that the children reference one copy of data and not have their
> own.