A Transparently-Scalable Metadata Service for the Ursa Minor Storage System
The metadata service of the Ursa Minor distributed storage system scales metadata throughput as metadata servers are added. While doing so, it correctly handles operations that involve metadata served by different servers, consistently and atomically updating such metadata. Unlike previous systems, Ursa Minor does so by reusing existing metadata migration functionality to avoid complex distributed transaction protocols. It also assigns object IDs to minimize the occurrence of multiserver operations. This approach allows Ursa Minor to implement a desired feature with less complexity than alternative methods and with minimal performance penalty (under 1% in non-pathological cases).