Using Versioning to Simplify the Implementation of a Highly-Available File System
Dima Brodsky, Jody Pomkoski, Mike Feely, N.C. Hutchinson, Alex Brodsky · 2001
This paper describes the design and implementation of Mammoth, a novel distributed file system that we are building. The key feature of Mammoth is that it stores files and directories as histories of immutable versions that are created each time a file or directory is modified. All Mammoth meta-data is stored in append-only fashion and all file data is read-only once it is created. As a result, Mammoth can replicate data on multiple loosely-connected nodes with minimal concern for consistency. The only overhead for creating and maintaining a replica is the storage it occupies.