From 0f4c073d4adfb0fcb165da810e3125a15aa8cd33 Mon Sep 17 00:00:00 2001 From: "Peter J. Keleher" <keleher@cs.umd.edu> Date: Thu, 9 Dec 2021 10:04:54 -0500 Subject: [PATCH] auto --- notes/hat.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/notes/hat.md b/notes/hat.md index 702e3ce..b49a785 100644 --- a/notes/hat.md +++ b/notes/hat.md @@ -81,7 +81,7 @@ guarantees. Assume invariant *x == y*: Both preserve consistency in isolation, but not w/ this schedule and dirty writes. -## Isolation guarantees: +## Isolation guarantee definitions: "**read uncommitted**" (PL-1) - writes to each obj totally ordered (prohibits dirty writes) @@ -92,10 +92,17 @@ Both preserve consistency in isolation, but not w/ this schedule and dirty write - no dirty writes, reads - implement w/ buffers (though doesn't guarantee recency) -"**repeatable read**" (cut (*snapshot*) isolation) -- item cut iso (multiple different values): buffer reads -- predicate cut iso (cut over "SELECT ..WHERE....") -- impl both w/ buffering +"**repeatable read**" +- **cut** (*snapshot*) **isolation** + - single piece of data + - this is the usual meaning of RR + - implement by buffering read values +- **item cut isolation** + - multiple different values + - implement by buffering reads +- **predicate cut isolation* + - cut over "SELECT ..WHERE....") (phantom anomalies) + - implement by caching entire logical ranges ---- ### Unachievable isolation levels with partitions: -- GitLab