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?