configuration/lexicon/data/transaction.data.json

configuration/lexicon/data/transaction.data.json is a file in GovLab Context. 280 lines of code and 0 definitions.

{
    "category": "transactions-state-concurrency",
    "records": [
        {
            "name": "Idempotency Key or Deterministic Operation",
            "kind": "constraint",
            "definition": "The requirement that an operation carry a deduplication key or be deterministic so repeating it is safe."
        },
        {
            "name": "Non-Repeatable Side Effects",
            "kind": "anti-pattern",
            "definition": "Side effects whose repetition changes the outcome, so retrying an operation double-applies them."
        },
        {
            "name": "Safe Retries",
            "kind": "capability",
            "definition": "The ability to retry an operation without fear of duplicating its effects."
        },
        {
            "name": "State Tracking",
            "kind": "quality-attribute",
            "definition": "The degree to which making operations idempotent requires tracking processed keys or prior state."
        },
        {
            "name": "All-or-Nothing State Change",
            "kind": "capability",
            "definition": "The ability to apply a set of changes so that either all of them take effect or none do."
        },
        {
            "name": "Distributed Scalability",
            "kind": "quality-attribute",
            "definition": "The degree to which enforcing atomic transactions across nodes limits how far a system can scale out."
        },
        {
            "name": "Partial Commit",
            "kind": "anti-pattern",
            "definition": "Committing only some of a multi-step change after a failure, leaving state half-updated and inconsistent."
        },
        {
            "name": "BASE/Eventual Consistency",
            "kind": "model",
            "definition": "A consistency model favoring availability and soft state, letting replicas converge over time rather than staying strongly consistent."
        },
        {
            "name": "Distributed Availability",
            "kind": "quality-attribute",
            "definition": "The degree to which insisting on strong transactional consistency reduces availability across a distributed system."
        },
        {
            "name": "Durability",
            "kind": "quality-attribute",
            "definition": "The degree to which committed data survives crashes and is never lost once acknowledged."
        },
        {
            "name": "Strong Transactional Guarantees",
            "kind": "capability",
            "definition": "The ability to guarantee that a group of operations is atomic, consistent, isolated, and durable."
        },
        {
            "name": "Consistency Rules",
            "kind": "constraint",
            "definition": "The requirement that the invariants a transaction must preserve be defined for its scope."
        },
        {
            "name": "Hidden Distributed Transaction",
            "kind": "anti-pattern",
            "definition": "A transaction that silently spans service boundaries, coupling systems that should commit independently."
        },
        {
            "name": "Large Transaction Scope",
            "kind": "quality-attribute",
            "definition": "The degree to which widening a transaction to cover more work increases contention and failure surface."
        },
        {
            "name": "Safe State Mutation",
            "kind": "capability",
            "definition": "The ability to mutate state within a bounded transaction so partial failures cannot corrupt it."
        },
        {
            "name": "Coordinated Persistence",
            "kind": "capability",
            "definition": "The ability to commit a set of related changes together as one atomic unit of work."
        },
        {
            "name": "Repository Complexity",
            "kind": "quality-attribute",
            "definition": "The degree to which coordinating saves through a unit of work adds indirection to the persistence layer."
        },
        {
            "name": "Scattered Save Calls",
            "kind": "anti-pattern",
            "definition": "Persisting related changes through many independent save calls, so a mid-sequence failure leaves partial state."
        },
        {
            "name": "Inconsistent Replicas/Models",
            "kind": "anti-pattern",
            "definition": "Replicas or models that disagree on the same data, so reads return conflicting answers."
        },
        {
            "name": "Reliable State",
            "kind": "capability",
            "definition": "The ability to trust that stored state always satisfies its invariants."
        },
        {
            "name": "Dirty Reads/Writes",
            "kind": "anti-pattern",
            "definition": "Reading or overwriting another transaction's uncommitted changes, so a rollback leaves corrupt data."
        },
        {
            "name": "Safe Concurrent Operations",
            "kind": "capability",
            "definition": "The ability to run concurrent transactions without their intermediate states interfering."
        },
        {
            "name": "Safe Parallel Mutation",
            "kind": "capability",
            "definition": "The ability to let multiple actors mutate shared state in parallel without corrupting it."
        },
        {
            "name": "Shared State Identification",
            "kind": "constraint",
            "definition": "The requirement that all state shared between concurrent actors be identified before it is guarded."
        },
        {
            "name": "Blind Overwrite",
            "kind": "anti-pattern",
            "definition": "Writing over another actor's update without checking whether the data changed first, silently losing it."
        },
        {
            "name": "Conflict Detection",
            "kind": "capability",
            "definition": "The ability to detect that data changed since it was read, so a conflicting write can be rejected."
        },
        {
            "name": "Retry Complexity",
            "kind": "quality-attribute",
            "definition": "The degree to which rejecting conflicting writes pushes retry-and-merge logic onto callers."
        },
        {
            "name": "Version Field",
            "kind": "artifact",
            "definition": "A field on a record whose value changes on each write, used to detect concurrent modification."
        },
        {
            "name": "Lock Ownership",
            "kind": "constraint",
            "definition": "The requirement that a lock be exclusively held by one actor for the duration of a critical section."
        },
        {
            "name": "Lock-Free Throughput",
            "kind": "quality-attribute",
            "definition": "The degree to which a design sustains high throughput by coordinating concurrent access without holding locks."
        },
        {
            "name": "Strong Conflict Prevention",
            "kind": "capability",
            "definition": "The ability to prevent conflicting updates by locking data before it is modified."
        },
        {
            "name": "Data Sharing",
            "kind": "quality-attribute",
            "definition": "The degree to which strictly isolating state limits components from directly sharing data."
        },
        {
            "name": "Effect Boundaries",
            "kind": "constraint",
            "definition": "The requirement that side effects be confined to explicit boundaries rather than scattered through pure logic."
        },
        {
            "name": "Performance Optimization",
            "kind": "quality-attribute",
            "definition": "The degree to which pushing side effects to the edges can forgo in-place optimizations that mutate for speed."
        },
        {
            "name": "Pure Core / Imperative Shell",
            "kind": "pattern",
            "definition": "An arrangement that keeps decision logic pure and pushes all side effects to a thin outer shell."
        },
        {
            "name": "Ad-Hoc Lock Ordering",
            "kind": "anti-pattern",
            "definition": "Ordering lock acquisition by hand-reasoning rather than a proven scheme, inviting deadlock."
        },
        {
            "name": "Concurrency Correctness",
            "distinctFrom": [
                {
                    "id": "lexicon:deadlock-freedom",
                    "reason": "Concurrency correctness is concurrent flows producing correct results, while deadlock freedom is those flows never halting for good."
                }
            ],
            "kind": "quality-attribute",
            "definition": "The degree to which concurrent flows produce correct results free of races and lost updates, for example because each unit's state is isolated.",
            "aliases": ["Concurrency Safety"]
        },
        {
            "name": "Concurrent-Flow Modeling",
            "distinctFrom": [
                {
                    "id": "lexicon:reachability-and-deadlock-analysis",
                    "reason": "Concurrent-flow modeling builds the explicit model of token flow, while reachability analysis examines which states that model can reach."
                }
            ],
            "kind": "capability",
            "definition": "The ability to model concurrent token flow explicitly so its behavior can be analyzed."
        },
        {
            "name": "Deadlock Freedom",
            "distinctFrom": [
                {
                    "id": "lexicon:lock-free-throughput",
                    "reason": "Deadlock freedom is never halting for good, while lock-free throughput is sustaining speed by not holding locks at all."
                }
            ],
            "kind": "quality-attribute",
            "definition": "The degree to which a concurrent design is provably free of states where progress halts permanently, which acquiring several locks pessimistically puts at risk.",
            "aliases": ["Deadlocks"]
        },
        {
            "name": "Modeling Overhead",
            "kind": "quality-attribute",
            "definition": "The degree to which formally modeling concurrency as a net adds effort over writing the code directly."
        },
        {
            "name": "Places and Transitions",
            "kind": "constraint",
            "definition": "The requirement that a modeled system be expressed as places holding tokens and transitions that move them."
        },
        {
            "name": "Reachability and Deadlock Analysis",
            "kind": "capability",
            "definition": "The ability to analyze which states a concurrent model can reach and whether any of them deadlock."
        },
        {
            "name": "Reconciliation Job",
            "kind": "technique",
            "definition": "A technique for periodically comparing two copies of related state and repairing the differences found."
        },
        {
            "name": "Merge Policy",
            "kind": "technique",
            "definition": "A technique for declaring how two concurrent changes to one value are combined."
        },
        {
            "name": "Transaction Isolation Level",
            "kind": "technique",
            "definition": "A technique for choosing how much concurrent transactions see of each other's uncommitted and recent writes."
        },
        {
            "name": "Make Immutable",
            "kind": "technique",
            "definition": "A technique for replacing in-place mutation with new values, so state shared between readers cannot change under them."
        },
        {
            "name": "Read From Primary After Write",
            "kind": "technique",
            "definition": "A technique for routing a client's reads to the primary for a short time after it writes, so it sees its own write."
        },
        {
            "name": "Consistency Contract",
            "kind": "technique",
            "definition": "A technique for stating which reads may be stale, for how long, and how a client learns that its write is visible."
        },
        {
            "name": "Fix the Race",
            "kind": "technique",
            "definition": "A technique for removing a race by ordering, locking or making the shared state immutable, instead of retrying the test."
        },
        {
            "name": "Apply Concurrency Control",
            "kind": "technique",
            "definition": "A technique for coordinating concurrent writers with locks, versions or ownership, so no write is lost."
        },
        {
            "name": "Introduce Transaction Boundary",
            "kind": "technique",
            "definition": "A technique for declaring which writes commit or fail together."
        }
    ]
}