{"id":19438997,"url":"https://github.com/spacejam/state-guide","last_synced_at":"2026-03-03T13:40:45.809Z","repository":{"id":149786436,"uuid":"111025878","full_name":"spacejam/state-guide","owner":"spacejam","description":"overviews of consistency, availability and durability ","archived":false,"fork":false,"pushed_at":"2017-11-16T22:44:11.000Z","size":3,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-29T17:52:04.087Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spacejam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-11-16T21:45:42.000Z","updated_at":"2024-06-13T16:40:42.000Z","dependencies_parsed_at":"2023-06-02T14:45:07.617Z","dependency_job_id":null,"html_url":"https://github.com/spacejam/state-guide","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacejam%2Fstate-guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacejam%2Fstate-guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacejam%2Fstate-guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacejam%2Fstate-guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spacejam","download_url":"https://codeload.github.com/spacejam/state-guide/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240392614,"owners_count":19794127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T15:20:35.710Z","updated_at":"2026-03-03T13:40:40.785Z","avatar_url":"https://github.com/spacejam.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# state-guide\noverviews of consistency, availability and durability \n\n# levels\n\nLevel|Name|Phenomena disallowed\n-----|----|-------\nPL-CS|Cursor Stability|G1, G-cursor\nPL-2L|Monotonic View|G1, G-monotonic\nPL-MSR|Monotonic Snapshot Reads|G1, G-MSR\nPL-2+|Consistent View|G1, G-single\nPL-FCV|Forward Consistent View|G1, G-SIb\nPL-SI|Snapshot Isolation|G1, G-SI\nPL-2.99|Repeatable Reads|G1, G2-item\nPL-3U|Update Serializability|G1, G-update\nPL-3|Full Serializability|G1, G2\n\n[source: Weak Consistency: A Generalized Theory and Optimistic\nImplementations for Distributed Transactions](http://pmg.csail.mit.edu/papers/adya-phd.pdf)\n\n# phenomena\n\n\nPhenomenon|Description\n----------|-----------\nwrite cycles, G0|\naborted reads, G1a|\nintermediate reads, G1b|\ncircular information flow, G1c|\nnon-atomic predicate-based reads, G1-predA|\nnon-atomic predicate-based reads w.r.t. transactions, G1-predB|\nanti-dependency cycles, G2|\nitem anti-dependency cycles, G2-item|\nnon-atomic SQL statements, G-SQL-atomic|\nanti-dependency cycles at runtime, E2|\nsingle anti-dependency cycles, G-single|\nmonotonic reads, G-monotonic|\ninterference, G-SIa|\nmissed effects, G-SIb|\naction interference, G-MSRa|\naction missed effects, G-MSRb|\nlabeled single anti-dependency cycles, G-cursor(x)|\nsingle anti-dependency cycles with update transactions, G-update|\nsingle anti-dependency cycles at runtime, E-single|\nmonotonic reads at runtime, E-monotonic|\nsingle anti-dependency cycles with update transactions at runtime, E-update|\n\n[source: Weak Consistency: A Generalized Theory and Optimistic\nImplementations for Distributed Transactions](http://pmg.csail.mit.edu/papers/adya-phd.pdf)\n\n\nPhenomenon|Description\n----------|-----------\ndirty write, P0|\ndirty read, P1|\ncursor lost update|\nlost update, P4|\nnon-repeatable/fuzzy read, P2|\nphantom, P3|\nread skew, A5A|\nwrite skew, A5B|\n\n[source: A Critique of ANSI SQL Isolation Levels](https://www.cs.umb.edu/cs734/CritiqueANSI_Iso.pdf)\n\nPhenomenon|Description\n----------|-----------\nitem-many-preceders, IMP|\npredicate-many-preceders, PMP|\nobserved-transaction-vanishes, OTV|\nnon-monotonic reads, N-MR|\nnon-monotonic writes, N-MW|\nmissing read-write dependency, MRWD|\nmissing your writes, MYR|\nlost update|\nwrite skew|\n\n[source: Highly Available Transactions: Virtues and Limitations\n(Extended Version)](https://arxiv.org/pdf/1302.0309.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacejam%2Fstate-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspacejam%2Fstate-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacejam%2Fstate-guide/lists"}