Transactions / State / Concurrency
Kind: category
Record: architecture-category:transactions-state-concurrency
Canonical: Ontology
The Transactions / State / Concurrency category holds 13 architecture principles.
Listed in Principle categories, after Taxonomy / Classification / Naming.
Principle
- Idempotency
- Atomicity
- ACID
- Transaction Boundary
- Unit of Work Pattern
- Consistency
- Isolation
- Concurrency Control
- Optimistic Locking
- Pessimistic Locking
- State Isolation
- Controlled Side Effects
- Petri Nets
Layer
Linked from
Transactions / State / Concurrency
Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.
Relations diagram
flowchart LR
n_idempotency["Idempotency"]
n_atomicity["Atomicity"]
n_acid["ACID"]
n_transaction_boundary["Transaction Boundary"]
n_unit_of_work_pattern["Unit of Work Pattern"]
n_consistency["Consistency"]
n_isolation["Isolation"]
n_concurrency_control["Concurrency Control"]
n_optimistic_locking["Optimistic Locking"]
n_pessimistic_locking["Pessimistic Locking"]
n_state_isolation["State Isolation"]
n_controlled_side_effects["Controlled Side Effects"]
n_petri_nets["Petri Nets"]
n_atomicity --> n_transaction_boundary
n_atomicity --> n_consistency
n_acid --> n_atomicity
n_acid --> n_consistency
n_acid --> n_isolation
n_transaction_boundary --> n_atomicity
n_transaction_boundary --> n_unit_of_work_pattern
n_unit_of_work_pattern --> n_transaction_boundary
n_unit_of_work_pattern --> n_atomicity
n_unit_of_work_pattern --> n_consistency
n_isolation --> n_concurrency_control
n_concurrency_control --> n_isolation
n_optimistic_locking --> n_concurrency_control
n_pessimistic_locking --> n_isolationIdempotency
- Kind: principle
- Category: Transactions / State / Concurrency
- Severity: mandatory
- Scope: API, command, message handler
- Aliases: Idempotence
- Layer: Atomic Boundary
Atomicity
- Kind: principle
- Category: Transactions / State / Concurrency
- Severity: mandatory
- Scope: transaction, operation, workflow
- Layer: Atomic Boundary
ACID
- Kind: model
- Category: Transactions / State / Concurrency
- Severity: contextual
- Scope: database, transaction
- Aliases: Atomicity, Consistency, Isolation, Durability
- Layer: Atomic Boundary
Transaction Boundary
- Kind: constraint
- Category: Transactions / State / Concurrency
- Severity: mandatory
- Scope: unit of work, aggregate, service
- Layer: Atomic Boundary
Unit of Work Pattern
- Kind: pattern
- Category: Transactions / State / Concurrency
- Severity: recommended
- Scope: application service, persistence
- Aliases: Unit of Work
- Layer: Atomic Boundary
Consistency
- Kind: quality-attribute
- Category: Transactions / State / Concurrency
- Severity: mandatory
- Scope: data, transaction, distributed system
- Layer: Atomic Boundary
Isolation
- Kind: constraint
- Category: Transactions / State / Concurrency
- Severity: contextual
- Scope: database, transaction, concurrency
- Layer: Atomic Boundary
Concurrency Control
- Kind: mechanism
- Category: Transactions / State / Concurrency
- Severity: mandatory
- Scope: transaction, memory, distributed system
- Layer: Atomic Boundary
Optimistic Locking
- Kind: pattern
- Category: Transactions / State / Concurrency
- Severity: contextual
- Scope: persistence, transaction
- Aliases: Own-Span Compare-and-Swap
- Layer: Atomic Boundary
Pessimistic Locking
- Kind: pattern
- Category: Transactions / State / Concurrency
- Severity: contextual
- Scope: persistence, critical section
- Layer: Atomic Boundary
State Isolation
- Kind: principle
- Category: Transactions / State / Concurrency
- Severity: mandatory
- Scope: function, component, service
- Layer: Atomic Boundary
Controlled Side Effects
- Kind: principle
- Category: Transactions / State / Concurrency
- Severity: recommended
- Scope: function, module, boundary
- Layer: Atomic Boundary
Petri Nets
- Kind: model
- Category: Transactions / State / Concurrency
- Severity: contextual
- Scope: concurrency, workflow, verification
- Layer: Atomic Boundary