[infinispan-dev] Extreme transactions and replication
Manik Surtani
manik at jboss.org
Thu Nov 12 13:19:23 EST 2009
Hi Mark
On 10 Nov 2009, at 13:06, Mark Little wrote:
> One of the things we started to do with transactions and replication
> was build a scalable replication protocol that unified replication and
> cacheing.
>
> http://www.cs.ncl.ac.uk/publications/inproceedings/papers/584.pdf
>
> This works because strongly consistent replication protocols don't
> scale beyond a few replicas or over more than a LAN. That's why weak
> consistency protocols were developed back in the late 1980's. However,
> the problem with them is that they are weakly (or eventually)
> consistent and most applications can't cope with uncertainty.
>
> Anyway, with the advent of Web Services and their need for
> transactions that span multiple companies or organizations, the notion
> of uncertainty of data becomes natural for those types of
> applications: it is simply not possible to run transactions with
> strict ACID semantics across large scale (number of participants and
> physical location). Participants need to be split into domains and
> there are typically known degrees of inconsistency between those
> domains (e.g., it takes up to an hour for all domains to become
> totally consistent assuming no further updates occur). Each
> participant in the transaction may well be a subordinate transaction
> coordinator (aka interposition) or a real business participant. If
> it's the former then within a domain there's a guarantee of
> consistency. Of course this is a hierarchical structure, so you can
> have domains within domains.
>
> This approach has impacts on the transaction manager: failure during
> the "prepare" or "commit" protocol no longer necessarily means atomic
> outcome or assuming everything will eventually undo. But also on the
> replication protocols used (see paper). This is really what I call
> extreme transaction processing, and not what Gartner understands it to
> be. (Gartner and I have argued about this and last time we spoke I
> won ;-)
I imagine it must have been a tough battle. :)
> We did some of this within the OASIS WS-CAF effort, but the
> implementation needs revisiting. I've been working on and off (more
> off than on) on updating the original paper and there's been interest
> from our local university to collaborate on some R&D. I think JBossTS
> + Infinispan would work well to solve this problem.
Yes, I think so although Infinispan's distribution model is still in its infancy in that the notion of domains and subdomains with different degrees of consistency/consensus (or even replicas) isn't as yet available. Any Infinispan grid formed is treated as a single and homogenous one with a fixed degree of consistency and number of replicas (defined declaratively at startup) but the natural progression here would be to break this into domains - we need this anyway for inter-datacentre (WAN) replication.
How specifically do you see JBossTS and Infinispan working together to solve your XTP issues though? Using Infinispan as a shared global space to write transaction status and logs?
Cheers
--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
More information about the infinispan-dev
mailing list