durusmail: quixote-users: dulcinea upgrade and zodb/durus
dulcinea upgrade and zodb/durus
dulcinea upgrade and zodb/durus
Neil Schemenauer
2004-08-11
On Wed, Aug 11, 2004 at 01:55:31PM -0400, daniel.chudnov@yale.edu wrote:
> In starting to sync up to later revisions of all, starting with
> dulcinea, I see that dulcinea-0.3 now speaks Durus, not ZODB.

Dulcinea has undergone a lot of change in the last few months
(hopefully for the better).  Unfortunately, Dulcinea is still much
less mature than Quixote.  Watch out for other changes as well.

> 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. :)

We are pleased that you found it useful.  Hopefully the changes will
not cause you too much trouble.

> 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.

There is a script named 'convert_zodb.py' in the Durus distrubution
that converts a ZODB filestorage to a Durus filestorage.  You may
have to make minor changes to your code but nothing comes to my mind
at the moment.

> 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

If the older version of Dulcinea works for you then I don't think
there is any great need to upgrade.

> 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.

Using a Durus DB and a ZODB DB at the same time is probably not a
good idea.  For one thing, you must be sure not to have cross DB
references.

> 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

It may be reasonable depending on how may 100000s you are talking
about, how beefy your hardware is, and the read/write patterns.

> Do these options reflect a reasonable understanding of where things stand
> w/r/to Dulcinea and Durus?

I think so.

> 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.

You didn't provide a specific reason for wanting to upgrade.
Staying with the version you have sounds like a good option for now.

  Neil

reply