[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Database transactions, a Higher-level primitive in CSP?

Hi Rick and others,

Rick wrote:
> ...
Nice overview of Database/Transaction basics.

> There is an important
> qualitative difference between parallel processing in a system (almost) free from
> communication failures, and distributed processing in networks always subject to
> communication failures. It is this aspect of distributed processing that is
> addressed by transactions, and this is absent from CSP thinking.

Few remarks regarding reliability:
- A TRANSACTION is pretty much like a CREW (Concurrent Read Exclusive
  Write), but it also allows simultaneous writing.

- In case the Database is properly implemented, and the hardware is assumed to
  be reliable, TRANSACTIONs will per definition complete without failure.
  (The same assumptions are made to prove the correctness of a CHANNEL concept.)

- Any parallel execution of any TRANSACTION will complete eventually, assuming
  each individual TRANSACTION completes.
To me, TRANSACTION looks reliable enough to be incorporated into an article
on higher-level communication and synchronisation primitives different from
a CHANNEL, that fullfill the strong reliability constraints of the CSP-world.

Don't you think?