home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.databases
- Path: sparky!uunet!ulowell!news.bbn.com!usc!sdd.hp.com!hpscdc!cupnews0.cup.hp.com!dhepner
- From: dhepner@cup.hp.com (Dan Hepner)
- Subject: Re: Hot Standby DBMS's
- Sender: news@cupnews0.cup.hp.com
- Message-ID: <BtruMB.Lt5@cup.hp.com>
- Date: Sun, 30 Aug 1992 00:56:35 GMT
- References: <RCBC.92Aug26125402@fafnir.cs.cornell.edu>
- Organization: Hewlett-Packard
- X-Newsreader: Tin 1.1scd1 PL4
- Lines: 47
-
- From: rcbc@fafnir.cs.cornell.edu (Robert Cooper)
-
- >Let's say we are updating bank account A at the primary and backup.
- >I was envisaging something like this:
-
- [totally parallel execution at the replicates, yielding Wrong Answer]
-
- >Instead we could do this:
- [do primary, then secondary, yielding correct answer]
-
- >I presume this is Dan Hepner's point, and he's right. Distributed nested
- >transaction systems look like they will allow people to program this
- >solution. My only comment would be that this doesn't look much easier than
- >the solutions people are coming up with using Isis and non-distributed
- >transactions.
-
- Shall we agree that there would be ample opportunity for optimization,
- including perhaps the most important, making it transparent to the
- application programmer?
-
- In any case, the difference, as compared to the Isis approach is that
- this does in fact guarantee perfect synchronization. This is not
- in any sense a claim that most people would find the Isis-style solution
- inadequate based solely on this criterion.
-
- >Has anyone actually implemented a primary-backup database using distributed
- >transactions in this way? Are nested transactions (or at least some
- >conditional commit mechanism) part of Tuxedo, Encina, etc?
- > -- Robert
-
- Encina supports nested transactions, Tuxedo does not (at last check),
- no common DBMS products do. However:
-
- Why do you believe nested transactions necessary? Simplistically,
- your example could be reworded:
-
- transaction begin
- send input to primary
- if (success)
- send input to replicate
- if (success)
- transaction commit
- else abort
-
- Not a nested transaction in sight.
-
- Dan Hepner
-