Aria
Non deterministic database
- 2PC
- Paxos/Raft
Deterministic Concurrency Control
- Use a sequencing layer to determine total order & replace nondeterministic operations
- Dependency graph / ordered lock
- Require read/write set of the transaction
- Single thread locking
Aria
- Pass through a seq layer to get TID
- Commit order by default
- But might get reordered
- Runs batch in execution phase and commit phase
- A transaction commits if it has no WAW-dependencies or RAW-dependencies on any earlier transact
- Aborted transaction goes to the next batch
Re-ording
- A transaction commits if two conditions are met: (1) it has no WAW-dependencies on any earlier transaction, and (2) it does not have both WAR-dependencies and RAW dependencies on earlier transactions with smaller TID
def of batch?