bup-margin - calcule su margen de seguridad de deduplicación
bup margin [options...]
bup margin itera a través de todos los objetos en su repositorio bup, calculando la mayor cantidad de bits de prefijo compartidos entre dos entradas cualesquiera. Este número, n, identifica el subconjunto más largo de SHA-1 que podría usar y aun así encontraría una colisión entre sus ID de objeto.
Por ejemplo, un sistema que se probó tenía una colección de 11 millones de objetos (70 GB) y el margen bup arrojó 45. Eso significa que un hash de 46 bits sería suficiente para evitar todas las colisiones entre ese conjunto de objetos; cada objeto en ese repositorio podría identificarse de forma única por sus primeros 46 bits.
El número de bits necesarios parece aumentar en 1 o 2 por cada duplicación del número de objetos. Dado que los hashes SHA-1 tienen 160 bits, eso deja 115 bits de margen. Por supuesto, debido a que los hashes SHA-1 son esencialmente aleatorios, en teoría es posible usar muchos más bits con muchos menos objetos.
Si está paranoico acerca de la posibilidad de colisiones SHA-1, puede monitorear su repositorio ejecutando bup margin de vez en cuando para ver si se está acercando peligrosamente a los 160 bits.
Adivine el desplazamiento en cada archivo de índice donde aparecerá un objeto en particular e informe la desviación máxima de la respuesta correcta de la suposición. Esto es potencialmente útil para ajustar un algoritmo de búsqueda de interpolación.
no use archivos .midx, use solo archivos .idx. Esto solo es realmente útil cuando se usa con --predict.
$ 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)
Parte de la suite bup(1).
Avery Pennarun apenwarr@gmail.com.