A secure and flexible backup system in Haskell
- Author(s): Morten Brøns Pedersen, Johan Brinch
- Supervisor(s): Ken Friis Larsen
- Link: brinchj-2013_hindsight_backup.pdf
Abstract:
Hindsight is a backup system providing guaranteed safe backup to untrusted sources such as SSH, Amazon S3 or DropBox.We employ concurrent b-tree for storing log data, as opposed to the more common transactional database. This choice has two beneficial side effects: a) more flexible handling of program crashes (which allows resuming progress); and b) compression and lazy retrieval of log data (which allows efficient snapshot inspection).
We present the design and a prototype implementation written in Haskell. Our prototype implements conservative garbage collection, but we give a comprehensive discussion of other techniques as well. We compare our prototype to several other systems and present benchmarks.