General In the previous assignment, you implemented a fault-tolerant key-value store using replication.

computer science

Description

Instructions

General In the previous assignment, you implemented a fault-tolerant key-value store using replication. To put it another way, you added more nodes to make your key-value store more resilient. However, resilience is not the only reason to take on the complexity of distributed systems. By adding more nodes to your key-value store and distributing key-value pairs across nodes in an intelligent way, you can increase the capacity and throughput of the key-value store. We call such a key-value store a sharded key-value store. In this assignment, you will extend the implementation of your fault-tolerant key-value store and add sharding to it. Your implementation will be a sharded, fault-tolerant key-value store, with better fault tolerance, capacity, and throughput than a single-site key-value store can offer. 

• You must do your work as part of a team. 

• You will use Docker to create an image that exposes a key-value store implementing the REST API described in the next section. 

• Your key-value store does not need to persist the data, i.e., it can store data in memory only. 

• You need to implement your own key-value store, and not use an existing key-value store such as Redis, CouchDB, MongoDB, etc. 

• We will only grade the most recently submitted commit ID for each repository, so it is OK to submit more than once. 

• The assignment is due 06/05/2020 (Friday) 11:59:59 PM. Late submissions are accepted, with a 10% penalty per day of lateness. Submitting during the first 24 hours after the deadline counts as one day late; 24-48 hours after the deadline counts as two days late; and so on. 

• The order of name/value pairs in JSON objects is irrelevant. For example, {"foo":"bar","baz":"quux"} is equivalent to {"baz":"quux","foo":"bar"}. 


Related Questions in computer science category


Disclaimer
The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.