Ivan Begtin
8.1K subscribers
2K photos
3 videos
102 files
4.71K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
加入频道
На хабре публикация [1] про Quite OK Image [2] проект по быстрому сжатию изображений который сравнивают с форматом PNG, на самом деле, давно устаревший для Web'а и заменённый .webp и сравнения очень условные. Автор и сам признается что ничего не понимает в криптографии и просто решил сделать эксперимент, но внезапно "обрел славу" изобретателя нового формата. При том что сложного алгоритма там нет, а лишь доработанный формат RLE (Run length encoding), с некоторыми неплохими идеями, правда.

Но, я скажу так, практического применения немного. Изображения и видео съедают много трафика, а конечные устройства пользователей всё больше включают процессы и видеопроцессоры для достаточно быстрого раскодирования. Гонка идёт на балансе уровня сжатия и скорости разсжатия, а вот скорость сжатия изображений далеко не так критична.

Где это действительно применимо - это малые изображения, до 64 килобайт и особенно в играх где не популярен формат webp. Разработчики игр, правда, давно уже используют разнообразные собственные форматы хранения спрайтов и отдельных графических элементов.

В общем и целом ажиотаж не обоснован. А из интересных, необычных, алгоритмов и инструментов сжатия я могу посоветовать посмотреть Precomp [2] утилита от Кристиана Шнаадера по пере-сжатию архивов, иногда может уменьших существующий архив в несколько раз через пересжимание содержимого архива более эффективными алгоритмами. А также посмотреть на промежуточных победителей Global Data Compression Competitions 2021 (GDCC) [4] там много очень интересных проектов/решений/алгоритмов, как правило довольно сложных. И почти во всех случаях экспериментальных, практически не используемых в промышленных системах.

Между прочим, для хранения данных проблемы компрессии также крайне актуальны и, если для оперативных данных используются, в основном, lz4, gzip, xzip, bzip2, то для долгосрочной архивации структурированных данных могут быть и другие алгоритмы, дающие лучшее сжатие с приемлимой скоростью.

Ссылки:
[1] https://habr.com/ru/news/t/591577/
[2] https://phoboslab.org/log/2021/11/qoi-fast-lossless-image-compression
[3] http://schnaader.info/precomp.php
[4] https://www.gdcc.tech/

#compression #algorithms
November 29, 2021
Одна из интересных ниш для стартапов сейчас - это использование ИИ для сокращения объёмов хранения данных и повышения эффективности хранилищ. Стартап Densify [1] позволяет провести такую оптимизацию с обещанием сокращения расходов на хранение в облаках до 80%. Другой стартап Cast AI [2] помогает оптимизировать облачную инфраструктуру на AWS, Azure или GCP.

Другой взгляд на эту же проблему и тоже через ИИ - это стартапы по созданию алгоритмов сжатия изображений, также, с ИИ. Vance AI [3] и Compression AI [4] декларируют сжатие изображение лучше всех остальных алгоритмов. Сжатие, конечно, всегда с потерями (lossy compression), но визуально это незаметно.

Есть похожие проекты для видео, также повышающие качество сжатия.

В ситуации когда, например, в России ожидается дефицит систем хранения и растёт цена за облачное хранение файлов такие алгоритмы и подходы будут как никогда кстати.

Ссылки:
[1] https://venturebeat.com/2018/03/06/densify-uses-ai-to-cut-businesses-cloud-spending-by-up-to-80/
[2] https://venturebeat.com/2021/10/12/cloud-optimization-startup-cast-ai-raises-10m/
[3] https://vanceai.com/image-compressor/
[4] https://compression.ai/

#ai #data #startups #compression
April 26, 2022
Для тех кто любит сжатие данных также как это люблю я, подборка полезных ссылок:
- про сжатие CSV файла в 22 ГБ в 1.5 ГБ файла Parquet [1] включает преобразование структур данных, сжатие zstd внутри файла parquet и тд. Для сравнения оригинальный сжатый файл был около 12GB. Для работы на ноутбуках и десктопах может быть значимо.
- Bzip3 [2] автор позиционирует как замену Bzip2. Сжимает существенно лучше чем Bzip2, немного лучше чем Xz и 7Zip (LZMA2), при этом не существенно теряет в скорости. В общем надо измерять.
- PLZip [3] и LZTurbo [4] два особо быстрых декомпрессора для lzip и lz77 соответственно, важно когда скорость сжатия некритична, а скорость распаковки важна

Ссылки:
[1] https://medium.com/@deephavendatalabs/the-r-place-dataset-bf4b0d70ce72
[2] https://github.com/kspalaiologos/bzip3
[3] https://www.nongnu.org/lzip/plzip.html
[4] https://sites.google.com/site/powturbo/home

#compression #tools #opensource
May 11, 2022
April 26, 2023
Чем с больше данных тем больше потребности в их эффективном сжатии. Из любопытных продуктов на эту тему:
- llama-zip - LLM-powered lossless compression tool, как уже понятно использует языковую модель LLAMA для сжатия текстов на английском языке. Работает только с текстами, сжимает как-то совсем неимоверно судя по примерам. Хочется дождаться его внешнего тестирования и сравнений с другими.
- ts_zip архиватор от Fabrice Bellard работающий с помощью встроенной языковой модели RWKV 169M v4 . Автор известен тем что создал NNCP, компрессор и прекомпрессор на основе нейросетей и побеждающий несколько лет в конкурсе Large Text Compression Benchmark

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

1. Если у данных есть предопределённые схемы то самый эффективный способ их отдавать - это Parquet.
2. Если хранение данных вообще ничем не ограничено, то сохранять в JSONL
3. Если данные нужны для аналитики и их хочется сохранять сжатыми, то форматы gz, br, xz, zst, lz4 и bz2 если их обрабатывать в Clickhouse и в формате gz если в DuckDB. Фактически надо использовать сжатие GZip'ом при всех его недостатках.
4. Для холодного хранения можно сжимать чем угодно дающим хорошее сжатие, например xz, bz2 или 7z


#thoughts #compression #data #datatools
June 8, 2024