Re: cayenne & distributed databases

From: Mike Kienenberger (mkienen..laska.net)
Date: Thu Nov 06 2003 - 09:07:35 EST

  • Next message: Andrus Adamchik: "Re: cayenne & distributed databases"

    Martin Dengler <martin.dengle..mx.de> wrote:
    > did not find anything bout the following topics in the docu:
    >
    > - does cayenne cayenne map any changes made within a datacontext to one
    > physical database transaction, containing all generated sql statements, or
    is
    > each statement commited individually?

    I believe you could use it either way, but I only use it by committing all
    statements in one transaction.

    > - does cayenne support any locking policys, e.g. optimistic locking,
    > pessimistic locking?

    Optimistic locking is "in progress" but isn't available yet. If no one
    else provides a full patch for it by the end of the year, I will probably
    create a patch for my own personal use (and post it to the list) that does
    optimistic locking on all fields by default since this is a requirement of
    my current project.

    I don't know the status of pessimistic locking.

    > - does cayenne support distributed database access (access to dbs, which
    are
    > hosted on different physical servers)? and if so, how about distributed
    > transactions?

    Wouldn't this be handled by your JDBC driver rather than your database
    layer?

    If you're asking if Cayenne can connect to multiple databases, the answer is
    probably yes, although I've never tested it.
    I know you can set up multiple databases in the database model, so it seems
    like a reasonable assumption.

    I don't think there is built-in support for a single distributed
    "transaction" when using multiple databases as above. I'm not sure how you
    could do such a thing, since in order for any individual database commit to
    "succeed", you'd have to commit it, and once you committed it, you couldn't
    roll it back if another database commit failed. Any implementation of this
    would probably be database specific, depending on database-specific handling
    of this situation.

    Disclaimer: I'm primarily a cayenne user at this point, not a developer.
    If I've stated something inaccurately, there will probably be a follow-up
    message by someone who knows more than I do.

    -Mike



    This archive was generated by hypermail 2.0.0 : Thu Nov 06 2003 - 09:07:37 EST