Skip to content
Snippets Groups Projects
Commit 1d101c02 authored by Peter J. Keleher's avatar Peter J. Keleher
Browse files

auto

parent 0f4c073d
No related branches found
No related tags found
No related merge requests found
...@@ -81,7 +81,7 @@ guarantees. Assume invariant *x == y*: ...@@ -81,7 +81,7 @@ guarantees. Assume invariant *x == y*:
Both preserve consistency in isolation, but not w/ this schedule and dirty writes. Both preserve consistency in isolation, but not w/ this schedule and dirty writes.
## Isolation guarantee definitions: ## Achievable isolation levels with partitions
"**read uncommitted**" (PL-1) "**read uncommitted**" (PL-1)
- writes to each obj totally ordered (prohibits dirty writes) - writes to each obj totally ordered (prohibits dirty writes)
...@@ -100,12 +100,12 @@ Both preserve consistency in isolation, but not w/ this schedule and dirty write ...@@ -100,12 +100,12 @@ Both preserve consistency in isolation, but not w/ this schedule and dirty write
- **item cut isolation** - **item cut isolation**
- multiple different values - multiple different values
- implement by buffering reads - implement by buffering reads
- **predicate cut isolation* - **predicate cut isolation**
- cut over "SELECT ..WHERE....") (phantom anomalies) - cut over "SELECT ..WHERE....") (phantom anomalies)
- implement by caching entire logical ranges - implement by caching entire logical ranges
---- ----
### Unachievable isolation levels with partitions: ## Unachievable isolation levels with partitions
- snapshot isolation, - snapshot isolation,
- read from consistent cut - read from consistent cut
- commit only if items from writeset not committed by another T since snapshot - commit only if items from writeset not committed by another T since snapshot
...@@ -116,6 +116,10 @@ Both preserve consistency in isolation, but not w/ this schedule and dirty write ...@@ -116,6 +116,10 @@ Both preserve consistency in isolation, but not w/ this schedule and dirty write
on entire set of results on entire set of results
- violated if lost writes because of locks not reaching across partition. - violated if lost writes because of locks not reaching across partition.
- therefore not HAT (because can't prevent lost updates) - therefore not HAT (because can't prevent lost updates)
- Serializability:
- optimistic requires global validation
- pessimistic requires global coord/locking
---- ----
### Unachievable properties ### Unachievable properties
- preventing lost updates - preventing lost updates
...@@ -129,27 +133,17 @@ Both preserve consistency in isolation, but not w/ this schedule and dirty write ...@@ -129,27 +133,17 @@ Both preserve consistency in isolation, but not w/ this schedule and dirty write
*Clearly impossible to prevent in dist environment.* *Clearly impossible to prevent in dist environment.*
- preventing write skew. Write Skew generalizes LU to multiple keys. Possible problem is - preventing write skew.
violation of consistency, such as "x == y"" - generalizes *lost updates* to multiple keys
- problem is possible violation of *consistency* (different Tx effective
access distinct replicas)
- initially X = 1, Y = 2, each transaction trying to make them identical.
``` ```
T1: t = x; y = t T1: t = x; y = t
T2: t = y; x = t T2: t = y; x = t
``` ```
Can happen w/ snapshot isolation even w/o partitions. Can happen w/ snapshot isolation even w/o partitions.
- Serializability:
- optimistic requires global validation
- pessimistic requires global coord/locking
- Katura not buying sticky avail (definitional)
- Nao - "really confusing" (yes)
- Patrick/Andrew - causal only w/ sticky (client caching breaks lots of guarantees)
----
### HAT-compliant: ### HAT-compliant:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment