durusmail: quixote-users: dulcinea upgrade and zodb/durus
dulcinea upgrade and zodb/durus
dulcinea upgrade and zodb/durus
daniel.chudnov@yale.edu
2004-08-11
I've had my head in the sand for several months; my apps still use
Dulcinea-0.1 (and quixote-0.7a3, and are deployed on python-2.2).
In starting to sync up to later revisions of all, starting with dulcinea,
I see that dulcinea-0.3 now speaks Durus, not ZODB.  Both my apps use
dulcinea+zodb for sessions; one keeps its app data in the same single
zodb instance as sessions, the other uses mysql.

I would rather keep using Dulcinea for sessions because It Works and
I don't have to think about it, and thus can focus on my apps.  Well,
I'm thinking about it now, but, yknow. :)

It would be very helpful if any of you might help sanity-check this
migration plan:

For the app with app-data in mysql:  just swap in new dulcinea/durus
for old dulcinea/zodb.  Write a probably-straightforward script to
make sure the simple DulcineaUserDatabase instance migrates adequately,
perhaps bridging the two with a mysql table.  All set.

For the app with both sessions and app-data in zodb:  it's more
complicated.  Options include:

A. "upgrade" to dulcinea-0.2.1+zodb (or, even, stay with 0.1)

   Pro:  it will work with little (or no) modification
   Con:  it appears this combo is no longer supported

B. upgrade session mgmt to dulcinea-0.3+durus; leave current app
   data in zodb

   Pro:  it will be supported
   Con:  will need a perhaps-complicated script to transfer the
         old DulcineaUserDatabase (which contains much app data)
         into a more-independent zodb instance.  could simplify
         this by folding the dulcinea-0.2.1 UserDatabase into my
         codebase or something equivalent.

C. upgrade session mgmt to dulcinea-0.3+durus; move app data to
   an rdmbs.

   Pro:  i'll probably need to do the latter anyway
   Con:  back to SQL??  Gack!

D. move everything to dulcinea-0.3+durus.

   Pro:  it will be supported
   Con:  already using BTrees heavily, and db needs to scale to
         100000s of records quickly, so maybe this isn't really a
         reasonable option


Do these options reflect a reasonable understanding of where things stand
w/r/to Dulcinea and Durus?  If so, I'll probably do (A) for now and do
(C) when I need to move to the rdbms.  Sadly, when that day arrives,
I might also need to rewrite everything in java anyway, which would be
traumatic in its own right, but that's another story.

Any feedback would be greatly appreciated.

Thanks, -Dan


--
Daniel Chudnov
Yale Center for Medical Informatics
(203) 737-5789

reply