docs: internals: improve structure and formatting

This commit is contained in:
Thomas Waldmann 2015-08-29 04:23:57 +02:00
parent ddd0e2700b
commit 1a949eab3e
1 changed files with 10 additions and 4 deletions

View File

@ -8,7 +8,6 @@ This page documents the internal data structures and storage
mechanisms of |project_name|. It is partly based on `mailing list
discussion about internals`_ and also on static code analysis.
It may not be exactly up to date with the current source code.
Repository and Archives
-----------------------
@ -151,6 +150,9 @@ Each archive info contains:
It is the last object stored, in the last segment, and is replaced
each time.
The Archive
-----------
The archive metadata does not contain the file items directly. Only
references to other objects that contain that data. An archive is an
object that contains:
@ -163,6 +165,10 @@ object that contains:
* username
* time
The Item
--------
Each item represents a file, directory or other fs item and is stored as an
``item`` dictionary that contains:
@ -220,7 +226,7 @@ what files you have based on a specific set of chunk sizes).
Indexes / Caches
----------------
The files cache is stored in ``cache/files`` and is indexed on the
The **files cache** is stored in ``cache/files`` and is indexed on the
``file path hash``. At backup time, it is used to quickly determine whether we
need to chunk a given file (or whether it is unchanged and we already have all
its pieces).
@ -239,7 +245,7 @@ archives in different setups.
The files cache is stored as a python associative array storing
python objects, which generates a lot of overhead.
The chunks cache is stored in ``cache/chunks`` and is indexed on the
The **chunks cache** is stored in ``cache/chunks`` and is indexed on the
``chunk id_hash``. It is used to determine whether we already have a specific
chunk, to count references to it and also for statistics.
It contains:
@ -248,7 +254,7 @@ It contains:
* size
* encrypted/compressed size
The repository index is stored in ``repo/index.%d`` and is indexed on the
The **repository index** is stored in ``repo/index.%d`` and is indexed on the
``chunk id_hash``. It is used to determine a chunk's location in the repository.
It contains: