View a markdown version of this page

Storia e design di Trino - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Storia e design di Trino

Trino è specializzato nell'interrogazione di set di dati di grandi dimensioni da molte fonti diverse. Trino può accedere e interrogare HDFS in un caso d'uso tradizionale di big data, ma può anche interrogare fonti aggiuntive come database relazionali e database NoSQL. Trino è nato originariamente come fork del motore di query Presto, nel 2019. Da allora, è stato sviluppato indipendentemente dalla base di codice Presto.

Per ulteriori informazioni sul motore di interrogazione Trino e su come viene utilizzato, consultate il sito Web di Trino. Per leggere la documentazione dei sorgenti di Trino, consulta Trino Overview.

Concetti architettonici

Trino può eseguire query rapide ed efficienti perché elabora i dati in parallelo su un cluster. È progettato pensando all'interrogazione di un data lake, in quanto è specializzato per query su grandi volumi di dati, in genere nei casi d'uso che coinvolgono Hadoop e HDFS. Ma può anche interrogare i database relazionali tradizionali. Per ulteriori informazioni, vedere Architettura nella documentazione di Trino.

Componenti di Trino

Trino ha alcuni componenti architettonici chiave che interagiscono per velocizzare l'esecuzione delle query. È utile averne una conoscenza pratica quando si ottimizza il cluster per ottenere prestazioni migliori:

  • Il coordinatore è responsabile dell'orchestrazione delle query. Analizza e ottimizza le query SQL in entrata, genera piani di esecuzione, assegna attività ai nodi di lavoro e raccoglie e assembla i risultati delle query. Inoltre, monitora l'utilizzo delle risorse e traccia lo stato dei nodi di lavoro. Per ulteriori informazioni, vedere Coordinator nella documentazione di Trino.

  • I nodi di lavoro gestiscono l'elaborazione dei dati per le interrogazioni. Dopo che il coordinatore ha assegnato le attività, i lavoratori recuperano i dati, eseguono le operazioni necessarie, come join e aggregazioni, e scambiano dati intermedi con altri lavoratori. Per ulteriori informazioni, consulta la documentazione di Worker in the Trino.

  • I connettori sono plugin che consentono a Trino di connettersi e interrogare varie fonti di dati. Ogni connettore sa come accedere e recuperare i dati dalla propria fonte, come Amazon S3, Apache Hive o database relazionali. Questi connettori associano i dati di origine alla struttura dello schema di Trino.

  • Un catalogo è una raccolta logica di schemi e tabelle associati a un connettore specifico. Definiti nel coordinatore, i cataloghi consentono a Trino di trattare diverse fonti di dati come un unico namespace. Ciò consente agli utenti di interrogare più fonti insieme, come Hive e MySQL, in modo unificato nella stessa query.

  • Client come Trino CLI si connettono tramite driver JDBC e ODBC al coordinatore Trino per inviare query SQL. Il coordinatore gestisce il ciclo di vita delle query, fornendo i risultati al cliente per ulteriori analisi o report.

Esecuzione di query

Per capire come Trino prende le istruzioni SQL e le esegue come query, vedi i concetti di Trino nella documentazione di Trino.