Оглавление
Быстрый (сжатие)
-
Обзор библиотеки Snappy
- Snappy – библиотека сжатия данных, разработанная Google на основе LZ77.
- Цель – высокая скорость сжатия без потери совместимости с другими библиотеками.
- Сжатие данных на 20-100% меньше, чем у gzip.
-
Использование и применение
- Широко используется в проектах Google, включая Bigtable и MapReduce.
- Применяется в проектах с открытым исходным кодом, включая базы данных и веб-приложения.
- Firefox использует Snappy для сжатия данных в localStorage.
-
Формат потока
- Кодирование ориентировано на байты, а не на биты.
- Не использует энтропийное кодирование, как в gzip.
- Первые байты потока содержат длину несжатых данных.
- Кодирование элементов потока с использованием различных типов и смещений.
-
Пример сжатого потока
- Текст Википедии сжат до 81 байта.
- Сжатие удаляет распространенные подстроки и может быть улучшено другими компрессорами.
-
Формат кадрирования
- Поддерживает данные до 4 ГБ, но может создавать накладные расходы для несамоидентифицирующихся данных.
- Разделяет данные на блоки размером до 64 Кбайт с заголовками.
-
Интерфейсы
- Привязки к C++ и Си, а также к другим языкам программирования.
- Доступна программа с интерфейсом командной строки.
-
Дополнительные ресурсы
- Ссылки на портал бесплатного программного обеспечения с открытым исходным кодом и стандарт Z.
Полный текст статьи: