J'ai d'ailleurs une issue encore ouverte qui me demande de comparer avec Frost.
Donc pour résumer à ce que j'ai compris:
Borg fait de la déduplication comme Frost, en utilisant un rolling checksum (type Adler32 chez Frost, ppargon je crois chez Borg)
Borg est écrit en python (Frost est natif, non interprété) avec le code de la crypto en C/Cython, Frost utilise OpenSSL et est donc accéléré en HW si disponible.
Borg compresse en LZ4, Zlib, Zstd (Frost, c'est seulement en Zlib et BSC, une sorte de LZMA 2x plus efficace). J'avais des plans pour implémenter Zstd, mais finalement, BSC, ça marche suffisamment bien, j'ai eu la flemme de changer.
Chaque chunk de données est identifié par son checksum, un hash SHA1 (soit 24 octets) chez Frost, la corruption est très improbable. Chez Borg, c'est un SHA256 (soit 32 octets). Je m'attends à ce que l'index chez Borg soit au moins 33% plus gros.
Borg v2 fait de l'authenticated encryption (AES_OCB/AEAD) alors que Frost fait du Encrypt en AES_CTR then MAC.
Les 2 fournissent un "driver" FUSE pour monter les archives
Borg ne fait pas de mmap sur ses index, et donc il faut avoir suffisamment de mémoire vive pour charger l'index en entier dans la mémoire. Ce qui limite, AMHA, à environ 100k fichiers par Go de mémoire sur Borg. Frost n'a pas ce problème.
Borg est beaucoup plus maintenu, il a en place une sorte d'organisation qui peut recevoir des dons (support pour les personnes en difficulté). Frost, c'est pas le cas.
Borg fonctionne à la fois comme serveur et comme client, il peut être appelé par SSH pour gérer l'envoi et la réception de chunks/multichunks. Ce qui nécessite une bonne connexion de données, pour la sauvegarde à distance et surtout la possibilité de lancer un processus sur un serveur distant. Frost lui travaille au niveau du système de fichier, donc il est indépendant du serveur et se base sur FUSE pour monter un serveur distant localement. Typiquement, ça veut dire que Frost fonctionnera sur de l'Amazon S3, du SSH/SFTP, du FTP, du Webdav, car il existe des "drivers" FUSE pour chacun de ces formats.
De plus, Frost utilise un index des fichiers local donc démarre beaucoup plus rapidement la sauvegarde, comparé à Borg qui doit le télécharger à chaque backup. Pour donner un ordre d'idée de la taille de l'index, il fait 1.7GB pour un backup de 136G (compressé) depuis 7 ans.
[^] # Re: Ressemble beaucoup à Frost
Posté par xryl669 . En réponse à la dépêche Jubako et Arx, un conteneur universel et son format d’archive. Évalué à 9. Dernière modification le 08 novembre 2022 à 10:35.
Borg est apparu après que j'ai commencé Frost.
J'ai d'ailleurs une issue encore ouverte qui me demande de comparer avec Frost.
Donc pour résumer à ce que j'ai compris:
Voilà.