A keymap service architecture for a distributed storage system. A system
may implement storage nodes configured to store replicas of data objects,
where each of the replicas is accessible via a respective locator value,
and keymap instances each configured to store keymap entries
corresponding respectively to the data objects. A given keymap entry may
indicate a mapping from a given key value corresponding to a given data
object to each respective locator value of its replicas. Each of the
keymap instances may store a replica of the given keymap entry and may
index its respective stored keymap entries within a respective index data
structure including hierarchically arranged index nodes corresponding to
keymap entries. For a given keymap entry having a given corresponding
index node, each tag value associated with each ancestor of the given
corresponding index node may be a prefix of the given key value.