Назад | Перейти на главную страницу

Как Dropbox версия / загрузка больших файлов?

У меня есть бесплатная учетная запись Dropbox (2 ГБ), и мне было интересно, как работает управление версиями больших файлов.

У меня есть полная резервная копия всех моих веб-файлов с размером чуть более 1 ГБ. После начальной загрузки 1 ГБ каждый раз, когда выполняется синхронизация, Dropbox будет вычислять дельту файла, или ему придется загружать все заново, чтобы версия была версией?

Было бы здорово иметь всегда актуальную версию большого файла, но я не хочу убивать свою полосу пропускания, загружая каждый раз 1 ГБ.

Это возможно?

Спасибо,

Dropbox использует двоичный алгоритм сравнения, чтобы разбить все файлы на блоки и загружать только те блоки, которых у него еще нет в облаке. Все это делается локально на вашем компьютере.

Dropbox не просто использует ваши файлы, которые вы уже загрузили, он объединяет все файлы в одну базу данных блоков и проверяет хэш каждого локального блока по этой базе данных.

Это означает, что если кто-то еще загрузил тот же файл, что и вы (например, последний ISO-образ Ubuntu), то загрузка будет казаться мгновенной, поскольку загружать нечего, но если вы обновляете файл, который регулярно изменяется, например, ваш файл резервной копии, то загружаются только изменения. Если вы загружаете совершенно уникальный файл, вам придется подождать, пока он все загрузится.

Как бы то ни было, Dropbox утверждает, что создает хэши для каждых 4 МБ каждого файла. Таким образом, если вы измените непрерывные 2 МБ файла размером 100 МБ, для повторной синхронизации файла, скорее всего, потребуется загрузить только 4 МБ (или 8 МБ, если вы перейдете ко второму блоку 4 МБ).

Хеши, которые мы используем, предназначены только для фрагментов файлов размером 4 МБ.

Источник: https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/

Также важно подчеркнуть, что он не загружает весь файл сразу, когда вы его изменяете. Например, если у вас есть уникальный файл весом 2 ГБ, скажем, для зашифрованного диска, который вы держите (например, когда вы используете truecrypt или pgpdisk), и вы изменяете только пару файлов внутри зашифрованного диска, dropbox будет загружать только блоки это фактически изменилось. Так, например, если вы загрузите файл pgpdisk с 2 ГБ в Dropbox, а затем измените, скажем, 100 МБ из этих 2 ГБ, dropbox будет достаточно интеллектуальным, чтобы обнаруживать и обновлять только то, что изменилось. Таким образом, вы не тратите впустую свою пропускную способность загрузки, загружая уже имеющийся материал.

Еще одна функция, над которой, как я видел, работает команда Dropbox, - это заставить Dropbox обнаруживать другие экземпляры Dropbox, работающие в вашей локальной сети, и синхронизировать информацию между ними. Например, у вас есть ноутбук и настольный компьютер, и у обоих одна и та же учетная запись Dropbox, и вы обновляете файлы на своем рабочем столе - и рабочий стол мгновенно синхронизируется с «облаком» - когда вы подключаете ноутбук, вместо того, чтобы переходить к В облаке dropbox вместо этого загрузит разницу прямо с вашего настольного компьютера и не будет тратить лишнюю пропускную способность для загрузки. Это все еще впереди, но это будет приятная особенность!