Copyright © 2005-2011 Transactum

Product Position

Briefly

  • For creators of scalable Web applications, restricted by the limitations of Cloud platforms,
  • Transactum is engine for elastic scaling, specialized in distributed transactions.
  • Unlike the platforms Azure, GAE, and AWS, we can preserve the integrity of distributed data by
  • guaranteeing the global consistency of transactions with user-specified syntactic and semantic invariants.

Value Proposition

Transactum Engine provides high-availability and elastic scaling with distributed relational database transactions.

Details

Scaling Distributed Transactions

Instead of distributed two-phase locking, we use invariants to make sure that operations on distributed data follow developer-specified simple access patterns. Transactions are chopped into pieces. Each piece is performed on a single node of the distributed database with local two-phase locking.

Transaction Chopping

Transaction chopping is prerequisite for coordination of distributed transactions for scaling. Transaction chopping enables concurrent execution of individual pieces. The correct chopping is rollback-safe. Chopping is rollback-safe if the resulting pieces do not have rollback statements or all rollback statements are in its first piece. Chopping helps improve the performance but could expose syntactic conflicts that might corrupt the consistency of transactions. Syntactic conflict exists where two pieces access a data item and at least one modifies it. The correct execution of chopped transactions requires serialization of non-commutative syntactic conflicts.

Syntactic Invariants

A syntactic conflict between a pair of chopping piece is non-commutative if reversing the execution order of pieces changes the resulting state or the return value. Transactum Engine implements syntactic invariants to serialize the non-commutative syntactic conflicts between instances of concurrent pairs of transactions.

Distributed Data Integrity

Generally, an abort of transaction for semantic reason prevents violation of data integrity constraints. Checking whether a piece of distributed transaction violates a global integrity constraint might require data from multiple nodes of scaled out database. This cannot be performed inside that piece without distributed two-phase locking. Coordination of distributed transactions without distributed two-phase locking requires special functionality. It must prevent the execution of instances of transaction pieces that will violate global integrity constraints and the events of prevented execution must be interpreted as aborts for semantic reason.

Semantic Invariants

Transactum Engine prevents violation of integrity rules by checking the exit state of every instance of transaction piece, that might violate a rule, before its execution. Guaranteeing of global consistency of the distributed transactions is based on implementation of global semantic invariants inside the checking procedure.

 

Ask a Question