Resource Oriented Composite Transactions
Rui Liu, Xin Sheng Mao
Abstract
Rui Liu, Xin Sheng Mao
Abstract
Composite transaction is a set of two or more related transactions managed in a coordinated logical unit of work. Composite transaction can span multiple data sources or multiple databases. Sometime, we use composite transaction only because we want to split long transactions into short transactions for less lock and more concurrency. In a very large scale distributed system, all of these are valid reasons to use composite transactions. There are different models for composite transaction. Distributed transaction model is widely used in practice since XA specification was released in 1991. However XA specification is notorious for heavy performance cost. To deal with internet scale transaction systems, we have to have some compromised solutions for both performance and consistency considerations. In this paper, we described the methodology and transaction programming model to simplify the system design and provide several guidelines for very large scale distributed transaction systems. We also described the differences between this design model and existing models for composite transaction including distributed transactions (XA 2PC), Sagas and federated transactions. Our design model is practicable and supports true concurrency. It targets at a special type of composite transactions named "Resource Oriented Composite Transaction" (ROCT) which is very common in banking systems, e-commerce systems, airline ticket-sale system, and etc. And our new transaction programming model can be widely used for this type of composite transactions.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Composite transaction is a set of two or more related transactions managed in a coordinated logical unit of work. Composite transaction can span multiple data sources or multiple databases. Sometime, we use composite transaction only because we want to split long transactions into short transactions for less lock and more concurrency. In a very large scale distributed system, all of these are valid reasons to use composite transactions. There are different models for composite transaction. Distributed transaction model is widely used in practice since XA specification was released in 1991. However XA specification is notorious for heavy performance cost. To deal with internet scale transaction systems, we have to have some compromised solutions for both performance and consistency considerations. In this paper, we described the methodology and transaction programming model to simplify the system design and provide several guidelines for very large scale distributed transaction systems. We also described the differences between this design model and existing models for composite transaction including distributed transactions (XA 2PC), Sagas and federated transactions. Our design model is practicable and supports true concurrency. It targets at a special type of composite transactions named "Resource Oriented Composite Transaction" (ROCT) which is very common in banking systems, e-commerce systems, airline ticket-sale system, and etc. And our new transaction programming model can be widely used for this type of composite transactions.
Key concepts: Distributed transaction, Computer science, Transaction processing, Compensating transaction, Online transaction processing, Database transaction, Transaction processing system, Nested transaction