Using chained transactions for maximum concurrency under load (QCONSF 2010)
by Billy Newport on Nov 05, 2010
- 2,500 views
My chained transaction talk for handling maximum concurrency in the presence of lock contention like shopping cart checkout.
My chained transaction talk for handling maximum concurrency in the presence of lock contention like shopping cart checkout.
Accessibility
Categories
Upload Details
Uploaded via SlideShare as Microsoft PowerPoint
Usage Rights
© All Rights Reserved
Statistics
- Likes
- 4
- Downloads
- 44
- Comments
- 4
- Embed Views
- Views on SlideShare
- 2,500
- Total Views
- 2,500
We use chaining to build scalable distributed transactions* and pair it with intra-transaction parallelism. Consider the following architecture for a shopping card with 5 items:
- BPM engine executes a workflow with 5 parallel streams and each stream performs a 1PC transaction on individual DB shard and a synchronous replication transaction on shard’s backup.
- Semantic reasons to abort individual transactions are prevented with an invariant, which guarantees the necessary post-execution integrity conditions.
As a result, there is no need of compensators since there will be no need to abort for semantic reasons and hardware/software/network faults on individual shards will not prevent a transaction from committing on shard’s backup.
Thus, the availability and partition tolerance are enhanced without trading off the consistency. The price is just 15% deterioration of performance.
Ivan
* http://transactum.com/Ivan_Klianev_HPTS_2011.pdf 1 year ago
Do you have an insight on the availability of ’Chained transactions’ in Websphere eXtreme Scale ? Could it be there for Christmas ?
Congratulations for WXS, it is really innovative in the IMDG sector. You solved most of the big problems I faced with competing products.
Cyrille 2 years ago
On the other hand, I'm not sure why the flow state doesn't scale when it's it's own database (or set of shards) as long as you ensure downstream updates (of the SKUs) are decoupled and asynchronous. The state embedded in the message just seems like icing on the cake, the real win is in splitting a large footprint transaction into lots of little ones, executing asynchronously, with compensations if a rule is violated. This is basically what some of the better BPM engines do (not naming names ;) 2 years ago
Bill de hOra
'Slide 20 is fried gold. That one slide captures what's wrong with 99% of workflow systems. plus without getting all actor theoretic.' 2 years ago