Che cos'è Presto?

Che cos'è Presto?

Presto, o database Presto (PrestoDB), è un motore di query SQL distribuito e open source in grado di interrogare grandi set di dati provenienti da diverse fonti, consentendo alle aziende di risolvere problemi di dati su larga scala.

Offre alle organizzazioni di tutte le dimensioni un modo rapido ed efficiente per analizzare i big data da varie fonti, inclusi i sistemi on-premise e il cloud. Aiuta inoltre le aziende a eseguire query su petabyte di dati utilizzando le attuali funzionalità SQL, senza dover imparare un nuovo linguaggio.

Oggi, Presto è ampiamente utilizzato per eseguire query su Hadoop e altri fornitori di data storage comuni, consentendo agli utenti di gestire più linguaggi di query e interfacce a database e storage.

Nell'era digitale, l'analytics dei big data sta diventando rapidamente una competenza fondamentale per le aziende, indipendentemente dalle dimensioni o dal settore. La capacità di raccogliere, memorizzare e analizzare grandi quantità di dati relativi ai processi di business, alle preferenze dei clienti e alle tendenze di mercato è estremamente preziosa. L'importanza principale di Presto per l'analytics dei dati è la sua capacità di analizzare i dati indipendentemente da dove vengono memorizzati e senza doverli prima spostare in un sistema più strutturato, come un data warehouse o un data lake.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

I vantaggi di Presto

Presto è diventato uno strumento popolare per i data scientist e gli ingegneri che hanno a che fare con più linguaggi di query, database in silo e diversi tipi di storage. Le sue funzionalità ad alte prestazioni consentono agli utenti di interrogare grandi volumi di dati in tempo reale, indipendentemente dalla posizione dei dati, utilizzando una semplice interfaccia ANSI SQL. La velocità e le prestazioni di Presto nell'esecuzione di query su grandi volumi di dati lo hanno reso uno strumento indispensabile per alcune delle aziende più grandi del mondo, tra cui Facebook, Airbnb, Netflix, Microsoft, Apple (iOS) e AWS (Athena e Amazon s3).

L'architettura Presto è unica in quanto è progettata per interrogare i dati indipendentemente dalla posizione di storage, rendendoli più scalabili ed efficienti rispetto ad altre soluzioni simili. Le query di Presto consentono agli ingegneri di utilizzare i dati senza doverli spostare fisicamente da posizione alla posizione. Si tratta di una capacità importante per le organizzazioni che hanno a che fare con una quantità sempre maggiore di dati da memorizzare e analizzare.

Presto è stato creato per consentire a data scientist e ingegneri di interrogare in modo interattivo grandi quantità di dati, indipendentemente dall'origine o dal tipo di storage. Dal momento che Presto non memorizza dati, ma comunica piuttosto con un database separato per le sue query, è più flessibile rispetto ai concorrenti e può aumentare o ridurre rapidamente le query in base alle mutevoli esigenze dell'organizzazione. Secondo un white paper di IBM, Presto, ottimizzato per workload di business intelligence (BI), può aiutare le aziende a ottimizzare i prezzi dei loro data warehouse e ridurre i costi fino al 50%.

Ecco alcuni dei principali vantaggi offerti dall'utilizzo di un workflow Presto:

Costi inferiori: man mano che crescono le dimensioni dei data warehouse e il numero di utenti che eseguono query, non è raro che le aziende vedano i costi aumentare rapidamente. Presto, tuttavia, è ottimizzato per grandi quantità di piccole query, semplificando l'interrogazione di qualsiasi quantità di dati mantenendo al contempo bassi i costi. Inoltre, poiché Presto è open source, non vi sono costi connessi alla sua implementazione e questo può comportare risparmi significativi per le aziende che desiderano elaborare grandi volumi di dati.

Maggiore scalabilità: è normale che gli ingegneri configurino più motori e linguaggi su un unico sistema di storage data lake e questo può rendere necessario il replatforming in futuro e limitare la scalabilità della soluzione. Con Presto, tutte le query vengono condotte utilizzando il linguaggio e l'interfaccia universali ANSI SQL, rendendo ridondante il replatforming. Inoltre, Presto può essere utilizzato sia per piccole sia per grandi quantità di dati e può essere facilmente ampliato da uno o due utenti a migliaia. Presto implementa più motori di calcolo con dialetti SQL unici e API, rendendolo uno strumento ideale per scalare workload che potrebbero essere troppo complessi e dispendiosi in termini di tempo per essere gestiti da team di ingegneri e data scientist.

