[Schevo-devel] scalability of schevo

David Binger dbinger at mems-exchange.org
Thu Mar 2 11:27:52 EST 2006


On Mar 2, 2006, at 11:14 AM, Tom Locke wrote:

>>
>> For me, the atomic transaction is the feature that earns
>> the name "database" for a storage system.  The idea of
>> a multi-database transaction feels self-contradictory.
>
> That comment reminded me of some work that might be relevant to  
> this discussion.
>
> Not sure how available it is (might be buried in some academic  
> journal) but Tony Hoare has done some interesting research into the  
> idea of "long running transactions". The basic idea is that, in the  
> big wide world, there's no way to "just rollback", so instead each  
> action is accompanied by a compensating action.
>
> You place an order - the compensation is cancelling the order.
>
> You charge the customer some money - the compensation is a refund.
>
> If things go wrong and you want to get back to some sane state, you  
> don't undo stuff, you *do* stuff. You execute the compensations.

I think that is the common pattern for implementing "undo" in editors.

I would hope that the lower level operations are still atomic, though.






More information about the Schevo-devel mailing list