Когда в индустрии появляется «очередной колоночный формат», обычно это значит одно из двух: либо кто-то пытается оптимизировать узкоспециализированный кейс, либо делает форк Parquet с косметическими улучшениями.
Но Vortex — совсем другой зверь. Это не форк, не обёртка и не эксперимент. Это переосмысление всего подхода к аналитическим файлам, сделанное людьми, которые хорошо знают Arrow, DataFusion, DuckDB, Spark, ClickHouse и современные требования к архитектуре данных.
Если коротко:
👉 Vortex быстрее Parquet в реальных задачах не на проценты, а на порядки: до 100× быстрее произвольный доступ (random access) и 10–20× быстрее сканирование.
И что важнее — это открытый проект под Linux Foundation, развивающийся не под одной корпорацией.
Разберёмся, почему эта новость действительно важна.
🌪️ Vortex — это не «ещё один формат», а файл как вычислительная структура
Главное архитектурное решение Vortex — жёсткое разделение:
🧩 логического уровня (типы и схема данных)
🧱 физического уровня (кодирование, раскладка, компрессия, выравнивание)
В Parquet эти слои на деле смешаны, что создаёт проблемы:
— невозможность работать с Arrow без копирования данных
— существенные накладные расходы при разборе файлов
— медленные операции произвольного доступа (seek)
— затруднённое добавление собственных схем кодирования
Vortex решает это иначе:
✨ логическая схема → совместима с Arrow
✨ физический слой → plug-in: можно подставлять свои кодеки, компрессию, слой (layout)
✨ статистика → лениво загружается, без полного чтения footer
По сути, файл превращается в движок данных, который работает быстрее многих in-memory систем.
⚡ Скорость: почему Vortex в 10–100 раз быстрее Parquet
Скоростной разрыв огромен:
🌀 до 100× быстрее чтения с произвольным доступом чтения (random-access)
🚀 10–20× быстрее сканирование
✍️ 5× быстрее запись
Важно — при той же степени сжатия, что ломает главный аргумент в пользу Parquet.
Как это достигается:
🧬 некопируемая совместимость с Arrow
→ не нужно преобразовывать внутри Spark/DataFusion/DuckDB
→ метаданные, не требующие парсинга (что особенно важно для широких таблиц)
🧩 каскадные кодеки и расширяемые схемы раскладки
→ для чисел — RLE, delta, dictionary, SIMD оптимизация
→ для строк — FSST и FastLanes
→ для float — G-ALP
🧠 архитектура под ленивое вычисление и фильтры
→ DataFusion и DuckDB способны продвигать фильтры (predicate pushdown) гораздо глубже, чем это возможно в Parquet.
📦 встроенные статистики + интеллектуальный доступ к чанкам (chunks)
→ меньше I/O, меньше пропусков, меньше десериализации
Это не “микрооптимизации”, а полноценный подход, который раскрывает реальную природу происходящего:
Vortex заменяет саму модель взаимодействия хранилища и вычислительных движков.
🛠️ Расширяемость: формат как платформа
Vortex создан по духу DataFusion: всё расширяемо.
Вот что можно подключать:
🔧 энкодеры (dictionary, delta, bitpack, FSST, кастомные)
📦 компрессию (включая multi-layer: например, RLE → LZ4 → FSST)
🗃️ layout (плотная упаковка, GPU-ориентированная, NUMA-aware)
🧬 логический тип (используется, когда требуются сложные или предметно-ориентированные типы данных)
Фактически Vortex — это «конструктор файла», а не жёсткая спецификация.
Но с версии 0.36.0 формат стабилен, и разработчики гарантируют обратную совместимость.
Это очень редкое сочетание:
⚙️ расширяемость
🔒 стабильность
🌍 независимый от поставщиков, под управлением Linux Foundation
🧵 Zero-copy Arrow: почему это главное преимущество
Если вы работали со Spark, Polars или DataFusion, вы знаете:
🟥 Parquet → Arrow = дорого
🟥 Arrow → Parquet = дорого
⬅️➡️ между ними копирование, преобразование, аллокаторы
Vortex решает это радикально:
👉 данные читаются напрямую в Arrow-массивы без копирования и парсинга.
Это означает:
✨ конвейер, в котором данные проходят без единого копирования — настоящий zero-copy
✨ меньше задержка (latency)
✨ меньше CPU
✨ меньше аллокаций
Именно так работают системы масштаба YouTube Procella или ClickHouse — только на собственных форматах. Vortex впервые приносит это в open-source и Arrow-экосистему.
🧊 Интеграции: формат уже “живет” внутри большого стека
Поддержка есть в:
💠 Apache Arrow
🚀 DataFusion
🦆 DuckDB
✨ Polars
🐼 Pandas
💥 Spark
🧊 Apache Iceberg (в roadmap)
Почему это важно?
Потому что большинство форматов «умирают» на этапе совместимости.
Vortex идёт наоборот: сначала экосистема, потом совершенствование ядра.
📦 Технические детали, которые впечатляют
Вот что лично меня зацепило:
⚙️ метаданные, не требующие парсинга
→ широкие таблицы (1000+ колонок) читаются мгновенно
📋 расширенные статистики
→ фильтры продвигаются глубже и точнее, чем в Parquet
📉 многоуровневая компрессия
→ можно комбинировать кодеки и раскладки
🖥️ GPU kernels
→ часть операций оптимизирована под GPU
🔍 Vortex Session
→ планировщик операций (аналог привычных dataframe-оптимизаторов)
🧪 MiMalloc по умолчанию
→ огромный прирост при высоком параллелизме
Это не просто файл — это полноценный движок CSV/Parquet-эпохи уровня 2030 года.
💭 Моё мнение: Vortex — это кандидат на замену Parquet в индустрии
Parquet стал стандартом не потому, что он идеален, а потому что был лучшим компромиссом своего времени.
Но его архитектура заложена под HDD-эпоху и сложные оптимизации чтения для задач, нагружающих CPU.
Vortex — это формат, соответствующий новой эпохе хранения данных в объектных хранилищах.:
☁️ оптимизирован под S3
📚 под многопоточность
🧠 под SIMD
🖥️ под GPU
⚙️ под Arrow
И самое важное:
✨ он не принадлежит ни одной компании
✨ он открыт
✨ он модульный
Всё это означает: у Vortex есть шанс стать «Parquet 2.0»
— но без всех legacy-ограничений.
Если индустрия начнёт переход, он будет необратим.
🔗 Источники
- Репозиторий Vortex:
https://github.com/vortex-data/vortex