DwarFS (файловая система)

Продукт
Дата премьеры системы: ноябрь 2020 г
Отрасли: Информационные технологии

2020: Анонс DwarFS - файловой системы с рекордной степенью сжатия данных

В ноябре 2020 года на портале GitHub появились исходные коды проекта DwarFS, в рамках которого разработчик Маркус Холланд-Мориц (Marcus Holland-Moritz) развивает одноименную файловую систему с «очень высокой степенью сжатия данных».

Разработчик привел несколько примеров эффективного сжатия данных. Так, при архивации образа, в составе которого было почти 1140 установок языка Perl (туда вошли более 1,9 млн файлов и 330 тыс. директорий), система DwarFS смогла сжать его с первоначальных 47,65 Гбайт до 555,7 Мбайт, затратив на это 15 минут. Для сравнения, создание образа в файловой системе SquashFS потребовало 69 минут, а на выходе образ сжался до 4,7 Гб.

DwarFS может использоваться, например, для создания Live-образов и сокращения размера архивов с большим числом дубликатов и повторяющихся данных (например, хранилища образов виртуальных машин или коллекции разных версий программ).

На GitHub появился исходный код DwarFS - файловой системы с рекордной степенью сжатия данных

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

DwarFS использует механизм FUSE и работает в пространстве пользователя. Код написан на С++ и распространяется под лицензией GPLv3.Как DevOps-сервис помогает «разгрузить» высоконагруженные системы BPMSoft 2.1 т

Файловая система DwarFS может работать в режиме «только для чтения» (Read Only), что не позволяет изменять имеющиеся или добавлять новые файлы в созданные с ее помощью образы.

К отличительным особенностями своего продукта Маркус Холланд-Мориц отнес следующее:

  • Кластеризация файлов по сходству с использованием хеш-функции;
  • Анализ сегментации по блокам файловой системы с целью уменьшения размера несжатой файловой системы;
  • Высокая многопоточная реализация;
  • Опциональная экспериментальная поддержка Lua для предоставления настраиваемых функций фильтрации и упорядочивания.[1]

Примечания