Какие типы файлов стоит сжимать (архивировать) для удаленного хранения? Для какого из них соотношение сжатый размер / исходный размер составляет << 1? - PullRequest
0 голосов
/ 25 мая 2010

Я храню документы на сервере sql в файлах varbinary (max), при необходимости я использую файловый поток, если у пользователя:

(DB_Size + Docs_Size) ~> 0.8 * ExpressEdition_Max_DB_Size

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

Многие файлы в сжатом виде почти такого же размера, как и оригинал (размер файла в формате PDF составляет около 95% от исходного размера). И в любом случае распаковка имеет некоторые накладные расходы, которые становятся вдвое больше, когда мне нужно также «проверить» / обновить файл, потому что мне нужно сжать его.

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

1) zip по умолчанию: txt, bmp, rtf

2) не архивировать по умолчанию: jpg, jpeg, файлы Microsoft Office, файлы Open Office, png, tif, tiff

Не могли бы вы предложить другие типы файлов, выбранные среди наиболее распространенных, или прокомментировать те, которые я перечислил здесь?

Ответы [ 2 ]

3 голосов
/ 25 мая 2010

.doc и .mdb файлы на самом деле имеют тенденцию достаточно хорошо сжиматься, если я правильно помню. Однако эквиваленты Office 2007 (.docx и .accdb) уже являются zip-файлами ... поэтому их сжатие практически бесполезно.

Не забывайте файлы HTML и XML. Zip по умолчанию.

2 голосов
/ 28 мая 2010

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

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

46,494,380  level0.wav
43,209,258  level1.wav.zip
43,333,266  level2.wav.zip.rar
43,339,894  level3.wav.zip.rar.gz
43,533,989  level4.wav.zip.rar.gz.bz2

Все эти файлы содержат одинаковые данные.

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

Наилучший метод сжатия обычно применяется первым.

28,259,406  level1.wav.flac            <~ using a compression method meant for the file.
...