Prestazioni migliori: mentre molti motori di query che eseguono SQL su Hadoop sono limitati nelle prestazioni di calcolo perché sono progettati per scrivere i risultati su disco, il modello distribuito in memoria di Presto consente di eseguire grandi quantità di query interattive contemporaneamente su set di dati di grandi dimensioni. Seguendo un classico design di MPP (massively parallel processing ), Presto pianifica quante più query possibili su un singolo nodo di lavoro e utilizza lo streaming shuffle in memoria per aumentare ulteriormente la velocità di elaborazione. L'esecuzione delle attività in memoria rende ridondanti la scrittura e la lettura dal disco tra le fasi e riduce il tempo di ciascuna esecuzione delle query, facendo di Presto un'opzione di latenza inferiore rispetto alla concorrenza.

Flessibilità migliorata: Presto utilizza un modello plug-and-play per tutte le sue fonti di dati, tra cui Cassandra, Kafka, MySQL, Hadoop, file system distribuito (HDFS), PostgreSQL e altri ancora, rendendo le query su di essi più veloci e più agevoli rispetto ad altri strumenti paragonabili che mancano di questa funzionalità. Inoltre, l'architettura flessibile di Presto significa che non è limitata a un singolo fornitore, ma funziona sulla maggior parte delle distribuzioni Hadoop, diventando uno degli strumenti più portatili disponibili.

Sebbene Presto non sia l'unica opzione SQL-on-Hadoop disponibile per sviluppatori e ingegneri dei dati, la sua architettura unica che mantiene le funzionalità di query separate dal data storage la rende una delle più flessibili. A differenza di altri strumenti, Presto separa il motore di query dal data storage e utilizza connettori per comunicare tra di loro. Questa funzionalità aggiuntiva offre agli ingegneri maggiore flessibilità rispetto ad altri strumenti nel modo in cui costruiscono soluzioni utilizzando Presto.

Mixture of Experts | 25 aprile, episodio 52

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come funziona Presto?

Presto utilizza un sistema di gestione del database MPP con un nodo coordinatore che funziona in tandem con altri nodi. Un ecosistema Presto è composto da tre tipi di server: un server coordinatore, un server di lavoro e un server Resource Manager.

Coordinatore: un coordinatore è considerato il cervello di un'installazione di Presto. È responsabile di alcune delle attività più critiche, tra cui l'analisi degli statement, la pianificazione delle query e la gestione dei nodi worker di Presto. In definitiva, è responsabile del recupero dei dati dai nodi worker e dell'invio dei risultati al client.

Worker: il worker è responsabile della raccolta dei dati dai nodi worker e di garantire il regolare scambio di dati tra se stesso e i connettori.

Resource manager: il resource manager raccoglie i dati provenienti da tutti i nodi coordinatore e di lavoro e crea una vista globale o un "cluster Presto".

Quando SQL Server del coordinatore Presto riceve una query SQL da un utente, la prima cosa che fa è utilizzare una query personalizzata per analizzare, pianificare e programmare un piano distribuito sugli altri nodi. L'API REST Presto viene utilizzata per inviare le istruzioni della query per l'esecuzione su un server e per recuperare i risultati per il client. Presto supporta i significati SQL ANSI standard, inclusi unione, query, sottoquery e aggregazioni. Una volta compilata la query, Presto analizza la richiesta nelle diverse fasi tra i nodi di lavoro.

Poiché Presto è stato creato in base al concetto di astrazione dei dati, è estensibile a qualsiasi origine dati e può facilmente interrogare origini dati come data lake, data warehouse e database relazionali. L'astrazione dei dati è un processo di programmazione che consente lo storage e la manipolazione dei dati in modo più efficiente separando la sua rappresentazione dallo storage fisico. Questa astrazione consente al motore di query di concentrarsi esclusivamente sugli aspetti dei dati pertinenti per la query. Utilizzando il processo di astrazione dei dati, i dati vengono interrogati ovunque siano memorizzati anziché dopo essere stati spostati in un altro sistema di analytics.

Breve storia di Presto

Inizialmente sviluppato da Facebook per eseguire query interattive su un enorme data warehouse Apache Hadoop, gli sviluppatori di Presto lo hanno sempre immaginato come un software open source e hanno cercato di renderlo gratuito per uso commerciale in modo che chiunque potesse utilizzarlo per l'analytics e la gestione dei dati. Nel 2013, è stato reso open source su GitHub affinché chiunque potesse scaricarlo con la licenza del software Apache. Nel 2019, tre dei membri originali del team di sviluppo di Presto hanno lasciato il progetto e hanno fondato un "fork" di Presto noto come Presto Software Foundation, o più comunemente, come prestosql.

