Implement a distributed database using multi-version concurrency control, deadlock detection, replication, and failure recovery
This application can be rebuilt and re-run using either Reprozip or Vagrant
If you'd prefer to use Reprozip our reprozip package is in the root directory called distributed_db.rpz
Make sure to have Vagrant installed before you begin. For install instructions visit: Vagrant Getting Started
After Vagrant has been setup, execute the following commands:
git clone https://github.com/cfnyu/distributed_db.git
cd distributed_db
NOTE: Please copy the input files you intend to run inside the distributed_db folder. You can call it what ever you want
Copy your input files to a directory in the distributed_db
folder and execute the following commands:
vagrant up
vagrant ssh
Once the virtual machine is up and you have ssh'd into the new box, run the following commands from inside the VM:
NOTE: Please have each test case in a separate file
cd /vagrant
python main.py <input_file_path> [-v]
The -v is an optional argument to set the Verbose flag to True, which will output log messages to stdout