Skip to content

Transactions

A database transaction is a sequence of operations performed as a single unit of work, which is atomic, consistent, isolated, and durable (ACID).

Two phase commit

The commit takes place as soon as all the systems involved agree. Otherwise, the whole transaction is rolled back. Preferred for short transactions or when only a few systems are involved.

Further information

Link: Two phase commit

SAGA Pattern

A compensating action is also defined for each action to be executed in the event of a rollback. It can be used for long-running (e.g. asynchronous) transactions. Does not require a global lock, scales very well, but requires significant effort.

There are two types:

  • Choreography: Each service knows what to do next.
  • Orchestration: Here there is a central controller that determines what to do next.
Further information

Link: Saga pattern

Contact: M_Bergmann AT gmx.at