Persistence
from
xkenneth
on Jun 27, 2008 12:55 PM
Persistence has been one of my first questions for getting this up and running, and so far a few ideas have taken shape.
Why NOT the ZODB:
The ZODB is a very good solution, but isn't applicable here. I've used it heavily in the past for serializing python objects. But it's complexity, combined with performance overheads and lack of native XML support do not make it a good candidate for this project.
At this moment I'm leaning towards a native XML database, there's a number of solutions available.
Sedna: http://fiatlux.zeitform.info/en/instructions/pgp_macosx.html#installation
Some python examples in Sedna: http://zif.svn.sourceforge.net/viewvc/zif/zif.sedna/trunk/src/zif/sedna/README_sednaobject.txt?view=markup
Apache Xindice:
http://xml.apache.org/xindice/
eXist:
http://www.exist-db.org/
So it looks like there's a number of FOSS solutions out there at the moment.
Tree to Relational Mappings
A number of the vendors who are using WITSML currently do relational mappings of the schema. I'm not sure this is something we would want to consider also providing. It would be nice to have a persistence layer that would work with any backend (OODB/XMLDB/RDBS), although I can see that getting complicated.
Some other stuff I found:
http://www.artlogic.com/resources/sql-python-xml/
I'm going to start working with one of these XML databases for my own projects, we'll see how it goes.
Regards,
Ken