Нативное ядро Oxide#
CedrusData Engine содержит высокопроизводительное нативное ядро вычислений Oxide, написанное на языке Rust с использованием технологий Apache Arrow и Apache DataFusion. Oxide обеспечивает более высокую скорость обработки по сравнению с оригинальным ядром Trino за счет уменьшения стоимости индивидуальных операций и разделением CPU и IO нагрузок.
Архитектура#
Oxide является альтернативным ядром выполнения, которое работает совместно с оригинальным ядром Trino на worker-узле в рамках одного процесса. Oxide состоит из следующих компонентов:
Вычислительное ядро на основе Apache DataFusion
Кэш данных для Iceberg
Система управления памятью
Система управления метриками.
Взаимодействие Oxide и Java реализовано через JNI. Передача данных происходит с использованием протоколов Apache Arrow и Protobuf.

В процессе планирования запроса CedrusData определяет, какие операторы необходимо выполнить в Oxide, а какие в Java. Среда выполнения worker-узла передает нативные операторы в Rust и получает обратно результат в формате Apache Arrow. Далее происходит преобразование полученные данных в формат Trino с последующей передачей в вышестоящие операторы в Java.

Включение Oxide#
Для включения Oxide задайте следующий параметр конфигурации в файле etc/config.properties:
cedrusdata.oxide.enabled=true
Дополнительные параметры конфигурации приведены в Управление нативным ядром Oxide.
Дополнительные материалы#
Доклад об Oxide на конференции ИСП РАН, декабрь 2025 года
Техническая статья об Oxide на Хабр