top of page

Distributed Key-Value Database

Year:

September 2023 - December 2023

GitHub:

This project is not open source.

Project Description:

This project involved the development of a distributed key-value database implementing consistent replication in a hostile network environment. The system was designed to provide strong consistency guarantees through a simplified version of the Raft consensus protocol, ensuring correctness and availability despite network failures, packet loss, and node crashes. Key functionalities included handling put() and get() operations with minimal latency, efficient leader election, log replication, and state management across multiple replicas. Performance was evaluated using a simulator, which tested the system under various network conditions, including lossy networks and partitioned nodes, ensuring robustness and scalability.

My Contributions:

Responsible for meeting all project requirements, including implementing the Raft consensus protocol to achieve distributed consistency and availability. This included developing functionalities for leader election, log replication, and commit handling, as well as ensuring correct responses to client put() and get() requests. Additionally, I optimized message handling and batching to improve system performance and minimize latency under challenging network conditions.

© 2024 Jayson Zhang

bottom of page