...
Associated JBoss community project: EAT
Transactuations in ArjunaCore
summary of idea:
ArjunaCore, the transactional engine at the heart of Narayana, was originally developed as a university project to provide researchers with an elastic testbed for experimenting with multiple transaction protocols and abstractions. Today, Narayana leverages ArjunaCore’s flexibility to support a wide range of transaction types, from standard Jakarta Transactions (AKA JTA) to Long Running Actions (LRA), covering multiple use cases and scenarios.
The requirements of new technologies, such as microservices, IoT, and cloud computing have introduced interesting challenges that push the boundaries of transaction management. As a consequence, ArjunaCore/Narayana needs to be developed to support new transaction models. In this regard, an innovative concept is "Transactuations", which introduces a runtime system called Relacs to execute transactions that exclude the Durability property of ACID.
This project explores how ArjunaCore’s flexibility can be utilised to implement and expand the Transactuations abstraction, with a focus on applications in cloud environments.
Project Features:
- Develop the Transactuation model in ArjunaCore
- Test performance of the new transaction model vs existing ArjunaCore's transactions
Knowledge prerequisite: Distributed Transactions
Github repo: https://github.com/jbosstm/narayana
Project Size: Medium (~175 Hours)
Skill level: Intermediate
Contact: Manuel Finelli (jfinelli@redhat.com)