WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Zstandard
Тип алгоритм сжатия[d]
Последняя версия
Лицензия модифицированная лицензия BSD[d][2][3] и GNU GPL 2[2][4]
Сайт facebook.github.io/zstd/

Zstandard — алгоритм сжатия данных без потерь, разрабатываемый с 2015 года Яном Колле (фр. Yann Collet) при поддержке Facebook'а; zstd — эталонная реализация алгоритма Zstandard на языке программирования Си под свободной лицензией BSD. Версия 1.0 алгоритма и реализации были представлены в конце августа 2016 года[5][6].

Сочетает словарный алгоритм сжатия данных типа LZ77 и эффективное энтропийное кодирование типа tANS (FSE — Finite State Entropy), алгоритм, сходный с кодом Хаффмана, реализующий нецелое количество бит для хранения символов[7][8].

Особенности

Целью разработки является достижение коэффициентов сжатия, сопоставимых или превосходящих классический алгоритм deflate (разработан в середине 1990-х, реализован в Zip, gzip и других) при более высокой скорости как сжатия, так и распаковки. Сходные цели решают алгоритмы Brotli (Google) и LZFSE[fr] (Apple, также использует ANS FSE)[9].

По данным LTCB, zstd 0.6 при максимальной степени сжатия показывает уровень сжатия, близкий к архиваторам boz, yxz, tornado; более высокий, чем у lza, brotli, bzip2, обеспечивая при этом очень быструю распаковку (2,2 нс/байт на Core i7-3930K при 4,5 ГГц)[10]

Алгоритм реализует 22 уровня сжатия, различающихся скоростью и эффективностью (уровень «-1» — самый быстрый, уровень «-22» — более эффективный). Опционально алгоритм может проанализировать заданный набор данных для составления специализированных внешних словарей. Задаваемый пользователем словарь улучшает степень сжатия сходных файлов, но требуется при распаковке. Словари применяют для сжатия небольших файлов, имеющих общие наборы строк, например, xml-файлы[11][12].

Эталонная реализация алгоритма на Си распространяется под свободной лицензией BSD[13]. Код опубликован на сайте Github. Начиная с версии 1.3.1,[14] из условий было убрано упоминание ограниченной патентной лицензии, а код был перелицензирован под условиями двойной BSD + GPLv2 лицензии.[15]

Применение

Метод Zstandard включен в состав ядра Linux с версии 4.14 от ноября 2017 для использования в файловых системах, в частности в btrfs и squashfs.[16][17][18] Также метод тестировался в ОС FreeBSD для интеграции в файловую систему OpenZFS.[19]

Алгоритм используется в ряде датацентров и системах обработки «больших данных», в частности в AWS Red Shift[20]. Поддерживается в базах данных, например RocksDB.

Алгоритм сжатия поддерживается в архиваторе FreeArc.

Описание метода Zstandard и MIME тип «application/zstd» были поданы в IETF в качестве Интернет-черновика.[21]

Корпорация Canonical в дистрибутиве Ubuntu планирует перевести пакетный формат deb на сжатие при помощи zstd, начиная с версии 18.10 (октябрь 2018) ради ускорения процесса установки примерно на 10 процентов. Сжатие пакетов при помощи Zstd на уровне 19 приводит к немного большему размеру пакета, чем при ранее использовавшемся алгоритме xz (LZMA), но zstd позволяет быстрее распаковывать[22][23].

Примечания

  1. Release 1.3.8 — 2018.
  2. 1 2 License // https://github.com/facebook/zstd/blob/v1.3.3/README.md
  3. https://github.com/facebook/zstd/blob/v1.3.3/LICENSE
  4. https://github.com/facebook/zstd/blob/v1.3.3/COPYING
  5. Sergio De Simone, Facebook Open-Sources New Compression Algorithm Outperforming Zlib / InfoQ, Sep 02, 2016
  6. Life imitates satire: Facebook touts zlib killer just like Silicon Valley's Pied Piper, The Register (31 августа 2016). Проверено 6 сентября 2016.
  7. http://chaos.if.uj.edu.pl/ZOA/files/semianria/chaos/28.04.2014.pdf
  8. http://arxiv.org/pdf/1311.2540.pdf
  9. Компания Apple открыла реализацию алгоритма сжатия без потерь LZFSE // Opennet.ru, 07.07.2016
  10. Matt Mahoney. Large Text Compression Benchmark, .2157 zstd (Aug. 29, 2016). Проверено 1 сентября 2016.
  11. https://indico.fnal.gov/event/15154/contribution/5/material/slides/0.pdf «Facebook developers report massive speedups and compression ratio improvements when using dictionaries»
  12. Smaller and faster data compression with Zstandard — Facebook Code
  13. Facebook open sources Zstandard data compression algorithm, aims to replace technology behind Zip (англ.), ZDnet (August 31, 2016). Проверено 1 сентября 2016.
  14. «Zstd v1.3.1 release», GitHub
  15. «New license», GitHub
  16. The rest of the 4.14 merge window [LWN.net]
  17. Linux_4.14 — Linux Kernel Newbies
  18. Zstd Compression For Btrfs & Squashfs Set For Linux 4.14, Already Used Within Facebook — Phoronix
  19. http://www.open-zfs.org/w/images/b/b3/03-OpenZFS_2017_-_ZStandard_in_ZFS.pdf
  20. Zstandard Encoding — Amazon Redshift
  21. Zstandard Compression and The application/zstd Media Type. IETF. Проверено 13 июля 2018.
  22. New Ubuntu Installs Could Be Speed Up by 10% with the Zstd Compression Algorithm. Softpedia (Mar 12, 2018). Проверено 13 августа 2018.
  23. Canonical Working On Zstd-Compressed Debian Packages For Ubuntu - Phoronix (англ.). phoronix (12 March 2018). Проверено 13 августа 2018.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии