Trino и CedrusData
416 subscribers
3 photos
2 files
55 links
Канал о российской lakehouse-платформе CedrusData и сверхбыстром SQL-движке Trino. Здесь команда разработчиков CedrusData делится опытом и новостями из мира современных data lakehouse-решений и распределённых вычислений.

Чат: @cedrusdatachat
Download Telegram
Мы рады анонсировать релиз CedrusData 405-2, в котором появился кэш метаданных для Parquet файлов, поддержка OpenTelemetry, а так же возможность анализа производительности запросов, которые были запущены в другом кластере.
Рассказали более подробно про новый функционал в нашем блоге: https://www.cedrusdata.ru/blog/release-cedrusdata-405-2
👍3
Мы рады анонсировать релиз CedrusData 406-1! Ключевым функционалом данного релиза является новый оптимизированный коннектор к Greenplum, который добавляет возможность параллельного сканирования таблиц Greenplum. Так же мы разработали новый удобный способ визуализации планов запросов на основе утилиты PEV2, который позволяет быстрее идентифицировать проблемы производительности.
Более подробно про новый функционал можно прочитать в нашем блоге: https://www.cedrusdata.ru/blog/release-cedrusdata-406-1
🔥3
Мы рады анонсировать релиз CedrusData 410-1! Ключевым функционалом данного релиза является ускорение запросов к partitioned таблицам Hive. Так же мы добавили новый способ авторизации пользователей в ряде коннекторов. Более подробно про новый функционал можно прочитать в нашем блоге: https://www.cedrusdata.ru/blog/release-cedrusdata-410-1
👍4🔥2
Всем привет. Последние два месяца наша команда напряженно работала над реализацией ряда критических оптимизаций производительности, которые мы рады представить в вышедшем вчера релизе CedrusData 417-1.
1. Мы добавили локальный дисковый кэш данных, который позволяет сохранять части файлов из вашего озера непосредственно на worker-узлах. Во многих случаях данная оптимизация приводит к кратному ускорению запросов.
2. Мы добавили базовую инфраструктуру нового cost-based оптимизатора на основе алгоритма Cascades. Новый оптимизатор позволяет движке находить более оптимальное разбиение плана на фрагменты по сравнению с оригинальной версией Trino. Мы уже видим хорошее ускорение ряда сложных запросов с большим количеством операторов Join и Aggregation. В последующих версиях мы интегрируем большее количество оптимизаций в новый алгоритм, что позволит в полной мере раскрыть его потенциал.
3. Наконец, мы добавили новый коннектор к Teradata, что позволяет вам использовать CedrusData в еще большем количестве аналитических сценариев.

Более подробно про новый функционал можно прочитать в нашем блоге: https://www.cedrusdata.ru/blog/release-cedrusdata-417-1
🔥5👍2
Мы рады представить релиз CedrusData 422-1.
1. Мы добавили поддержку локального дискового кэша и оптимизировали чтение partitioned таблиц в коннекторе Iceberg. Iceberg коннектор в Trino традиционно отстает по возможностям от коннектора Hive. Данные изменения призваны в значительной степени ускорить работу с Iceberg.
2. Мы добавили возможность сопоставления пользователя с группами безопасности с помощью LDAP. Данное изменение позволяет в значительной степени упростить управление доступом к данным, потому что теперь вы можете определять права доступа для групп, заданных в LDAP, вместо сопоставления пользователей с группами вручную.

Более подробно про новый функционал можно прочитать в документации и нашем блоге: https://www.cedrusdata.ru/blog/release-cedrusdata-422-1
🔥4👍3
Trino содержит обширный набор функций, которых обычно достаточно для большинства сценариев использования. При решении сложных задач может возникнуть необходимость написания собственных кастомных функций. Для этого пользователи Trino традиционно использовали плагины, которые позволяют добавить собственную функцию, написанную на языке Java. Недостаток данного подхода - необходимость компиляции функции и перезапуска узла.

Начиная с релиза 431, в Trino появилась возможность создания кастомных функций с помощью SQL! Функции могут быть определены как непосредственно в запросе, так и сохранены в каталоге (например, в Hive Metastore) для дальнейшего переиспользования. Документация: https://trino.io/docs/current/routines/introduction.html
🔥8
Всем привет! В следующую пятницу, 24 ноября, в 18:00 пройдет (кажется) первый в российском сегменте онлайн-вебинар по Trino! Поговорим про реальную практику использования Trino в Avito и особенности работы оптимизатора запросов. Зарегистрироваться можно по ссылке: https://jugrugroup.timepad.ru/event/2675022/?utm_refcode=775f3a3d5cbd6daaf95e43fbc64e971d25ed5a05
Записи докладов позднее будут выложены на YouTube. До встречи на митапе!
🔥15
Trino и CedrusData pinned «Всем привет! В следующую пятницу, 24 ноября, в 18:00 пройдет (кажется) первый в российском сегменте онлайн-вебинар по Trino! Поговорим про реальную практику использования Trino в Avito и особенности работы оптимизатора запросов. Зарегистрироваться можно по…»
Всем привет. Мы выложили видео с прошедшего митапа по Trino: https://www.youtube.com/@cedrusdata/videos
У нас остался ряд вопросов слушателей, на которые мы не успели ответить на митапе. В ближайшие дни мы предоставим ответы.
👍7
Всем привет.

Мы рады представить релиз CedrusData 431-3!
1. Добавили новый Vertica коннектор с поддержкой SELECT, DML и DDL выражений.
2. Значительно ускорили работу локального дискового кэша для коннектора Hive. Аналогичные улучшения появятся в коннекторе Iceberg в следующих версиях.
3. Начали системную работу над дополнительными возможностями мониторинга системы. В данной версии появилась возможность просмотра агрегированных статистик доступа к таблицам в источниках: сколько байт и строк было прочитано.
4. Коннектор Teradata: добавили поддержку новых типов данных и расширили возможности pushdown.
Полную информацию и соответствующую документацию можно найти в release notes: https://docs.cedrusdata.ru/latest/release/release-431-3.html

Ожидаем в ближайших версиях:
1. Поддержка Arrow Flight SQL, которая в том числе позволит работать с CedrusData через сторонние ODBC драйвера
2. Финализация поддержки data cache для формата ORC (формально он уже есть в экспериментальном режиме, но надо поработать над производительностью)
3. Production-ready поддержка динамических каталогов
4. Автоматическая дедупликация повторяющихся фрагментов
🔥10👍8
Всем привет. Мы рады представить релиз CedrusData 431-4!

1. Добавили экспериментальную поддержку протокола Arrow Flight SQL. Теперь вы можете подключаться к CedrusData из любых клиентских приложений, которые реализуют данный протокол, включая сторонние ODBC и JDBC драйвера. Функционал будет окончательно стабилизирован в ближайших версиях. Документация: https://docs.cedrusdata.ru/latest/client/arrow-flight-sql.html
2. Ускорили работу локального дискового кэша в коннекторе Hive для файлов Parquet. Ранее продукт не умел кэшировать ряд структур Parquet (zone maps, bloom filters, dictionary pages), что приводило к лишним запросам в data lake даже при включенном кэше. Начиная с версии 431-4, семантическое кэширование распространяется на все составные части Parquet.

Release notes: https://docs.cedrusdata.ru/latest/release/release-431-4.html
🔥11👍1👏1
Коллеги, дискуссия интересная, и комментарии увлекательные 🙂
Большая просьба не скатываться в холивары 👍🏼
2
Всем привет. Мы рады представить большой релиз CedrusData 442-1!

1. Новый UI для запуска SQL запросов. Основан на Monaco. Документация: https://docs.cedrusdata.ru/latest/client/cedrusdata-web-ui.html
2. Полноценная поддержка динамических каталогов. Отличия от реализации Trino: возможность сохранения каталогов в Postgres или локальном RocksDB, возможность установки разных свойств каталога на разные узлы, отсутствие багов (известных нам 🙂). Документация: https://docs.cedrusdata.ru/latest/admin/properties-catalog.html
3. Кэш результатов, который позволяет мгновенно отдавать результаты ранее запущенных запросов без их повторного выполнения. Документация: https://docs.cedrusdata.ru/latest/admin/properties-cedrusdata-result-cache.html
4. Теперь к CedrusData можно подключаться через PowerBI с помощью нашего интерфейса Arrow Flight SQL и ODBC-драйвера Dremio (иронично, да). Гайд по подключению: https://docs.cedrusdata.ru/latest/guide/bi-powerbi.html
5. Автоматический сбор статистик кластера

Ссылка на дистрибутив и инструкции по установке: https://www.cedrusdata.ru/download
Release notes: https://docs.cedrusdata.ru/latest/release/release-442-1.html

В работе и появится в ближайших релизах:
1. Автоматический rewrite запросов к материализованным представлениям. Уменьшает количество повторяющихся вычислений и эффективно разгружает источники данных. Функционал архитектурно схож с Dremio Reflections.
2. Наконец опубликуем автоматическую дедупликацию повторяющихся фрагментов запроса. Результаты тестов показывают отличный прирост производительности, но реализация достаточно сложная.
3. Чтение данных из Greenplum через gpfdist.
4. Добавим в web UI возможность работы с локальными датасетами через DuckDB.
5. В рамках исследования поэкспериментируем с гибридным исполнением запросов между DuckDB и CedrusData.
🔥11👍21
Всем привет. Мы рады представить релиз CedrusData 442-2!

