home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.databases
- Path: sparky!uunet!cs.utexas.edu!usc!rpi!batcomputer!cornell!fafnir!rcbc
- From: rcbc@fafnir.cs.cornell.edu (Robert Cooper)
- Subject: Re: Hot Standby DBMS's
- In-Reply-To: dhepner@cup.hp.com's message of Mon, 24 Aug 1992 18:49:29 GMT
- Message-ID: <RCBC.92Aug26130618@fafnir.cs.cornell.edu>
- Sender: rcbc@cs.cornell.edu (Robert Cooper)
- Reply-To: rcbc@cs.cornell.edu
- Organization: Cornell Univ. CS Dept, Ithaca NY 14853
- References: <RCBC.92Aug24122743@fafnir.cs.cornell.edu> <BtI4AH.D81@cup.hp.com>
- Date: Wed, 26 Aug 1992 18:06:18 GMT
- Lines: 41
-
- > >Isis atomic multicast guarantees to deliver the messages in the same order
- > >at both primary and backup.
- > > -- Robert Cooper
- >
- > Does Isis guarantee atomic commit across both copies?
-
- The "Atomic" in atomic multicast means:
-
- (1) a total order on message delivery at all destinations. So if
- two clients send atomic broadcasts to a set of 3 servers, all servers
- will see the two messages in the same (arbitrary) order. This ensures
- coordinated input streams in the replicated DBs.
- (2) atomic delivery. Either all destinations will receive the message, or
- none of them will. This handles cases where the sender fails part way
- through sending the message, e.g. it broadcast the message, but one
- recipient dropped it because of a buffer overrun and before the
- sender can retransmit, the sender crashes. Isis will make on of the other
- recipients forward its copy of the message to the receiver that needs
- it in this case.
-
- So, no, it doesn't guarantee atomic commit. When Isis is treating the DBs
- as black boxes, you have to convince yourself that both DBs will carry out
- the same action (abort or commit) on the same input data. That's why we
- have to be very careful about the input stream the DBs see so that they
- really are deterministic. In the limit this means having the front end
- apply update transactions one-at-a-time and exclude read-only transactions
- while this is happening. Typically, in a controlled environment, and with
- application level knowledge about the transaction stream, we can make some
- valid assumptions about the DBs being deterministic. But not in the general
- case, which is why we don't try to package this up as a generic solution,
- but rather help the customer do this on a case-by-case basis. Or, in other
- cases the application can take explicit recovery if the one DB aborts and
- the other commits.
-
- We do have a general transaction tool in Isis that solves these problems by
- running a 2PC protocol with the DBs. Obviously in this case the DBs aren't
- black boxes. The X/Open standards in this area are very interesting to us.
-
- -- Robert
- --
- --
-