Zstandard (сжатие Zstd)
Zstandard (Zstd) — алгоритм сжатия, разработанный Facebook, обеспечивающий превосходное соотношение скорости и степени сжатия. Zstd работает быстрее gzip при лучшем сжатии, что делает его идеальным для приложений реального времени, баз данных и передачи данных по сети.
MIME-тип
application/zstd
Тип
Бинарный
Сжатие
Без потерь
Преимущества
- + 2-5x faster than gzip at comparable compression ratios
- + Wide compression level range (1-22) from real-time to archival
- + Dictionary mode excels at compressing small, similar payloads
- + Supported in HTTP content encoding and modern Linux distributions
Недостатки
- − Newer format with less universal tool support than gzip
- − Not natively supported by older operating systems
- − Maximum compression levels are slower than xz for marginal gains
Когда использовать .ZST
Используйте Zstd для обработки данных в реальном времени, сжатия в базах данных, HTTP Content-Encoding, резервного копирования и везде, где gzip слишком медленный.
Технические детали
Zstd использует конечные автоматы (Finite State Entropy — tANS) с кодированием LZ77. Уровни сжатия от 1 (скорость) до 22 (максимальная степень) с настраиваемой стратегией. Сжатие со словарём (--train) обучается на примерах данных для лучшего сжатия малых записей. Формат фрейма включает магическое число 0xFD2FB528.
История
Ян Колле (создатель LZ4) разработал Zstandard в Facebook; версия 1.0 вышла в 2016 году. Zstd быстро стал использоваться в ядре Linux, менеджерах пакетов (Arch, Fedora), базах данных (RocksDB, ClickHouse) и HTTP-сжатии.