Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • + O(1) lookup
    • Just keep a table, shift the address to get the shard number, then lookup host by shard id
    • Table is too large initally or too small eventually

Assuming 64 bit addrs, 32 bit host addrs, 4 replicas

log_2 # shards

log_2 # addrs/shard

index size

30

34

16GB

40

24

16TB

  • - Size of a shard can never grow beyond capacity of the largest machine
    • Might not always be able to store even when there is excess capacity in the system
    • Could do something hackish; have saturated host forward requests it doesn't have the entries for to another host with a different part of the same shard
  • - Nearly impossible to determine address range chunk size initially
  • - Nightmare if we decide we need a new address range chunk size
    • Requires "rehashing" the whole thing
  • - Adding and removing hosts
    • Some of these issues are addressable with linear hashing techniques.

...