As shown in the picture below, the backbone of the Cloud-TM Data Platform is a highly-scalable, strong consistent distributed transactional data grid based on the <a href="http://www.infinispan.org"> Infinispan</a> project. The Cloud-TM's fork of Infinispan includes a host of highly innovative solutions including:
- GMU: a multiversioning replication protocol ensuring serializability in highly scalable and efficient fashion. GMU ensures that read-only transactions are never aborted, and does so avoiding any remote validation phase. Also, strong consistency is achieved without relying on any centralized components, hence posing no limits to the scalability of the system!
If you want to find out more information on GMU, and try it out with your application, check here (TODO: ADD LINK)
- Deadlock freedom via total-order : in high conflict scenarios, conventional, Two-phase-commit-based replication protocols are prone to distributed deadlocks, which can severly hinder application's performance. The Cloud-TM Data Platform avoids these issues exploiting, so called, total-order broadcast/multicast protocols. These protocols allow ensuring that messages exchanged to commit transactions are delivered in the same order among the participants to the transaction. And they do so in a fault-tolerant and non-blocking fashion! Message ordering is then exploited by the replication protocol to establish a serialization order for transactions, avoiding a priori the possibility of incurring in deadlocks!
If you want to find out more information on the total-order-based replication techniques integrated in the Cloud-TM Data Platform, and try them out with your application, check here (TODO: ADD LINK)
- Polymorphic replication: the reason why so many transactional replication protocols exist in literature is that their performance is affected by so many parameters that it is impossible to design a one-size-fits-all-solution, capable of outperforming every data consistency protocol in every scenario. Unfortunately, existing transactional data platforms for the cloud ship with a fixed data consistency scheme. As a result, performance-craving developers are forced to pick the platform that "normally" best suits their applications' workload. However applications' workload are not carved into stone, they evolve together with your applications. Hence, any static solution means, in practice, contenting with a suboptimal solution!
The Cloud-TM's data grid tackles this issue by introducing the notion of polymorphic replication.
Cloud-TM offers a rich, object-oriented programming model, which allows applications to fully exploit the scalability potential of distributed cloud platform, removing from the programmers the burden of dealing with distribution, concurrency and fault-tolerance. More in detail, the Cloud-TM Data Platform API consists of three key building blocks:
- Transparent mapping of objects:
- Query support:
- Distributed Execution Framework: