home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.databases
- Path: sparky!uunet!think.com!linus!progress!gus
- From: gus@progress.COM (Gus Bjorklund)
- Subject: Re: Oracle and discrete transactions
- Message-ID: <1992Dec15.131240.13670@progress.com>
- Keywords: tpc, transcations, benchmark, Oracle
- Sender: usenet@progress.com (Mr. Usenet)
- Nntp-Posting-Host: iceland
- Organization: Progress Software Corp.
- References: <1514@uniware.dk>
- Distribution: comp
- Date: Tue, 15 Dec 1992 13:12:40 GMT
- Lines: 57
-
- oles@uniware.dk (Ole Skanning) writes:
-
- >I've heard that Oracle has implemented somthing called 'discrete transactions',
- > in version 7, which are supposed to give better tpc-ratings.
-
- >Could someone send me a brief explanation of what a discrete transaction is and
- >how it is implemented. What user benefits should there be ?
-
- Oracle's "Discrete Transactions" is similar to a mechanism called
- "Field Calls" in IMS. They are useful for short update transactions
- that access a small number of rows.
-
- The basic idea is this:
-
- During forward processing of the transaction, data updated by the
- transaction are locked and the updates are deferred by spooling
- log records to a private, in memory log buffer. When the transaction
- commits, the updates are applied by processing the log records which
- are also written to the redo log. Then the locks are released.
-
- The main goals are to minimize lock duration and the number of
- instructions executed.
-
- Some advantages:
-
- No undo information has to be generated or written to the log.
- If the transaction rolls back, all you have to do is throw away
- the spooled log records and release the locks.
-
- Discrete transactions are short and fast, so high concurrency is
- possible.
-
- Some disadvantages:
-
- The transaction can't see its updates because they are not performed
- until commit time. If the transaction attempts to access the same row
- twice, it will fail.
-
- Conflicting transactions cannot achieve read consistency because
- no previous versions of the rows updated by the discrete transaction
- are available. So the conflicting transactions have to be rolled back.
-
- Discrete transactions cannot modify both tables involved in a
- referential integrity constraint. This is because the transaction
- cannot see its own updates.
-
- Discrete transactions cannot be distributed.
-
- Hard to program.
-
-
-
- --
- Gus Bjorklund uucp: ...mit-eddie!progress!gus
- Progress Software Corp. internet: gus@progress.com
- 14 Oak Park phone: 6172804361
- Bedford, MA 01730 fax: 6172804095
-