[elephant-devel] gp-export
Alex Mizrahi
killerstorm at newmail.ru
Fri Apr 24 17:04:19 UTC 2009
helo
(Short introduction for those who does not know what is this about:
gp-export is a tool
to export/import databases in human-readable (SEXP) format, with
serialization based on
s-serialization of cl-prevalence, meant to work with different databases. In
previous discussions
it was considered as a path of migration between version 0.9 and 1.0 of
elephant/postmodern.)
Just a few monthes passed, and I've made gp-export that is suitable for
migration from 0.9 to 1.0. :)
The problem was that there was no support for btrees whatsoever, so I had to
refactor it badly.
Anyway, now it seems to work and it even has some tests.
However, for now gp-export does not back up whole store -- it only iterates
through all objects
it finds in index and dumps them together with all their slots etc. It is
such because it was meant
to be working with various stores. (But it supports only elephant/postmodern
so far.)
But probably if we also backup store root as some fake object instance, it
would make full
elephant store backup.
Also, there are some backend-specific pieces in exporter, such as what slots
to filter out.
I've only made support for postmodern, if one wants it to work with BDB, he
needs to add support.
Also, migration is backend-specific (as it needs to map between btree
classes), maybe it needs
some refactoring to be unified.
So, the questions are:
Is there a need for such thing?
Are backups described above full/good enough?
Should it be somehow bundled with elephant or maintained separately?
Are there people who'd like to hack it to add support for different
stuff?
(Well, I can do this, but I'm not very fast :) )
By the way, besides gp-export, I've considered using elephant's migration
for 0.9 to 1.0 upgrade:
postmodern-0.9 --migration--> bdb-0.9 --upgrade--> bdb-1.0 --migration-->
postmodern-1.0
However, migration does not work right in version 0.9... And I'm not very
enthusiastic about
digging old code. I've asked about this some time ago, as nobody replied I'm
assuming nobody
cares, so I'm officially giving up.
with best regards, Alex 'killerstorm' Mizrahi.
More information about the elephant-devel
mailing list