encyklopedia.space

Trino

Trino – otwarto‑źródłowy silnik zapytań SQL do analizy danych rozproszonych, pierwotnie rozwijany pod nazwą PrestoSQL. Projekt jest zarządzany przez społeczność oraz fundację Apache i jest szeroko wykorzystywany w środowiskach big data oraz w chmurze.

Historia

Silnik został zapoczątkowany w 2012 roku w firmie Facebook jako Presto, aby umożliwić interaktywne zapytania do dużych zbiorów danych przechowywanych w systemach takich jak Hive czy Hadoop. W 2018 roku społeczność rozwijająca projekt rozdzieliła się od oryginalnego kodu, tworząc odrębny fork nazwany PrestoSQL. W 2020 roku PrestoSQL przyjął nową nazwę – Trino – i od tego momentu jest rozwijany jako niezależny projekt.

Architektura

Trino opiera się na architekturze typu master‑worker, w której:

  • Coordinator – centralny węzeł zarządzający przydziałem zapytań, optymalizacją i monitorowaniem.
  • Workers – węzły wykonawcze, które przetwarzają fragmenty zapytań w trybie równoległym.
  • Connectors – moduły umożliwiające dostęp do różnorodnych źródeł danych, m.in. Hive, Cassandra, Kafka, MySQL oraz systemy plików Amazon S3.

Silnik jest napisany w języku Java, co zapewnia przenośność i łatwą integrację z istniejącymi ekosystemami big data.

Funkcje

Do najważniejszych cech Trino należą:

  • Pełna kompatybilność ze standardem SQL (obsługa zapytań ANSI‑SQL, funkcji okienkowych, podzapytań, CTE itp.).
  • Możliwość łączenia danych z wielu źródeł w ramach jednego zapytania (tzw. federated query).
  • Wysoka wydajność dzięki przetwarzaniu równoległemu i optymalizacji kosztowej.
  • Wsparcie dla Apache Lucene i ElasticSearch przy pełnotekstowym wyszukiwaniu.
  • Rozbudowane mechanizmy bezpieczeństwa, w tym integracja z Kerberos, LDAP i OAuth2.
  • Rozszerzalny system wtyczek, umożliwiający dodawanie własnych connectors i funkcji.

Adopcja i zastosowanie

Trino jest wykorzystywany przez liczne organizacje na całym świecie, w tym:

  • platformy e‑commerce do analizowania zachowań użytkowników,
  • instytucje finansowe do szybkiego raportowania ryzyka,
  • firmy technologiczne do monitorowania logów i danych telemetrycznych,
  • projekty badawcze w dziedzinie Data Science i Machine Learning.

Porównanie z innymi systemami

W przeciwieństwie do tradycyjnych hurtowni danych, takich jak Teradata czy Snowflake, Trino nie wymaga wcześniejszego ładowania danych do dedykowanego magazynu. Dzięki temu umożliwia on tzw. query‑on‑read – analizę danych bezpośrednio w miejscu ich przechowywania.

Wersje i wydania

Od momentu przyjęcia nazwy Trino wydano kilka głównych wersji, z których najnowsza (stan na 2024 rok) to Trino 392. Każde wydanie zawiera poprawki bezpieczeństwa, optymalizacje wydajności oraz nowe wtyczki.

Zobacz także

PrestoSQL | Presto | SQL | Apache | Hadoop | Hive | Data Science | Machine Learning