Concurrency control simulation is a simulation of how DBMS works. There are consist of three protocols, Two-Phase Locking (automatic acquisition of locks, wound-wait deadlock prevention), Optimistic Concurrency Control, and Multiversion Timestamp Ordering.
Name | NIM |
---|---|
Athif Nirwasito | 13521053 |
Muhammad Bangkit Dwi Cahyono | 13521055 |
Husnia Munzayana | 13521077 |
Cetta Reswara Parahita | 13521133 |
- Python
- Clone this repository
- twopl.py and mvcc.py
Go to ./twopl or ./mvcc
usage: python {twopl.py, mvcc.py} [pathfile]
Concurrency Control Protocol Implementation
positional arguments:
{twopl.py, mvcc.py} choose concurrency control protocol
[pathfile] path file for the testcase, use file in ./test
example:
python twopl.py twopl_tc1.txt
python mvcc.py mvcc_tc1.txt
- OCC.py
Go to ./occ
usage: python OCC.py input
Optimistic Concurrency Control Simulation
positional arguments:
input Input string of transactions to be scheduled
example:
python OCC.py "R1(A);W1(A);R2(C);W2(A);R3(B);W3(C);R4(D);W4(D);C1;C2;C3;C4"
Our program accepts input in the form of R1(X); W2(Y); W2(Z); W3(A); W3(B); C1; C2; C3;
2023 © K01/10. All Rights Reserved.