Le fondazioni Linux e altre comunità open source offrono webinar e formazione su Presto in inglese e altre lingue per ingegneri e sviluppatori che desiderano ottenere la certificazione. Questi forum sono anche utili per scoprire le novità di Presto.

Casi d'uso di Presto

Presto consente alle organizzazioni di interrogare repository di dati su larga scala e database NoSQL in modo rapido ed efficiente per una varietà di scopi aziendali. Ecco alcuni dei suoi casi d'uso più comuni:

Query ad hoc

Presto consente un'esplorazione rapida dei dati e un reporting semplice per una diversa serie di scopi aziendali. Utilizzando i più diffusi connettori Presto, come Hive, MongoDB o Cassandra, gli utenti possono interrogare i dati a cui hanno interesse e ottenere risultati in pochi secondi. Grazie alla sua velocità e flessibilità, Presto consente agli utenti di iterare ed esplorare ulteriormente i set di dati, indipendentemente da dove risiedono.

Ecco alcuni dei repository di dati più utilizzati a cui Presto può connettersi:

  • BigQuery
  • HDFS
  • Storage cloud
  • Cloud SQL per MySQL
  • Apache Cassandra o Kafka
Distribuzioni cloud e cloud ibrido

Secondo una valutazione delle prestazioni del 2021 condotta da RedHat, il crescente utilizzo di ambienti hybrid cloud da parte delle imprese sta esercitando una maggiore pressione sullo storage cloud-native, per il quale Presto, "il motore di query distribuito più veloce oggi disponibile" è l'ideale. 1 Lo spostamento dei workload da un ambiente on-premise a un'infrastruttura cloud o di hybrid cloud presenta numerosi vantaggi, tra cui prestazioni e scalabilità migliorate. L'architettura di Presto lo rende una scelta vincente per tali implementazioni perché può essere avviato in pochi minuti senza ulteriori operazioni di provisioning, configurazione o di ottimizzazione.

Machine learning (ML)

Presto aiuta gli ingegneri a preparare i dati ed eseguire l'ingegnerizzazione e l'estrazione delle funzioni in un modo altamente efficiente che garantisce che siano pronti per l'apprendimento automatico (ML). Il numero di connettori, il motore SQL e le funzionalità di interrogazione lo rendono ideale per gli ingegneri che cercano un accesso rapido e semplice a grandi volumi di dati. Inoltre, Presto dispone di strumenti progettati appositamente per le funzioni di apprendimento automatico (ML), quali l'aggregazione, che consentono ai data scientist di addestrare i classificatori e i regressori di macchine vettoriali di supporto (SVM) per affrontare i problemi di apprendimento supervisionati.

Reportistica

Presto consente di interrogare i dati da più fonti generando un unico report o dashboard facilmente accessibile per scopi di BI. Presto è abbastanza semplice e facile da usare da consentire agli analisti di condurre query e creare report senza l'aiuto di ingegneri.

Analytics

Presto consente agli analisti di condurre query su dati strutturati e non strutturati direttamente su un data lake senza un processo di trasformazione dei dati.

Preparazione dati

Il processo di raccolta e preparazione dei dati può essere costoso e inefficiente. I data scientist possono passare ore e ore a raccogliere e preparare i dati prima ancora di poterli analizzare. Presto automatizza questo processo con velocità e precisione in modo che data scientist e ingegneri possano dedicare gran parte del loro tempo a compiti di maggior valore.

Soluzioni correlate
Software e soluzioni per database

Usa le soluzioni di database di IBM per soddisfare varie esigenze di workload nell'hybrid cloud.

Esplora le soluzioni di database
Database cloud-native con IBM Db2

Esplora IBM DB2, un database relazionale che offre prestazioni, scalabilità e affidabilità elevate per l'archiviazione e la gestione di dati strutturati. È disponibile come SaaS su IBM Cloud o in self-hosting.

Scopri Db2
Servizi di consulenza per dati e analytics

Sblocca il valore dei dati enterprise con IBM Consulting, creando un'organizzazione basata su insight in grado di generare vantaggi aziendali.

Esplora i servizi di analytics
Fasi successive

Usa le soluzioni di database di IBM per soddisfare varie esigenze di workload nel cloud ibrido.

Esplora le soluzioni di database Scopri IBM Db2
Note a piè di pagina