{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-12",
  "slug": "serializability",
  "term": "Serializability",
  "aliases": [
    "Serializable isolation"
  ],
  "definition": "Serializability is a transaction-isolation property under which the read results and writes of committed concurrent transactions are equivalent to some serial execution of those transactions.",
  "note": "The equivalent order need not preserve real-time precedence; strict serializability adds that constraint. This does not require executing transactions physically one at a time. PostgreSQL's Serializable mode can abort a transaction to prevent a serialization anomaly, so applications must handle retries. Neither the term nor a read option named serializable independently specifies durability. Matching final values alone is not enough to establish equivalence. Snapshot isolation can allow write skew across different rows.",
  "related": [
    "linearizability",
    "compare-and-swap",
    "snapshot-isolation",
    "write-skew"
  ],
  "citations": [
    {
      "id": "herlihy-wing",
      "title": "Maurice P. Herlihy and Jeannette M. Wing. Linearizability: A Correctness Condition for Concurrent Objects. ACM TOPLAS 12(3), 1990, sections 2.2 and 3.3.",
      "url": "https://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf",
      "accessed": "2026-10-12"
    },
    {
      "id": "postgres-isolation",
      "title": "PostgreSQL 18 documentation, section 13.2: Transaction Isolation.",
      "url": "https://www.postgresql.org/docs/18/transaction-iso.html",
      "accessed": "2026-10-12"
    },
    {
      "id": "etcd-guarantees",
      "title": "etcd v3.6 API guarantees: durability, strict serializability and operation completion.",
      "url": "https://etcd.io/docs/v3.6/learning/api_guarantees/",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela-consistency",
      "title": "Storage consistency: ordering is not a transaction or a durability promise",
      "url": "https://hesela.com/analyses/storage-consistency-ordering/",
      "accessed": "2026-10-12"
    },
    {
      "id": "berenson-isolation",
      "title": "Hal Berenson et al. A Critique of ANSI SQL Isolation Levels. ACM SIGMOD 1995; MSR-TR-95-51, section 4.2.",
      "url": "https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-95-51.pdf",
      "accessed": "2026-10-12"
    }
  ]
}
