В статье  Exploring the Evolving File Format Landscape in AI Era: Parquet, Lance, Nimble and Vortex And What It Means for Apache Iceberg рассказывают про файловые форматы.
Мы привыкли к классическим форматам - Parquet, Avro, ORC, которые долгое время были стандартом для аналитики (batch-запросов, DWH, Data Lake, Lake House).
Они оптимизированы под:
- последовательное чтение больших объёмов данных
- компрессию и экономию места
- традиционную оффлайн-аналитику
Но они плохо подходят под:
- AI/ML, где нужно быстро извлекать отдельные строки или фичи
- векторные данные (embeddings)
- real-time-обновления и работу на GPU
А вот и сами новые форматы:
💻 Lance: быстрый доступ к данным для векторных и мультимодальных задач — embeddings, LLM-RAG, vector search. 
Особенности:
- Нет row-groups, доступ к строкам O(1);
- Adaptive encoding для разных типов данных;
- Встроенные векторные индексы (HNSW, IVF_PQ);
- Поддержка версионирования (git-like snapshots).
Преимущество: до 2000× быстрее Parquet при случайных чтениях.
Минус: пока не поддерживается BI-инструментами.
https://lancedb.github.io/lance/
💻 Nimble: ускорение декодирования данных при обучении ML-моделей.
Проблема Parquet: сложные кодировки (dictionary/run-length) и компрессия замедляют загрузку данных в GPU-потоки.
Решение Nimble:
- Простая и предсказуемая структура памяти;
- Минимум переменной длины кодировок;
- Оптимизация под батчи и потоки данных для PyTorch/TensorFlow.
Эффект: ускорение чтения/декодирования в 2–3 раза по сравнению с Parquet.
Минус: увеличивается размер файлов, зато быстрее обучение.
https://github.com/facebookincubator/nimble
💻 Vortex: real-time-доступ и обновления без тяжёлых абстракций.
Проблема: Parquet и ORC не поддерживают частые апдейты/удаления — данные нужно “патчить” через Iceberg/Delta.
Решение:
- Индекс-ориентированные файлы с лёгкой метаданной структурой;
- Быстрый доступ к отдельным строкам или диапазонам;
- Гибкие схемы и низкая задержка при изменениях.
Применение:
- real-time аналитика;
- Event-driven системы;
- Динамичные агентные ИИ-приложения.
https://vortex.dev
Форматы пока не очень популярны, но они показывают высокую эффективность. Осталось подождать и посмотреть, кто возьмет лидерство и как пройдет адоптация в индустрии. А то Parquet уже совсем борода.
Некоторые статьи по теме
Nimble and Lance: The Parquet Killers
Hacker News Thread - Nimble: A new columnar file format by Meta
Reddit Thread - Vortex: A new file format that extends parquet and is apparently 10x faster
Lance: The Columnar Data Format Transforming Machine Learning Workflows
Мы привыкли к классическим форматам - Parquet, Avro, ORC, которые долгое время были стандартом для аналитики (batch-запросов, DWH, Data Lake, Lake House).
Они оптимизированы под:
- последовательное чтение больших объёмов данных
- компрессию и экономию места
- традиционную оффлайн-аналитику
Но они плохо подходят под:
- AI/ML, где нужно быстро извлекать отдельные строки или фичи
- векторные данные (embeddings)
- real-time-обновления и работу на GPU
А вот и сами новые форматы:
Особенности:
- Нет row-groups, доступ к строкам O(1);
- Adaptive encoding для разных типов данных;
- Встроенные векторные индексы (HNSW, IVF_PQ);
- Поддержка версионирования (git-like snapshots).
Преимущество: до 2000× быстрее Parquet при случайных чтениях.
Минус: пока не поддерживается BI-инструментами.
https://lancedb.github.io/lance/
Проблема Parquet: сложные кодировки (dictionary/run-length) и компрессия замедляют загрузку данных в GPU-потоки.
Решение Nimble:
- Простая и предсказуемая структура памяти;
- Минимум переменной длины кодировок;
- Оптимизация под батчи и потоки данных для PyTorch/TensorFlow.
Эффект: ускорение чтения/декодирования в 2–3 раза по сравнению с Parquet.
Минус: увеличивается размер файлов, зато быстрее обучение.
https://github.com/facebookincubator/nimble
Проблема: Parquet и ORC не поддерживают частые апдейты/удаления — данные нужно “патчить” через Iceberg/Delta.
Решение:
- Индекс-ориентированные файлы с лёгкой метаданной структурой;
- Быстрый доступ к отдельным строкам или диапазонам;
- Гибкие схемы и низкая задержка при изменениях.
Применение:
- real-time аналитика;
- Event-driven системы;
- Динамичные агентные ИИ-приложения.
https://vortex.dev
Форматы пока не очень популярны, но они показывают высокую эффективность. Осталось подождать и посмотреть, кто возьмет лидерство и как пройдет адоптация в индустрии. А то Parquet уже совсем борода.
Некоторые статьи по теме
Nimble and Lance: The Parquet Killers
Hacker News Thread - Nimble: A new columnar file format by Meta
Reddit Thread - Vortex: A new file format that extends parquet and is apparently 10x faster
Lance: The Columnar Data Format Transforming Machine Learning Workflows
Please open Telegram to view this post
    VIEW IN TELEGRAM
  GitHub
  
  GitHub - facebookincubator/nimble: New file format for storage of large columnar datasets.
  New file format for storage of large columnar datasets. - facebookincubator/nimble
  Forwarded from SmartData — конференция по инженерии данных
Please open Telegram to view this post
    VIEW IN TELEGRAM
  YouTube
  
  SmartData 2024
  Share your videos with friends, family, and the world
