I've been evaluating large key-value stores recently and I keep coming acrosss the term 'read-repair' but have no clue what they are talking about. I think it has something to do with transactions but am not sure.
Could someone please explain what it is and how it is different from the way traditional databases work? Maybe provide some pseudo code to help explain?
To improve scalability, many scalable key-value stores allow you to write to only a majority of the replicas for a piece of data. (So, if you have 5 replicas, you only have to write to 3 of them). When you read, you make sure to read from a majority of the replicas. That way you're guaranteed to read at least one replica that has the newest value.
Read Repair means when you detect that some of the replicas have older values, you update them with the newer value just to reduce the number of obsolete values in the system. This is an example of a "Anti-Entropy" procedure.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With