Перейти к содержанию

Starburst и Trino

Этот драйвер также подходит для подключения к базе данных Trino.

Чтобы добавить подключение к базе данных, нажмите на значок gear в правом верхнем углу и перейдите в Admin settings > Databases > Add a database.

Эти настройки можно менять в любое время. Не забудьте сохранить изменения.

Поддерживаемые версии

В интерфейсе выбирайте тип Starburst (Trino). В поставке используется коннектор Starburst 6.1.0 с библиотекой Trino JDBC 476; он предназначен для Starburst Enterprise, Starburst Galaxy и Trino.

Проверенная конфигурация: Trino 476, Trino JDBC 476 и Java 21 на стороне Glarus BI. Проверены подключение, прямой SQL и запрос конструктора с фильтром, выражением, соединением, группировкой, агрегатом, сортировкой и лимитом; результат совпал с эталонным SQL. Проверены обычные и оптимизированные подготовленные выражения, а также часовой пояс соединения.

Для оптимизированных подготовленных выражений коннектор включает explicitPrepare=false и использует EXECUTE IMMEDIATE. Документация Trino JDBC 476 указывает для этого режима Trino 431 и новее. Нижняя граница версии Trino для подключения без этой опции здесь не устанавливается: другие версии нужно проверять отдельно. Требования и настройка опции приведены ниже.

Выполнение запросов на стороне Trino (push-down)

Запрос конструктора Glarus BI переводится в SQL Trino и передаётся координатору по JDBC. Фильтры, группировки, агрегаты, выражения, соединения, сортировка и лимит входят в этот SQL и выполняются средствами Trino. Координатор управляет выполнением, а работу могут выполнять узлы-воркеры; Glarus BI получает результат запроса. Распределение работы между узлами и обращение к исходным хранилищам определяет Trino.

Прямой SQL также выполняет Trino. Если в нём используются переменные или шаблоны Glarus BI, они обрабатываются перед отправкой. Федеративный доступ к источникам настраивается в каталогах Trino; он не означает автоматического объединения произвольных отдельных подключений Glarus BI.

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

Материализация моделей (персистентный кэш моделей в этой СУБД) и действия для Starburst не поддерживаются. Это ограничение не относится к обычному кэшу результатов запросов Glarus BI.

Федеративные запросы между каталогами Trino

Trino может читать источники, настроенные как отдельные каталоги, и соединять их данные в одном SQL-запросе. Настройте в Trino каталоги с коннекторами, например PostgreSQL и ClickHouse, затем добавьте в Glarus BI подключение типа Starburst (Trino). Поле Каталог обязательно: оно задаёт каталог, из которого синхронизируются схемы и таблицы для конструктора запросов. В прямом SQL указывайте полный путь каталог.схема.таблица для каждого источника.

SELECT from_utf8(c.name) AS customer_name, SUM(o.amount) AS total_amount
FROM pg.public.orders AS o
JOIN ch.default.customers AS c ON o.customer_id = c.id
GROUP BY from_utf8(c.name);

Пример проверен на Trino 476 с каталогами PostgreSQL pg и ClickHouse ch. В этой конфигурации строковый тип ClickHouse читается как двоичные данные, поэтому from_utf8() преобразует имя в текст. Учётная запись, заданная в подключении Trino, должна иметь доступ к обоим каталогам; пользователю Glarus BI требуется право на прямые запросы к подключению.

Сохраните запрос как SQL-вопрос, чтобы строить визуализацию и добавлять его на дашборд; объявленные параметры вопроса можно связать с фильтрами дашборда. Сохранённую модель можно использовать как источник для последующих вопросов. В визуальном конструкторе соединяются таблицы в пределах одного подключения Glarus BI и выбранного каталога: он не объединяет произвольные отдельные подключения.

Trino — внешний движок и не входит в поставку Glarus BI. Скорость и перенос операций к источникам зависят от самого Trino и настроек коннекторов; собственные замеры для такой схемы не приводятся. Подробнее о выполнении и push-down в Trino. Материализация моделей в подключении Starburst и действия для него не поддерживаются.

Подключение и синхронизация (Connection and sync)

После подключения к базе данных вы увидите раздел «Connection and sync», в котором отображается текущий статус подключения и параметры управления подключением.

Здесь можно синхронизировать схему базы данных и пересканировать значения полей, а также редактировать параметры подключения.

Изменение параметров подключения

Чтобы открыть или изменить настройки подключения, нажмите кнопку Edit connection details.

Строка подключения

Вставьте строку подключения, чтобы автоматически заполнить поля ниже.

Отображаемое название

Отображаемое название базы данных в интерфейсе Glarus BI.

Хост

IP‑адрес базы данных (например, 98.137.149.56) или доменное имя (например, name.database.com).

Порт

Порт базы данных (например, 8080).

Каталог

Каталоги Starburst содержат схемы и ссылаются на источники данных через connector.

Схема (необязательно)

Добавлять только таблицы из конкретной схемы.

Имя пользователя

Имя пользователя базы данных, под которым Glarus BI будет подключаться. Можно настроить несколько подключений к одной и той же базе данных с разными учётными записями и разными наборами прав.

Пароль

Пароль для указанного пользователя.

Использовать защищённое соединение (SSL)

См. SSL‑сертификаты.

Роль (необязательно)

Укажите роль, чтобы переопределить роль пользователя базы данных по умолчанию.

Оптимизировать подготовленные выражения (prepared statements)

Оптимизация использует explicitPrepare=false и EXECUTE IMMEDIATE. Для Trino документация JDBC 476 указывает версию 431 и новее; проверенная конфигурация описана в разделе Поддерживаемые версии. Поддержку этого режима в Starburst Galaxy или Enterprise проверяйте для своей установки.

Дополнительные параметры строки подключения JDBC

Можно дописать опции к строке подключения JDBC. Разделяйте опции символом &, например:

connection_timeout=1000&socket_timeout=300000

Перезапускать запросы при простых изменениях

Выключите эту опцию (OFF), если пользователи хотят нажимать Run (кнопку воспроизведения) перед применением любых Summarize или фильтров.

По умолчанию Glarus BI выполнит запрос, как только вы выберете вариант группировки из меню Summarize или условие фильтра из drill-through меню. Если база данных работает медленно, возможно, стоит отключить автоматический перезапуск, чтобы не загружать данные при каждом клике.

Выберите, когда запускать синхронизацию и сканирование

См. синхронизацию и сканирование.

Периодически снимать слепки таблиц

Периодическое снятие слепков таблиц увеличит нагрузку на вашу базу данных.

Включите (ON), чтобы сканировать выборку значений каждый раз, когда Glarus BI запускает синхронизацию.

Запрос fingerprinting анализирует первые 10 000 строк каждого столбца и оценивает, сколько уникальных значений у столбца, какие минимальные и максимальные значения у числовых столбцов и столбцов временных меток и т. д. Если оставить опцию OFF, Glarus BI выполнит fingerprinting столбцов только один раз во время настройки.

Возможности моделей

Материализация моделей (персистентный кэш моделей в этой СУБД) и действия для Starburst не поддерживаются. Обычный кэш результатов запросов Glarus BI рассматривается отдельно.

Опасная зона (Danger zone)

См. опасную зону.