home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!nntp1.radiomail.net!psinntp!psinntp!bacon!yen!chris
- From: chris@yen.imsi.com (Chris Payne)
- Newsgroups: comp.databases
- Subject: Re: Hot Standby DBMS's
- Message-ID: <CHRIS.92Aug28101634@yen.imsi.com>
- Date: 28 Aug 92 14:16:34 GMT
- References: <CHRIS.92Aug25123032@yen.imsi.com> <BtKEqE.9uy@cup.hp.com>
- Sender: news@bacon.IMSI.COM
- Organization: Moore Capital Management
- Lines: 38
- In-reply-to: dhepner@cup.hp.com's message of 26 Aug 92 00:30:14 GMT
- Originator: chris@yen
-
-
- dhepner@cup.hp.com (Dan Hepner) writes:
-
- > One clean solution to the hot-backup equivalence problem is to
- >serialize the request stream. Guarantee that when a credit precedes a
- >debit on one db server, it precedes the debit on all active servers.
-
- If this advice "credit must always precede debit" is not followed you
- might get deadlocks even without replication. However, this is insufficient
- to prevent the other kind of out-of-order deadlocks. What you have to
- guarantee is that a transaction will acquire locks in a specified order
- across copies. I.e. execution of credit on copy 1 must always complete
- before beginning on copy 2.
-
- Here's the idea: serialize & fork the db request stream. Each hot
- standby database will receive the same transactions in the same order.
- Other receiver(s) can take the same stream and keep it for posterity.
-
- Handling multiple requests in parallel is a critical feature of modern
- db's -- you can't afford to force every client's requests into a
- single serialized stream. As a result, you can't guarantee that the
- interactions between the requests of various clients will be
- duplicated on each hot standby server. But, hey, if there's a
- possible problem (as in lock ordering), then the application is
- already in trouble. Ensuring this level of server-equivalence on the
- server side would reduce performance.
-
- >If you want to catch-up a server which is down periodically, keep a
- >copy of the request stream.
-
- How would you guarantee that transactions will be executed in the same
- serial order as was implied by the online system? As has been pointed
- out, such a guarantee is required to keep the copies synchronized.
-
- Unless you're worried about the non-serial nature of the server
- itself, this is trivial, right?
-
- /c (chris@imsi.com)
-