bup-margin - Ermitteln Sie Ihren Deduplizierungs-Sicherheitsspielraum
bup margin [options...]
bup margin durchläuft alle Objekte in Ihrem bup-Repository und berechnet die größte Anzahl von Präfixbits, die von zwei beliebigen Einträgen gemeinsam genutzt werden. Diese Zahl, n, identifiziert die längste Teilmenge von SHA-1, die Sie verwenden könnten, ohne dass es zu einer Kollision zwischen Ihren Objekt-IDs kommt.
Beispielsweise verfügte ein getestetes System über eine Sammlung von 11 Millionen Objekten (70 GB) und die Bup-Marge ergab 45. Das bedeutet, dass ein 46-Bit-Hash ausreichen würde, um alle Kollisionen zwischen dieser Objektgruppe zu vermeiden; Jedes Objekt in diesem Repository konnte anhand seiner ersten 46 Bits eindeutig identifiziert werden.
Die Anzahl der benötigten Bits scheint sich mit jeder Verdoppelung der Objektanzahl um etwa 1 oder 2 zu erhöhen. Da SHA-1-Hashes 160 Bit haben, verbleibt ein Spielraum von 115 Bit. Da SHA-1-Hashes im Wesentlichen zufällig sind, ist es theoretisch möglich, viel mehr Bits mit weitaus weniger Objekten zu verwenden.
Wenn Sie wegen der Möglichkeit von SHA-1-Kollisionen paranoid sind, können Sie Ihr Repository überwachen, indem Sie gelegentlich bup margin ausführen, um zu sehen, ob Sie 160 Bit gefährlich nahe kommen.
Erraten Sie den Versatz in jeder Indexdatei, an dem ein bestimmtes Objekt angezeigt wird, und geben Sie die maximale Abweichung der richtigen Antwort von der Schätzung an. Dies ist möglicherweise nützlich für die Optimierung eines Interpolationssuchalgorithmus.
Verwenden Sie keine .midx-Dateien, sondern nur .idx-Dateien. Dies ist nur dann wirklich nützlich, wenn es mit --predict verwendet wird.
$ bup margin
Reading indexes: 100.00% (1612581/1612581), done.
40
40 matching prefix bits
1.94 bits per doubling
120 bits (61.86 doublings) remaining
4.19338e+18 times larger is possible
Everyone on earth could have 625878182 data sets
like yours, all in one repository, and we would
expect 1 object collision.
$ bup margin --predict
PackIdxList: using 1 index.
Reading indexes: 100.00% (1612581/1612581), done.
915 of 1612581 (0.057%) bup-midx(1), bup-save(1)
Teil der bup(1)-Suite.
Avery Pennarun