MapStoreFS : developing a file system on MapStore
Jim Hong · eScholarship (California Digital Library) · 2009
Designing and implementing a highly reliable and available data storage layer service across multiple machines is no easy feat. In response to this impediment, MapStore was developed to provide a storage layer designed to run on a network of data centers with the ability to withstand both transient and permanent failure of entire data centers. Developers can implement applications on top of MapStore by accessing its data through uniquely-named maps, which map an arbitrary number of keys to values. MapStore provides an API for constructing and manipulating its maps while providing strong data consistency guarantees. The focus of this thesis is validating the expressiveness of MapStore's map interface by implementing MapStoreFS, a fault-tolerant, high-performance, distributed file system on top of MapStore. Previous work has shown that a mail server and an object store system are expressible by MapStore's map interface, but only demonstrates a limited scope of potential applications. This thesis expands MapStore's application space and complexity by detailing the development of MapStoreFS.