VK Cloud

Что нового в CedrusData 476-3: нативный движок Oxide, индексы в Parquet и дерево объектов в каталоге

30 июня 2026 г.
268267_007n7ek.jpg
Евгений Левашов
Автор статьи
_blog_head_158.png

Вышел релиз CedrusData 476-3, главное изменение в котором — нативный движок исполнения Oxide в CedrusData Engine. Но есть и ряд других важных изменений: переработанное планирование join, набор оптимизаций отдельных операторов, режим выполнения на одном узле для потока мелких запросов, запись индексов в Parquet и новый коннектор OpenAPI. В CedrusData Catalog появились Spark как движок обслуживания, настройка LDAP и OAuth прямо в интерфейсе и навигация по объектам каталога в виде дерева.

Ниже разберём, что именно поменялось и зачем это нужно.

CedrusData Engine

Нативный движок исполнения Oxide. Это самое заметное изменение релиза. Oxide — переписанное на Rust ядро исполнения операторов worker-узла поверх библиотеки Apache DataFusion. Раньше эти операции проходили через Java-часть движка; теперь сканирование таблиц Apache Iceberg и файлов Apache Parquet, проекции, фильтрация, агрегации, локальные перемешивания (local shuffles) и data skipping по статистике Parquet выполняет нативный код. По измерениям команды, перенос CPU-bound вычислений в Rust даёт примерно двукратный прирост. Кэш для работы с S3 рутинно ускоряет обращения к объектному хранилищу в 5–10 раз.

Oxide включается постепенно и работает вместе с прежним движком: join и обмены данными (Exchange) пока остаются на стороне Java. Поэтому эффект стоит проверять на собственной нагрузке — выигрыш зависит от того, какую долю времени запросы тратят на сканирование и CPU-обработку, а какую на join и сеть.

Перестановка join. Улучшен алгоритм планирования outer join и механизм упрощения outer join до inner join. Планировщик точнее выбирает порядок соединений и чаще сводит внешнее соединение к внутреннему там, где это допустимо по семантике запроса. На сложных аналитических запросах с несколькими таблицами это снижает объём промежуточных данных и время выполнения.

Оптимизация отдельных операторов и правил. Набор точечных доработок производительности:

  • удаление избыточных ключей группировки;
  • ускорение SET-операторов (UNION, INTERSECT, EXCEPT);
  • выведение дополнительных предикатов для более раннего отсечения данных;
  • ускорение обработки LIKE;
  • дедупликация повторяющихся выражений, чтобы не считать одно и то же дважды.

Каждая доработка по отдельности невелика, но вместе они снимают накладные расходы на типовых SQL-конструкциях.

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

Запись индексов в Parquet. Добавлена возможность записывать индексы в файлы Parquet для таблиц Hive, Iceberg и Delta Lake. Индексы внутри файлов помогают движку отсекать ненужные данные при чтении и точнее работать с data skipping, что сокращает объём сканирования на фильтрующих запросах.

Пушдаун в коннекторе Greenplum. Улучшен пушдаун для коннектора Greenplum: больше операций отдаётся на сторону источника, поэтому через сеть передаётся меньше данных, а часть вычислений выполняет сам Greenplum.

Удобство и интеграции:

  • Ссылка на выбранную таблицу. В Web UI теперь можно поделиться ссылкой на конкретную выбранную таблицу.
  • Kerberos в Web UI. Аутентификацию по Kerberos интегрировали в веб-интерфейс.
  • Коннектор OpenAPI. Добавлен новый коннектор OpenAPI — источники с OpenAPI-описанием можно подключать как таблицы и обращаться к ним через SQL.

CedrusData Catalog

CedrusData Catalog — собственный REST-каталог для Apache Iceberg и система управления метаданными и безопасностью. В этом релизе он получил три заметных изменения.

  • Spark как движок обслуживания. Добавлена поддержка Apache Spark в качестве движка обслуживания таблиц и отдельный экран конфигурации движка обслуживания в интерфейсе. Spark в качестве движка обслуживания.mp4

  • Настройка LDAP и OAuth в интерфейсе. Аутентификацию пользователей через LDAP и OAuth теперь можно настраивать прямо в UI, без правки конфигурационных файлов. LDAP и OAuth аутентификацию пользователей.mp4

  • Дерево объектов каталога. Отображение объектов каталога переработали: вместо плоского списка объекты показываются в виде дерева с навигацией. По большому каталогу проще ориентироваться и находить нужные таблицы. объекты отображаются в виде дерева объектов.mp4

Коротко

CedrusData 476-3 — релиз про производительность и управляемость. В движке появился нативный исполнитель Oxide и набор оптимизаций планировщика и операторов, режим одного узла под поток мелких запросов, индексы в Parquet и улучшенный пушдаун в Greenplum. В каталоге — Spark как движок обслуживания, настройка аутентификации в интерфейсе и навигация по объектам в виде дерева.

CedrusData развивается в составе дата-сервисов VK Tech и линейки VK Data Platform.

Оставьте заявку, чтобы получить консультацию

Наши специалисты свяжутся с вами в ближайшее время и ответят на все вопросы.

section-subscribe_2x.png

            Узнавайте о выходе новых статей в блоге первыми!

            Будем держать в курсе новостей и облачных трендов

            section-subscribe_2x.png
              section-subscribe_2x.png
              Ссылка скопирована
              Поделиться

              Почитать по теме

              _blog_head_158.png
              7 июля

              MPP-архитектура: почему распределённая обработка выигрывает у монолита

              _blog_head_100.png
              30 июня

              Автомасштабирование: сравнение AWS, VK Cloud, Yandex Cloud и Selectel

              40+ готовых сервисов