1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-24 08:45:13 +00:00
borg/docs/internals.rst
Marian Beermann e5bbba573a docs: make internals.rst an index page
Subsections:

- Security
- Data structures and file formats
2017-02-22 00:21:14 +01:00

32 lines
1.1 KiB
ReStructuredText

.. include:: global.rst.inc
.. _internals:
Internals
=========
.. toctree::
internals/security
internals/data-structures
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.
Borg uses a low-level, key-value store, the :ref:`repository`, and
implements a more complex data structure on top of it, which is made
up of the :ref:`manifest <manifest>`, :ref:`archives <archive>`,
:ref:`items <item>` and data :ref:`chunks`.
Each repository can hold multiple :ref:`archives <archive>`, which
represent individual backups that contain a full archive of the files
specified when the backup was performed.
Deduplication is performed globally across all data in the repository
(multiple backups and even multiple hosts), both on data and metadata,
using :ref:`chunks` created by the chunker using the Buzhash_
algorithm.
To actually perform the repository-wide deduplication, a hash of each
chunk is checked against the :ref:`cache`, which is a hash-table of
all chunks that already exist.