IT-lexikon › Databas › Two-phase locking

Two-phase locking

Databas In English → Uppdaterad: 2026-05-27

Klassisk concurrency-control-algoritm: transaktion låser objekt det rör, släpper alla lås först vid commit. "Två faser" = growing phase (skaffa lås) + shrinking phase (släpp). Garanterar serializability men risk för deadlock.

Strict 2PL (S2PL): håller exklusiva lås till slut, garanterar recoverability. Rigorous 2PL: håller alla lås till slut. MySQL InnoDB använder S2PL för Serializable-isolation. Konkurrent: MVCC + snapshot isolation (Postgres default) — låser bara writes, läs ser konsekvent snapshot utan att blockera. 2PL har högre lock-contention men enklare reasoning. Modern distribuerad DB använder Optimistic Concurrency Control (Cockroach) eller MVCC (Postgres, Spanner). Klassiskt undervisad i alla DB-kurser.

← Tillbaka till lexikonet