[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