🔥1
  Как выглядит кошмар аналитика  
В честь Хеллоуина решили обсудить с вами кое-что действительно жуткое — страшнее приведений или клоунов.
Плохой SQL. 👻
Потому что приведений не существует, а вот кривой код очень даже реален и иметь с ним дело приходится регулярно. Для затравки нашли для вас целую подборку примеров, среди которых:
🔵 нагромождение 
🔵 несколько уровней подзапросов, разобраться в которых не может даже сам автор,
🔵 вьюхи поверх вьюх поверх других вьюх — сначала это может быть удобно и красиво, но со временем система рискует стать слишком непонятной, еще и создает нагрузку на базу, 
🔵 попытки «подчистить» результат запроса с помощью 
Встречались с чем-то подобным? Или даже видели что-нибудь похуже? Делитесь в комментариях!👀 
В честь Хеллоуина решили обсудить с вами кое-что действительно жуткое — страшнее приведений или клоунов.
Плохой SQL. 👻
Потому что приведений не существует, а вот кривой код очень даже реален и иметь с ним дело приходится регулярно. Для затравки нашли для вас целую подборку примеров, среди которых:
CASE WHEN, создающее хаос, в котором может разобраться только автор кода (но это не точно),DISTINCT для того, которые прячут проблему вместо того, чтобы ее решать.Встречались с чем-то подобным? Или даже видели что-нибудь похуже? Делитесь в комментариях!
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Substack
  
  SQL Anti-Patterns You Should Avoid
  Introduction
  Forwarded from DE
  
  DE_Cheatsheet.pdf
    106.1 KB
  В качестве регулярных напоминаний, всяческий полезный [и бесполезный] код утилит для командной строки которые я когда-то делал и иногда продолжаю развивать когда это необходимо для работы, 
например, для Dateno. Лично я испытываю глубокую привязанность к работе в командной строке отсюда и все эти инструменты:
- undatum - многофункциональная утилита для обработки данных изначально в формате JSON lines, делалась как xsv для JSON/JSON lines, я её лично активно и везде применяю.
- docx2csv - утилита по извлечению таблиц из файлов MS Word (.docx), настолько простая что надо её с чем-то объединить
- mongo2md - инструмент автоматизации документирования коллекций в MongoDB было полезно когда MongoDB была в основе технологического стека разных проектов, сейчас скорее буду переводить в статус легаси, но полезно как пример автодокументирования.
- metawarc утилита по извлечению метаданных из файлов WARC, умеет собирать данные из pdf, doc, docx, pdf, png, jpg, xls, xlsx и других файлов документов и изображений. Полезна для разного рода OSINT задач и для автоматизированного анализа WARC файлов
- apibackuper утилита для сбора данных из API через декларативно заданные правила. Использую её повсеместно и всё время хочу переписать чтобы вместо cfg файлов использовать yaml/toml, заменить zip контейнеры на базу duckdb и в целом сделать удобнее. Но и так работает
- wparc архиватор API и данных из Wordpress и файлов заодно. Одна из утилит для архивации сайтов для RuArxive
- lazyscraper скрейпер сайтов для лентяев, когда хочется извлечь данные минимальными усилиями и без программирования. Я её чуть-чуть не доделал чтобы даже xpath не использовать, но в остальном вполне рабочий инструмент
- metacrafter мой любимый инструмент идентификации структуры таблиц в файлах и таблицах с данными. Надо объединить с undatum её конечно же
- apicrafter утилита по быстрому созданию API поверх коллекций в MongoDB. Когда-то использовалась в проектах где основной стек был на MongoDB, сейчас всё по другому я бы делал
  
  например, для Dateno. Лично я испытываю глубокую привязанность к работе в командной строке отсюда и все эти инструменты:
- undatum - многофункциональная утилита для обработки данных изначально в формате JSON lines, делалась как xsv для JSON/JSON lines, я её лично активно и везде применяю.
- docx2csv - утилита по извлечению таблиц из файлов MS Word (.docx), настолько простая что надо её с чем-то объединить
- mongo2md - инструмент автоматизации документирования коллекций в MongoDB было полезно когда MongoDB была в основе технологического стека разных проектов, сейчас скорее буду переводить в статус легаси, но полезно как пример автодокументирования.
- metawarc утилита по извлечению метаданных из файлов WARC, умеет собирать данные из pdf, doc, docx, pdf, png, jpg, xls, xlsx и других файлов документов и изображений. Полезна для разного рода OSINT задач и для автоматизированного анализа WARC файлов
- apibackuper утилита для сбора данных из API через декларативно заданные правила. Использую её повсеместно и всё время хочу переписать чтобы вместо cfg файлов использовать yaml/toml, заменить zip контейнеры на базу duckdb и в целом сделать удобнее. Но и так работает
- wparc архиватор API и данных из Wordpress и файлов заодно. Одна из утилит для архивации сайтов для RuArxive
- lazyscraper скрейпер сайтов для лентяев, когда хочется извлечь данные минимальными усилиями и без программирования. Я её чуть-чуть не доделал чтобы даже xpath не использовать, но в остальном вполне рабочий инструмент
- metacrafter мой любимый инструмент идентификации структуры таблиц в файлах и таблицах с данными. Надо объединить с undatum её конечно же
- apicrafter утилита по быстрому созданию API поверх коллекций в MongoDB. Когда-то использовалась в проектах где основной стек был на MongoDB, сейчас всё по другому я бы делал
GitHub
  
  GitHub - datacoon/undatum: undatum: a command-line tool for data processing. Brings CSV simplicity to NDJSON, BSON, XML and other…
  undatum: a command-line tool for data processing. Brings CSV simplicity to NDJSON, BSON, XML and other dat files - datacoon/undatum