BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Концепты Trino

Концепты Trino

Чтобы понять, что такое Trino, сначала Вы должны разобраться в терминах и понятиях, используемых в официальной документации Trino.

Как конечный пользователь Вы должны быть знакомы с такими понятиями, как этапы и сплиты. Это позволит Вам в полной мере использовать все преимущества Trino. В качестве администратора или разработчика Trino Вы должны понимать, как концепции этапов Trino связаны с задачами, которые содержат наборы драйверов, обрабатывающих данные.

В этом разделе дается четкое определение основных понятий, используемых в Trino.

 

Архитектура

Trino - это распределенный движок запросов, который обрабатывает данные сразу на нескольких серверах. Существует два типа серверов Trino - координаторы и рабочие узлы. В следующих разделах описываются эти и другие важные компоненты архитектуры Trino.

 

Кластер

Кластер Trino состоит из координатора и множества рабочих узлов. Пользователи подключаются к координатору с помощью своего инструмента SQL-запросов. Координатор взаимодействует с рабочими узлами. Координатор и рабочие узлы получают доступ к подключенным источникам данных. Этот доступ настраивается в специальных каталогах.

Рабочие нагрузки оркеструются координатором и распределяются между всеми рабочими узлами кластера. На каждом узле Trino выполняется JVM, а обработка запросов распараллеливается с помощью потоков.

 

Координатор

Координатор Trino - это сервер, который отвечает за разбор утверждений, планирование запросов и управление рабочими узлами Trino. Он является «мозгом» Trino, а также узлом, к которому для отправки утверждений на выполнение подключается клиент. В каждой установке должен быть координатор Trino, а также один или несколько рабочих узлов Trino. Для целей разработки один экземпляр Trino может быть настроен на выполнение обеих ролей.

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

Координаторы взаимодействуют с рабочими уздами и клиентами с помощью REST API.

 

 

Рабочий узел

Рабочий узел Trino - это сервер в установке Trino, который отвечает за выполнение задач и обработку данных. Рабочие узлы получают данные от коннекторов и обмениваются промежуточными данными друг с другом. Координатор отвечает за получение промежуточных результатов от рабочих узлов и возврат окончательных результатов клиенту.

Когда запускается рабочий процесс Trino, он объявляет о себе серверу обнаружения, который делает его доступным для координатора Trino.

Рабочие узлы взаимодействуют с другими рабочими узлами и координаторами Trino с помощью REST API.

 

Клиент

Клиенты позволяют Вам подключаться к Trino, отправлять SQL-запросы и получать результаты. Клиенты могут получить доступ ко всем настроенным источникам данных с помощью каталогов. Клиенты - это полнофункциональные приложения или библиотеки и драйверы, которые позволяют Вам подключаться к любому приложению, поддерживающему этот драйвер, или даже к собственному приложению или скрипту.

Клиенты включают в себя инструменты командной строки, настольные приложения, веб-приложения и решения «SaaS» с такими функциями, как интерактивное создание SQL-запросов с помощью редакторов или пользовательские интерфейсы для создания графических запросов, выполнения запросов и отображения результатов, визуализации графиков и диаграмм, создания отчетов и дашбордов.

Клиенты могут обрабатывать возвращаемые данные из Trino и использоваться для конвейерной обработки данных между каталогами Trino.

С технической точки зрения, клиенты взаимодействуют только с координатором кластера Trino и используют Trino Client REST API.

 

Источник данных

Trino - это движок запросов, с помощью которого можно запрашивать множество различных источников данных. К ним относятся озера данных, многочисленные реляционные системы управления базами данных и многие другие хранилища данных.

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

В этом документе Вы встретите такие термины, как коннектор, каталог, схема и таблица. Эти фундаментальные понятия модели Trino будут описаны в следующем разделе.

 

Коннектор

Коннектор адаптирует  Trino к работе с источником данных (например, Data Lake) c помощь Hadoop/Hive или Apache Iceberg, или реляционной БД, например, PostgreSQL. По сути, коннектор можно сравнить с драйвером БД. Это одна из реализаций  интерфейса поставщика услуги (SPI), позволяющая Trino взаимодействовать с источником с помощью стандартного API.

У Trino есть несколько встроенных коннекторов:

  • Коннекторы для Data Lake и Lakehouse, в том числе коннекторы Delta Lake, Hive, Hudi и Iceberg.
  • Коннекторы для реляционных СУБД, в том числе коннекторы MySQL, PostgreSQL, Oracle и SQL Server.
  • Коннекторы для других систем, в том числе коннекторы для Cassandra, ClickHouse, OpenSearch, Pinot, Prometheus, SingleStore и Snowflake.
  • Другие коннекторы, в том числе для JMX, System и TPCH .

 

Для каждого каталога разработан специальный коннектор. Если Вы внимательно изучите конфигурационный файл каталога, Вы найдете в нем обязательный параметр connector.name, содержащий значение, которое и определяет необходимый коннектор.

 

Каталог

Каталог Trino – это набор конфигурационных параметров, используемых для работы с тем или иным источником данных, включая требуемый коннектор и другую информацию, такую как учетные данные и URL. Каталоги определяются в файлах  свойств, хранящихся в конфигурационном каталоге Trino. Название файла характеристик определяет название каталога. Например, если файл характеристик называется etc/example.properties,  то название каталога  будет  example.

