Search⌘ K
AI Features

A Write-friendly Store for SILT: Part III

Understand the design and operation of a write-friendly store in SILT key-value systems, focusing on efficient GET request handling and memory optimization. Learn how this store uses partial keys and hash-based lookups to reduce latency and memory use, as well as trade-offs involving store parallelization and memory bounds. This lesson prepares you to manage resource-efficient and scalable storage components in large-scale distributed systems.

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) and h2(Kg) and looks inside these buckets.

    • Inside h1(Kg), it looks for the tag h2(Kg). If the computed tag h2(Kg) matches the tag inside bucket h1(Kg), then it looks up the entry in the storage log stored on the offset marked with h2(Kg).

    • Inside h2(Kg), it looks for the tag h1(Kg). If the computed tag h1(Kg) matches the tag inside bucket h2(Kg), then it looks up the entry in the storage log stored on the offset marked with h1(Kg).

  • Upon a successful matchcomputed tag matches tag in bucket in ...