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