¿Cómo la versión de Dropbox / carga archivos grandes? [cerrado]

28

Tengo una cuenta gratuita de Dropbox (2 GB) y me preguntaba cómo funciona el control de versiones de archivos grandes.

Tengo una copia de seguridad completa de todos mis archivos web que sitios @ poco más de 1 GB. Después de la carga inicial de 1 GB, cada vez que se sincronice, Dropbox descubrirá el delta del archivo, ¿o tendrá que cargar todo de nuevo para versionarlo?

Sería genial tener siempre una versión actualizada de un archivo grande, pero no quiero matar mi ancho de banda cargando 1GB cada vez.

es posible?

Gracias,

barfoon
fuente

Respuestas:

36

Dropbox utiliza un algoritmo de diferencia binario para dividir todos los archivos en bloques y solo cargar bloques que aún no tiene en la nube. Todo esto se hace localmente en su computadora.

Dropbox no solo usa tus archivos que ya has subido, sino que agrega los archivos de todos en una base de datos de bloques y comprueba cada hash de bloque local en esa base de datos.

Esto significa que si alguien más ha subido el mismo archivo que usted (digamos, por ejemplo, el último ISO de Ubuntu), la carga parecerá instantánea ya que no hay nada que cargar, pero si está actualizando un archivo que cambia regularmente, como su copia de seguridad del archivo, solo se cargan los cambios. Si carga un archivo totalmente único, debe esperar a que se cargue todo.

Mugir
fuente
44
¿Alguna referencia a esto? Es bastante interesante
STW
1
El equipo de Dropbox habla de eso de vez en cuando en los foros (especialmente Arash F, aunque están muy ocupados en estos días).
Moo
3
¿Significa esto que solo cargaría bloques modificados de un archivo cifrado (por ejemplo, un volumen TrueCrypt) también?
Will M
1
Will: sí, creo que algunas personas usan TrueCrypt dentro de sus carpetas de Dropbox con gran éxito.
Moo
1
La última parte de tu respuesta ya no es verdadera. Después de la debacle de 'Dropship', se hicieron cambios. Es probable que todavía se eliminen internamente, pero si coloca el "windows8.iso" (que, al menos, alguien ya lo ha hecho) en su carpeta ahora, tendrá que cargar cada byte.
DanO
10

Por lo que vale, Dropbox afirma crear hashes en cada 4MB de cada archivo. De esa manera, si cambia un archivo contiguo de 2 MB de un archivo de 100 MB, es probable que solo necesite cargar 4 MB (o 8 MB si cruza en un segundo bloque de 4 MB) para volver a sincronizar el archivo.

Los hashes que utilizamos son solo para los fragmentos de archivo de 4 MB

Fuente: https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/

mightytightywty
fuente
Sin embargo, no está claro si los 4 MB son antes o después de la compresión y otras operaciones
Walter Tross
2

También es importante resaltar que no carga todo el archivo a la vez cuando lo cambia. Por ejemplo, si tiene un archivo único que pesa 2 GB, digamos que para una unidad de disco cifrada que posee (como cuando usa truecrypt o pgpdisk), y cambia solo un par de archivos dentro del disco cifrado, dropbox solo cargará los bloques eso efectivamente cambió. Entonces, por ejemplo, si carga su archivo pgpdisk con 2GB en Dropbox, y luego cambia, digamos 100MB de estos 2GB, Dropbox será lo suficientemente inteligente como para detectar y actualizar solo lo que ha cambiado . Por lo tanto, no desperdicie su ancho de banda de carga cargando cosas que ya están allí.

Otra característica en la que vi que el equipo de Dropbox está trabajando es hacer que Dropbox detecte otras instancias de Dropbox ejecutándose en su red local y sincronice la información entre ellas. Por ejemplo, tiene una computadora portátil y una computadora de escritorio, y ambas tienen la misma cuenta de Dropbox, y actualiza sus archivos en su escritorio, y el escritorio se sincroniza instantáneamente con la "nube", cuando conecta su computadora portátil, en lugar de ir a En la nube, Dropbox descargará el diff directamente desde su computadora de escritorio y no desperdiciará el ancho de banda de descarga. Esto aún está por llegar, ¡pero será una buena característica!

Macaubas
fuente
1
Lanzaron una compilación experimental con capacidad de sincronización entre pares durante el fin de semana.
Moo
1
Ahora es una característica estable.
Wiliam