From: Don A. <don...@co...> - 2003-11-06 13:27:15
|
On Wed, 2003-11-05 at 23:58, Jochen Topf wrote: > The main differences between an "embedded database" like Berkeley DB and > SQLlite and a "real database" are > > a) local use vs. network transparency > b) single user vs. multiple user You can see why I referred to wanting to create a survey. Right now, most genealogy programs follow the local use, single user model (The web-based GeneWeb being an exception I'm aware of). > Note that if you allow concurrent access there are complicated issues > involved like how to notice in Gramps if someone else changes an entry > in the database and how to reflect that in the interface. Agreed. Going with the concurrent model make things much more complicated, and will likely signficantly slow things down. > Another thing to consider: Do we think of the database as only a backend > for Gramps or is it an "independent entity". Can and will other programs > access this backend also? (as an example: I am using the XML files at > the moment to generate all sorts of HTML pages, but not through Gramps > but with my own Perl scripts. This allows me to do things Gramps can't > do and to tie in data that is not stored inside Gramps.) If we want to > allow this (and I suggest we do), the database format has to be stable > and documented well and/or there should be an API for accessing it. Another option is to carry the XML output forward. This could be done either by exporting to the GRAMPS XML format, or by allowing the user to automatically generate the XML file on exit. Don |