On 7.3.13 11:57, Marcel Reutegger wrote:
On Thu, Mar 7, 2013 at 1:08 PM, Marcel Reutegger <[email protected]>
wrote:
as mentioned before, I think snapshot isolation is just fined because
in most cases it is sufficient and allows for increased concurrency. for
the cases where more consistency guarantees are needed, like
unique UUIDs and hard references we should implement the
validators accordingly and e.g. use a technique like materializing the
conflict.

That technique essentially serializes all commits that could possibly
violate a global invariant.

not necessarily. e.g. if we take the unique UUID as an example,
two sessions can proceed concurrently when they create nodes
with different UUIDs, which is usually the case. the conflict only
materializes when you create two nodes with the same UUID.

In other words: it makes the commits serializable without serializing them ;-)


The SegmentMK can avoid such
synchronization points entirely at the cost of potentially "undoing"
some commits that become invalid later on.

doesn't this require knowledge about the internals of the global
invariant. how does the SegmentMK know what exactly it can undo?

Yes I'm also a bit worried about this. Couldn't this lead to cascading undos? And further to violation of other application constraints when data gets "uncommited"? I think this is a very slippery slope...

Michael


regards
  marcel

Reply via email to