Skip to content

Serializable Snapshot Isolation #40

Open
@CMCDragonkai

Description

@CMCDragonkai

Specification

Currently there's still a concurrency anomaly even with SI. And that's called write skew.

SSI is an innovation on top of SI that completely removes concurrency anomaly.

I'm not sure how difficult it is to implement, cockroachdb did it on top of rocksdb, but I cannot find the source.

Doing this, should eliminate any need to have DBTransaction.getForUpdate, it would be sufficient to just use get.

This trades off a little higher conflict contention, because there can be some false positives when throwing a transaction conflict.

At the end of the day, PCC locking should be used anyway to prevent contention in these scenarios.

Additional context

Tasks

  1. ...
  2. ...
  3. ...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions