Re: ACID et al
From: paul c <toledobythesea_at_oohay.ac>
Date: Mon, 05 Dec 2005 16:34:19 GMT
Message-ID: <f_Zkf.52130$Gd6.38830_at_pd7tw3no>
>
>
> This looks like a lock to me. A rather coarse-grained one.
>
> [...]
>
>
>
> This looks like an optimistic lock, with the responsibility of enforcing
> it pushed to the application.
Date: Mon, 05 Dec 2005 16:34:19 GMT
Message-ID: <f_Zkf.52130$Gd6.38830_at_pd7tw3no>
Daniel Dittmar wrote:
> paul c wrote:
>
>> 3) Assume the engine is single-threaded. Two users' messages can't >> interleave their actions between each other, ie., messages are >> 'single-file'.
>
>
> This looks like a lock to me. A rather coarse-grained one.
>
>> 4) Assume that a message to the engine includes all the db actions for >> some 'business' transaction. These actions might include re-iterated >> reads of rows that were issued in an earlier 'query' message, as well >> as possibly the values that were returned earlier, as well as update >> actions.
>
> [...]
>
>> with customer and or balance rows). The second updating message >> (which might occur many minutes or hours after the first) might >> reiterate the original queries in some form, perhaps including certain >> data such as 'balance = $500' which would be asserted to still be true >> before the debit is made persistent.
>
>
> This looks like an optimistic lock, with the responsibility of enforcing
> it pushed to the application.
Again, I was using 'lock' in the very specific physical sense. As for 'optimistic', I won't nit-pick that either except to say that what I've noticed over a long time, is what I think of as really high-performance applications inevitably had to invent their own locking protocol because the underlying system's protocols were too general for their specific purpose and concurrency demands. Usually, the specific solutions were very simple and easier for developers to understand than general concurrency theory!
p Received on Mon Dec 05 2005 - 17:34:19 CET