Replicated Concurrency Control and Recovery

  • RepCRec – Replicated Concurrency Control and Recovery.
  • Implemented a distributed database, complete with multi-version concurrency control (MVCC), deadlock detection, replication, and failure recovery.
  • Algorithms used: Available copies approach using strict two phase locking (2PL).

Replicated MVCC Transaction Architecture

flowchart TD
    Client["Client Transactions"] -->|Read/Write Requests| TM["Transaction Manager"]
    TM -->|Check Locks & Deadlocks| LM["Lock Manager"]
    LM -->|Strict 2PL / Wait-Die| TM
    TM -->|Route Requests| DM["Data Manager Sites 1-10"]
    
    subgraph Sites ["Distributed Sites"]
        DM -->|Read/Write replicas| DB["Multi-Version Storage"]
        DM -->|Track fail/recover status| RM["Recovery Manager"]
    end

    style TM fill:#1DB954,stroke:#fff,stroke-width:2px,color:#fff
    style LM fill:#3572A5,stroke:#fff,stroke-width:2px,color:#fff
    style DM fill:#767f87,stroke:#fff,stroke-width:2px,color:#fff
    style DB fill:#ff9900,stroke:#fff,stroke-width:2px,color:#fff



More on this project can be found here

updated_at 05-12-2021