Begin work to document a proposed file format for backups.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Sat, 16 Dec 2006 07:32:15 +0000 (23:32 -0800)
committerMichael Vrable <mvrable@beleg.ucsd.edu>
Sat, 16 Dec 2006 07:32:15 +0000 (23:32 -0800)
format.txt [new file with mode: 0644]

diff --git a/format.txt b/format.txt
new file mode 100644 (file)
index 0000000..f7ce166
--- /dev/null
@@ -0,0 +1,27 @@
+                       Backup Format Description
+                  for an LFS-Inspired Backup Solution
+
+NOTE: This is simply a proposal at this point in time, and not yet
+implemented.  Details are subject to change.
+
+========================================================================
+
+Goals: To provide a stable and extensible data storage format for
+efficient remote filesystem backups.  Among the features desired in the
+format are:
+  - Support for grouping unchanging file contents together, and reusing
+    it for future backups.
+  - Nonetheless allow old backups to be deleted (at least those parts
+    that are not also used by newer backups).
+  - Support some form of rdiff-style incremental differences within a
+    file.
+The current plan is to implement compression and encryption separately:
+not as part of the base format, but simply by passing the backup data
+through filters such as bzip2 or gpg.
+
+Data is organized into a collection of _objects_, which are grouped
+together for storage purposes into _segments_.  Objects may refer to
+other objects; a snapshot consists of a tree object which in turn refers
+to other objects containing file data.  A new snapshot may be created
+which refers to some of the old objects with file data, if those files
+have not changed.