Replicated and Consistent Distributed Data Storage


This project develops a distributed and replicated system to transmit, store, and query data for a simulated IoT infrastructure. The infrastructure contains one device which transmits real-time data to multiple servers. A client may then query a specific server to retrieve data. Clients may make read-only queries and the device may only make write-only queries. The decentralized system acts as a key-value store. In addition, the system supports fault-tolerance as long as at least one server is alive at any given moment in time.