A Write-friendly Store for SILT: Part III
Learn how to design a key-value store for fast writing.
We'll cover the following...
GET requests
Since we are using a partial key, it is important to note how this will affect GET requests. We will only proceed with a lookup for a GET request if the tag matches the key in the request. By lookup, we mean lookup in storage. So, when the write-friendly store receives a GET request for key Kg:
It computes the candidate buckets
h1(Kg)andh2(Kg)and looks inside these buckets.Inside
h1(Kg), it looks for the tagh2(Kg). If the computed tagh2(Kg)matches the tag inside bucketh1(Kg), then it looks up the entry in the storage log stored on the offset marked withh2(Kg).Inside
h2(Kg), it looks for the tagh1(Kg). If the computed tagh1(Kg)matches the tag inside bucketh2(Kg), then it looks up the entry in the storage log stored on the offset marked withh1(Kg).
Upon a
in ...successful match computed tag matches tag in bucket