- A distributed data storage system similar to Amazon’s DynamoDB.
- Used Android Studio and multithreading to implement Java’s Socket Programming API.
The task was to implement a simplified version of Dynamo. The main goal was to provide both availability and linearizability at the same time.
There were three main pieces that needed to implemented:
- Partition
- Replication
- Failure Handling
Content providers were used to store all messages, but the abstraction it provides was a general key-value table. Local Content Providers at every node were created to support Membership, Request Routing, Quorum replication, Chain replication and Failure Handling.