Вы можете настраивать и использовать сразу несколько каталогов, содержащих разные или одинаковые коннекторы, необходимые для работы с различными источниками данных. Например, если Вы работаете с 2 озерами данных, Вы можете настроить 2 каталога и объединить их в один кластер Trino, который будет использовать коннектор Hive. Для работы с Data Lake Вы можете использовать коннектор Hive, а для работы с  Data Lakehouse – коннектор Iceberg. Или Вы можете настроить сразу несколько разных каталогов для работы с различными БД PostgreSQL. Комбинация каталогов зависит исключительно от необходимых Вам источников данных.

Каталог содержит одну или несколько схем, которые в свою очередь содержат такие объекты, как таблицы, представления или материализованные представления. При обращении к таблицам в Trino в каталоге необходимо указать полный путь. Например, название таблицы example.test_data.test соответствует названию таблицы  test , хранящейся в схеме test_data каталога example.

 

Схема

Схема - это способ организации таблиц. Каталог и схема определяют набор таблиц или других объектов, к которым можно отправлять запросы. При подключении  к Hive или к MySQL с помощью Trino схема передает схожий концепт целевой таблице. Другие типы коннекторов могут организовывать таблицы в схемы таким образом, чтобы обеспечить доступ к источнику данных.

 

Таблица

Таблица – это набор неупорядоченных строк, которые организованны по столбцам, содержащим типы. Это похоже на устройство реляционных БД. Сопоставление типов исходных данных с данными Trino определяется коннектором; способы сопоставления  различаются в зависимости от коннекторов.  Все эти и другие особенности описаны в  официальной документации, прилагаемой к каждому коннектору, например, сопоставление типов в коннекторе PostgreSQL.

 

Модель выполнения запроса

Trino выполняет SQL-запросы и превращает их в запросы, которые выполняются на распределенном кластере, состоящем из координаторов и рабочих узлов.

 

Оператор

Trino работает с операторами SQL, отвечающими требованиям ANSI. Когда в официальной документации Trino говорится о каком-либо операторе, имеется в виду оператор, определенный стандартом ANSI SQL, состоящий из условий, выражений и предикатов.

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

 

Запрос

Когда Trino разбирает выражение, он преобразует его в запрос и создает распределенный план выполнения запроса, который затем реализуется как серия взаимосвязанных этапов, выполняемых на рабочих узлах Trino. Когда Вы получаете информацию о запросе в Trino, Вы получаете снимок каждого компонента, который участвует в создании набора результатов в ответ на Ваш запрос.

Разница между выражением и запросом проста. Выражение можно рассматривать как текст SQL, который передается в Trino, в то время как запрос относится к конфигурации и компонентам, инстанцированным для выполнения этого выражения. Запрос включает в себя этапы, задачи, сплиты, коннекторы и другие компоненты и источники данных, работающие совместно для получения результата.

 

Этап

Когда Trino выполняет запрос, он разбивает его выполнение на несколько последовательных этапов. Например, если Trino нужно агрегировать данные из миллиарда строк, хранящихся в Hive, он сделает это, создав корневой этап, предназнченный для агрегирования результатов нескольких других этапов, каждый из которых предназначен для реализации различных секций плана распределенного запроса.

Последовательность этапов, из которых состоит запрос, похожа на дерево. У каждого запроса есть корневой этап, который отвечает за агрегирование результатов других этапов. Этапы - это то, что координатор использует для моделирования плана распределенного запроса, сами этапы не выполняются на рабочих узлах Trino.

 

Задача

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

Задачи - это «рабочая лошадка» Trino, поскольку план распределенного запроса раскладывается на серию этапов, которые затем переводятся в задачи. Задача Trino имеет входы и выходы, и так же, как этап может выполняться параллельно.

 

Сплит

Этапы на самом низком уровне плана распределенного запроса получают данные через сплиты от коннекторов, а промежуточные этапы на более высоком уровне плана распределенного запроса получают данные от других этапов.

Когда Trino планирует запрос, координатор запрашивает у коннектора список всех сплитов, доступных для таблицы. Координатор отслеживает, на каких машинах выполняются те или иные задачи,  контролирует то, какие именно сплиты обрабатываются теми или иными задачами.

 

Драйвер

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

 

Оператор

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

 

Обмен

Обмены передают данные между рабочими узлами Trino на разных этапах выполнения запроса. Задачи производят данные в выходной буфер и потребляют данные от других задач с помощью клиента обмена.

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Случаи использования Trino
Следующая статья →
Развертывание Trino
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ООО "Интернэшнл Ресторант Брэндс" – это крупнейший франчайзинговый партнер компании Yum! Brands Russia & CIS в России, отвечающий за рост и развитие бренда KFC на территории РФ. На сегодняшний день у компании более 350 ресторанов. Ежедневно в рестораны приходит 200 000+ гостей.

  • Novikov group – первый российский ресторанный холдинг, основанный в 1991 году. Это команда профессионалов под управлением Аркадия Новикова, реализующая широкий спектр услуг в сфере гостеприимства: от проведения event-мероприятия до управления рестораном, от установления стандартов сервиса до контроля качества готовой продукции, от построения бизнес-плана проекта до реализации франшизы.

  • Компания «Бизон-Трейд» является официальным дилером ведущих мировых производителей сельскохозяйственной техники (Fendt, Valtra, Lemken и др.) на Юге России. Входит в состав агрохолдинга «Бизон», основанного в 1994 году. Имеет 8 филиалов в Краснодарском и Ставропольском краях, Ростовской области.

  • AbbVie – компания, которая стремится решить самые серьезные проблемы здравоохранения. Это биофармацевтическая компания, сфокусированная на исследованиях и разработках.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.