1. Возможность сохранения истории выполненных запросов в персистентное хранилище (файловая система или PostgreSQL). Документация: https://docs.cedrusdata.ru/latest/admin/properties-cedrusdata-query-history.html
2. Iceberg: добавлена возможность использования функций партиционирования отличных от "identity" для выполнения колоцированных операций Join и Aggregate
3. Delta Lake: добавлена поддержка локального дискового кэша CedrusData. Документация: https://docs.cedrusdata.ru/latest/connector/delta-lake.html#delta-lake-data-cache
4. Greenplum: добавлена возможность задания свойств таблиц при выполнении операции CREATE TABLE: distributed by, appendoptimized, orientation и т.д. Документация: https://docs.cedrusdata.ru/latest/connector/greenplum.html#greenplum-table-properties
5. Создана инфраструктура для автоматического переписывания запросов на материализованные представления. Функционал будет включен в следующем релизе для Iceberg каталогов
6. Увеличена точность операций деления DECIMAL значений. Ванильный Trino агрессивно урезает количество симоволов после запятой, например 1.0 / 3 -> 0.3. В CedrusData можно опционально увеличить точность операций деления с помощью параметра JVM. Документация: https://docs.cedrusdata.ru/latest/language/types.html#decimal-division-scale
7. Внесены изменения в Docker-образ CedrusData. Теперь он максимально приближен к Docker-образу Trino, чтобы пользователям было легче менять образы в своем окружении. Документация: https://docs.cedrusdata.ru/latest/installation/containers.html

Ссылка на дистрибутив и инструкции по установке: https://www.cedrusdata.ru/download
Release notes: https://docs.cedrusdata.ru/latest/release/release-442-2.html

Задачи в работе:
1. Поддержка автоматического переписывания запросов на материализованные представления для операторов Scan-Project-Filter-Aggregation в Iceberg каталогах
2. Поддержка чтений из Greenplum через gpfdist
3. Кэширование повторяющихся фрагментов и подзапросов
🔥13
Всем привет. Мы рады представить релиз CedrusData 442-3!

1. Опубликовали бинарники и исходники наших SPI. Теперь вы можете использовать дополнительные сервисы CedrusData для разработки своих плагинов. Например, вы можете добавить наш дисковый кэш в свой коннектор, или реализовать аудит событий аутентификации через event listener. Документация: https://docs.cedrusdata.ru/latest/develop/spi-overview.html#spi-dependencies
2. Добавили поддержку автоматического переписывания запросов на материализованные представления. Данный функционал может быть использован как для уменьшения количества повторяющихся вычислений (например, агрегаций), так и для снятия нагрузки с медленных источников путем переноса чтения части колонок в Iceberg. В настоящий момент поддерживаются материализованные представления из коннектора Iceberg. Пока не поддерживаем материализованные представления с оператором JOIN, добавим в ближайших релизах. Документация: https://docs.cedrusdata.ru/latest/connector/iceberg.html#iceberg-materialized-views-rewrite
3. Улучшили работу колоцированных вычислений в Iceberg за счет поддержки всех типов данных для всех partition transforms (https://iceberg.apache.org/spec/#partition-transforms), за исключением составных типов в identity transform. Теперь колоцированные Join и Aggregate могут быть использованы в большем количестве случаев.

Ссылка на дистрибутив и инструкции по установке: https://www.cedrusdata.ru/download
Release notes: https://docs.cedrusdata.ru/latest/release/release-442-3.html

Продолжаем работать над материализованными представлениями: нужны поддержка Join и инкрементальный refresh. Финализируем разработку быстрых чтений из Greenplum через gpfdist. Начинаем думать над тем, как удобно загружать файлы в data lake через CedrusData Web UI. Пробуем финализировать первую версию прототипа гибридного выполнения запросов через CedrusData и DuckDB.
🔥101
🎉 Анонс Trino бар Summit! 🍻

Всем привет! В эту пятницу коллеги из S7 спонтанно организуют посиделки в баре для обсуждения итогов Trino Summit и других идей! 🎤💡Приглашаем всех желающих. Будет здорово провести вечер вместе, обменяться впечатлениями и просто хорошо провести время.

📅 Когда: в эту пятницу, 14 июня, вечер после 18:00, точное время согласуем
📍 Где: Москва, точное место будет определено в зависимости от вашей реакции и сообщено отдельно

Пожалуйста, отметьтесь в реакции:
🔥 - если вы готовы присоединиться к коллегам из S7 и придете! (будем ориентироваться на это число при бронировании, но в разумных пределах)
🤷‍♂️ - если собираетесь присоединиться, но не уверены, что у вас получится

По всем вопросам организации можно обращаться к @YuriyGavrilov

Не пропустите отличный вечер с друзьями и коллегами! 🍹🥳
🔥4🤷‍♂3
Коллеги, привет. Задача канала - приносить пользу сообществу. Мы против огульной и навязчивой рекламы. Но если есть конкретный запрос и конкретный ответ, нет ничего плохого в том, чтобы это обсудить в канале. Команда Евгения делает ровно то, о чем спросил Андрей. Никаких проблем со стороны канала нет.
👍6