Was ist Presto?
Erkunden Sie IBM® watsonx.data
eine Hand, die Daten zwischen verschiedenen Standorten verschiebt, um die Datenbewegung zwischen Servern zu symbolisieren, wie es bei der Verwendung von Presto der Fall ist.

Presto oder Presto-Datenbank (PrestoDB) ist eine verteilte Open-Source-SQL-Query-Engine, die große Datensätze aus verschiedenen Datenquellen abfragen kann, sodass Unternehmen Datenprobleme im großen Maßstab lösen können. Es bietet Unternehmen jeder Größe eine schnelle und effiziente Möglichkeit zur Analyse von Big Data aus verschiedenen Quellen, einschließlich On-Premises-Systemen und der Cloud. Presto hilft Unternehmen außerdem dabei, Petabytes an Daten mithilfe ihrer aktuellen SQL-Funktionen abzufragen, ohne eine neue Sprache erlernen zu müssen.

Heute wird Presto am häufigsten zum Ausführen von Abfragen auf Hadoop und anderen gängigen Datenspeicheranbietern verwendet, sodass Benutzer mehrere Abfragesprachen und Schnittstellen zu Datenbanken und Speicher verwalten können. 

Im digitalen Zeitalter entwickelt sich Big Data Analytics schnell zu einer Kernkompetenz für Unternehmen, unabhängig von Größe oder Branche. Die Fähigkeit, große Datenmengen zu Geschäftsprozessen, Kundenpräferenzen und Markttrends zu sammeln, zu speichern und zu analysieren, ist äußerst wertvoll. Die Hauptbedeutung von Presto für die Datenanalyse liegt in der Fähigkeit, Daten zu analysieren, unabhängig davon, wo sie gespeichert sind, und ohne sie zunächst in ein strukturierteres System wie ein Data Warehouse oder einen Data Lake verschieben zu müssen.

Erfahren Sie, wie watsonx.data funktioniert

In dieser Click-Through-Demo erfahren Sie, wie Sie mit watsonx.data starten können, um sich mit Ihren externen Quellen zu verbinden, Daten aus mehreren Quellen abzufragen und vieles mehr.

Ähnliche Inhalte

IBM Newsletter abonnieren

Die Vorteile von Presto

Presto ist zu einem beliebten Tool für Data Scientists und Engineers geworden, die sich mit mehreren Abfragesprachen, isolierten Datenbanken und verschiedenen Speichertypen auseinandersetzen. Dank seiner leistungsstarken Funktionen können Benutzer mithilfe einer einfachen ANSI-SQL-Schnittstelle große Datenmengen in Echtzeit abfragen, unabhängig davon, wo sich die Daten befinden. Prestos Geschwindigkeit und Leistung bei der Ausführung von Abfragen für große Datenmengen haben es zu einem unverzichtbaren Tool für einige der größten Unternehmen der Welt gemacht, darunter Facebook, Airbnb, Netflix, Microsoft, Apple (iOS) und AWS (Athena und Amazon s3).

Die Presto-Architektur ist insofern einzigartig, als sie darauf ausgelegt ist, Daten abzufragen, unabhängig davon, wo die Daten gespeichert sind. Dadurch ist sie skalierbarer und effizienter als andere ähnliche Lösungen. Presto-Abfragen ermöglichen es Engineers, Daten zu nutzen, ohne sie physisch von Standort zu Standort verschieben zu müssen. Dies ist eine wichtige Fähigkeit, da Unternehmen mit einer ständig wachsenden Menge an Daten zu tun haben, die sie speichern und analysieren müssen.

Presto wurde entwickelt, um Data Scientists und Engineers die Möglichkeit zu geben, große Datenmengen unabhängig von der Quelle oder Art des Speichers interaktiv abzufragen. Da Presto keine Daten speichert, sondern für seine Abfragen mit einer separaten Datenbank kommuniziert, ist es flexibler als seine Konkurrenten und kann Abfragen je nach den sich ändernden Anforderungen des Unternehmens schnell nach oben oder unten skalieren. Laut einem Whitepaper von IBM kann Presto, optimiert für Business Intelligence (BI)-Workloads, Unternehmen dabei helfen, die Preise ihrer Data Warehouses zu optimieren und die Kosten um bis zu 50 Prozent zu senken. 

Hier sind einige der wichtigsten Vorteile für die Verwendung eines Presto-Workflows:

Geringere Kosten: Da die Größe von Data Warehouses und die Anzahl der Benutzer, die Abfragen durchführen, wachsen, ist es für Unternehmen nicht ungewöhnlich, dass ihre Kosten schnell steigen. Presto ist jedoch für große Mengen kleiner Abfragen optimiert, so dass sich jede beliebige Datenmenge leicht abfragen lässt und gleichzeitig die Kosten niedrig bleiben. Da es sich bei Presto um eine Open-Source-Lösung handelt, fallen für die Bereitstellung außerdem keine Gebühren an, was für Unternehmen, die große Datenmengen verarbeiten möchten, zu erheblichen Einsparungen führen kann.

Erhöhte Skalierbarkeit: Es ist üblich, dass Engineers mehrere Engines und Sprachen auf einem einzigen Data-Lake-Speichersystem einrichten, was dazu führen kann, dass in Zukunft eine neue Plattform erforderlich ist und die Skalierbarkeit der Lösung eingeschränkt wird. Mit Presto werden alle Abfragen mit der universellen ANSI-SQL-Sprache und -Schnittstelle durchgeführt, so dass eine Neuplattformierung überflüssig wird. Außerdem kann Presto sowohl für kleine als auch für große Datenmengen verwendet werden und lässt sich leicht von einem oder zwei Benutzern auf Tausende aufstocken. Presto setzt mehrere Compute Engines mit einzigartigen SQL-Dialekten und APIs ein und ist damit ein ideales Tool für die Skalierung von Workloads, die für Teams von Engineers und Data Scientists zu komplex und zeitaufwändig sein könnten.

Bessere Leistung: Während viele Query-Engines, die SQL auf Hadoop ausführen, in ihrer Rechenleistung eingeschränkt sind, weil sie darauf ausgelegt sind, ihre Ergebnisse auf die Festplatte zu schreiben, ermöglicht das verteilte In-Memory-Modell von Presto die gleichzeitige Ausführung großer Mengen interaktiver Abfragen auf großen Datensätzen. Nach einem klassischen MPP-Design (Massive Parallel Processing) plant Presto so viele Abfragen wie möglich auf einem einzigen Arbeitsknoten und verwendet In-Memory-Streaming-Shuffle, um die Verarbeitungsgeschwindigkeit noch weiter zu erhöhen. Die speicherinterne Ausführung von Aufgaben macht das Schreiben und Lesen von der Festplatte zwischen den einzelnen Phasen überflüssig und verkürzt die Zeit jeder Abfrageausführung, wodurch Presto eine geringere Latenzzeit aufweist als seine Konkurrenten.

Verbesserte Flexibilität: Presto verwendet ein Plug-and-Play-Modell für alle seine Datenquellen, einschließlich Cassandra, Kafka, MySQL, Hadoop Distributed File System (HDFS), PostgreSQL und andere, wodurch die Abfrage über diese Quellen schneller und einfacher erfolgt als mit anderen vergleichbaren Tools, denen diese Funktionalität fehlt. Dank der flexiblen Architektur ist Presto außerdem nicht auf einen einzelnen Anbieter beschränkt, sondern läuft auf den meisten Hadoop-Distributionen, was es zu einem der portabelsten verfügbaren Tools macht.

Presto ist zwar nicht die einzige SQL-on-Hadoop-Option, die Entwicklern und Data Engineers zur Verfügung steht, aber seine einzigartige Architektur, die die Abfragefunktionalität von der Datenspeicherung trennt, macht es zu einer der flexibelsten. Im Gegensatz zu anderen Tools trennt Presto die Query-Engine von der Datenspeicherung und verwendet Konnektoren für die Kommunikation zwischen beiden. Diese zusätzliche Funktionalität bietet Engineers mehr Flexibilität als andere Tools bei der Erstellung von Lösungen mit Presto.

Wie funktioniert Presto?

Presto verwendet ein MPP-Datenbankverwaltungssystem mit einem Koordinatorknoten, der mit anderen Knoten zusammenarbeitet. Ein Presto-Ökosystem besteht aus drei Servertypen, einem Koordinator-Server, einem Worker-Server und einem Resource Manager-Server.

Koordinator: Ein Koordinator gilt als „Gehirn“ einer Presto-Installation. Sie ist für einige der wichtigsten Aufgaben zuständig, darunter das Parsen von Anweisungen, die Planung von Abfragen und die Verwaltung von Presto-Arbeitsknoten. Letztendlich ist es dafür verantwortlich, Daten von den Worker-Knoten abzurufen und die Ergebnisse an den Client zu liefern.

Worker: Der Worker ist dafür verantwortlich, Daten von den Workerknoten zu sammeln und den reibungslosen Datenaustausch zwischen ihm und den Konnektoren sicherzustellen.

Resource Manager: Der Resource Manager sammelt Daten von allen Koordinator- und Worker-Knoten und erstellt eine globale Ansicht oder ein „Presto-Cluster“. 

Wenn der Presto-Koordinator-SQL-Server eine SQL-Query von einem Benutzer empfängt, verwendet er zunächst eine benutzerdefinierte Abfrage, um einen verteilten Plan für die anderen Knoten zu analysieren, zu planen und zu planen. Die Presto-Rest-API wird verwendet, um Abfrageanweisungen zur Ausführung auf einem Server einzureichen und die Ergebnisse für den Client abzurufen. Presto unterstützt standardmäßige ANSI-SQL-Bedeutungen, einschließlich Joins, Abfragen, Unterabfragen und Aggregationen. Sobald es die Abfrage kompiliert hat, analysiert Presto die Anfrage in verschiedene Phasen zwischen den Worker-Knoten.

Da Presto auf dem Konzept der Datenabstraktion basiert, ist es für jede Datenquelle erweiterbar und kann Datenquellen wie Data Lakes, Data Warehouses und relationale Datenbanken einfach abfragen. Bei der Datenabstraktion handelt es sich um einen Programmierprozess, der es ermöglicht, Daten effizienter zu speichern und zu bearbeiten, indem ihre Darstellung von ihrer physischen Speicherung getrennt wird. Mit dieser Abstraktion kann sich die Abfrage-Engine ausschließlich auf die Aspekte der Daten konzentrieren, die für ihre Abfrage relevant sind. Durch den Prozess der Datenabstraktion werden die Daten dort abgefragt, wo sie gespeichert sind, und nicht erst, wenn sie in ein anderes Analysesystem verschoben wurden.

Ein kurzer Überblick über Presto

Ursprünglich wurde Presto bei Facebook entwickelt, um interaktive Abfragen in einem riesigen Apache Hadoop Data Warehouse auszuführen. Die Entwickler von Presto sahen es immer als Open-Source-Software vor und wollten es für die kommerzielle Nutzung freigeben, damit jeder es für Datenanalysen und Datenverwaltung nutzen kann. Im Jahr 2013 wurde es als Open-Source-Version auf GitHub bereitgestellt, sodass jeder es unter der Apache-Softwarelizenz herunterladen konnte. Im Jahr 2019 verließen drei der ursprünglichen Mitglieder des Presto-Entwicklungsteams das Projekt und gründeten einen „Fork“ von Presto, bekannt als Presto Software Foundation, oder besser bekannt als prestosql.

Die Linux Foundation und andere Open-Source-Communities bieten Engineers und Entwicklern, die eine Zertifizierung anstreben, Webinare und Schulungen zu Presto in Englisch und anderen Sprachen an. Diese Foren sind auch ein guter Ort, um herauszufinden, was es in Presto Neues gibt.

Anwendungsfälle für Presto 

Mit Presto können Unternehmen große Daten-Repositorys und NoSQL-Datenbanken schnell und effizient für eine Vielzahl von Geschäftszwecken abfragen. Hier sind einige der häufigsten Anwendungsfälle:

Ad-hoc-Abfragen

Presto ermöglicht eine schnelle Datenexploration und unkomplizierte Berichterstellung für eine Vielzahl von Geschäftszwecken. Mit beliebten Presto-Konnektoren wie Hive, MongoDB oder Cassandra können Benutzer Daten abfragen, die sie interessieren, und in Sekundenschnelle Ergebnisse erzielen. Dank seiner Schnelligkeit und Flexibilität ermöglicht Presto den Nutzern die Iteration und weitere Untersuchung von Datensätzen, unabhängig davon, wo sie sich befinden.

Hier sind einige der am häufigsten verwendeten Daten-Repositorys, zu denen Presto eine Verbindung herstellen kann:

  • BigQuery
  • HDFS
  • Cloudspeicher
  • Cloud-SQL für MySQL
  • Apache Cassandra oder Kafka
Cloud- und Hybrid-Cloud-Bereitstellungen

Laut einer Leistungsbewertung von RedHat aus dem Jahr 2021 erhöht die zunehmende Nutzung von Hybrid-Cloud-Umgebungen durch Unternehmen den Druck auf cloudnativen Speicher, für den Presto, „die schnellste heute verfügbare verteilte Query-Engine“, ideal ist. 1 Die Verlagerung von Workloads aus einer lokalen Umgebung in eine Cloud- oder Hybrid-Cloud-Infrastruktur bietet viele Vorteile, darunter eine höhere Leistung und Skalierbarkeit. Die Architektur von Presto macht es zu einer guten Wahl für solche Bereitstellungen, da es in wenigen Minuten ohne zusätzliche Bereitstellung, Konfiguration oder Abstimmung gestartet werden kann. 

Maschinelles Lernen (ML)

Presto hilft Engineers bei der Aufbereitung von Daten und der Durchführung von Feature-Engineering und -Extraktion in einer hocheffizienten Weise, die sicherstellt, dass die Daten für maschinelles Lernen (ML) bereit sind. Aufgrund seiner zahlreichen Konnektoren, der SQL-Engine und der Abfragefunktionen ist es ideal für Engineers, die einen schnellen und einfachen Zugriff auf große Datenmengen wollen. Darüber hinaus verfügt Presto über Tools, die speziell für ML-Funktionen wie Aggregation entwickelt wurden und es Data Scientists ermöglichen, Support Vector Machine (SVM)-Klassifikatoren und Regressoren zu trainieren, um Probleme des überwachten Lernens zu lösen.

Berichterstellung

Presto ermöglicht die Abfrage von Daten aus mehreren Quellen und generiert so einen einzigen, leicht zugänglichen Bericht oder Dashboard für BI-Zwecke. Presto ist so einfach und benutzerfreundlich, dass Analysten ohne die Hilfe von Engineers Abfragen durchführen und Berichte erstellen können.

Analysen

Presto ermöglicht es Analysten, Abfragen sowohl für strukturierte als auch für unstrukturierte Daten direkt in einem Data Lake durchzuführen, ohne einen Datenkonvertierungsprozess durchlaufen zu müssen.

Datenaufbereitung

Der Prozess der Datenerfassung und -aufbereitung kann kostspielig und ineffizient sein. Data Scientists können jeden Tag Stunden damit verbringen, Daten zu sammeln und aufzubereiten, bevor sie überhaupt analysiert werden können. Presto automatisiert diesen Prozess mit Geschwindigkeit und Genauigkeit, damit sich Data Scientists und Engineers stärker auf höherwertige Aufgaben konzentrieren können.  

NVMe Lösungen
Daten und KI IBM® watsonx.data

Presto ist Open Source und kann manuell installiert werden. Sie können Presto auch mit einer Data Lakehouse-Lösung wie IBM® watsonx.data für eine schnellere Skalierung Ihrer KI-Workloads verwenden. IBM® watsonx.data ist ein zweckmäßiger Datenspeicher, der auf einer offenen Lakehouse-Architektur basiert und durch Abfragen, Governance und offene Datenformate unterstützt wird, um den Zugriff auf Daten und deren gemeinsame Nutzung zu erleichtern.

Weitere Informationen über IBM® watsonx.data

Zugehörige Ressourcen Presto: Verstehen Sie alle Ihre Daten, jede Größe, überall

Erfahren Sie, wie Presto, eine schnelle und flexible Open-Source-SQL-Query-Engine, dabei helfen kann, die Erkenntnisse zu liefern, die Unternehmen benötigen.

IBM unterstützt Unternehmen bei der Skalierung von KI-Workloads

Erfahren Sie mehr über IBM® watsonx.data, einen Datenspeicher, mit dem Unternehmen ihre strukturierten und unstrukturierten Daten problemlos vereinheitlichen und verwalten können.

Das disruptive Potenzial von Open Data Lakehouse Architekturen und IBM® watsonx.data

Entdecken Sie die Open Data Lakehouse-Architektur und erfahren Sie, wie sie die Flexibilität und die Kostenvorteile von Data Lakes mit der Leistung von Data Warehouses kombiniert.

IBM® watsonx.data Ein offener, regulierter Hybrid-Datenspeicher

Erfahren Sie, wie IBM® watsonx.data Unternehmen dabei unterstützt, die Herausforderungen der komplexen Datenlandschaft von heute zu meistern und KI an ihre Bedürfnisse anzupassen.

Machen Sie den nächsten Schritt

Erhalten Sie die Erkenntnisse, die Sie benötigen, mit Presto, einer schnellen und flexiblen Open-Source-SQL-Query-Engine, und IBM® watsonx.data, einem offenen, hybriden, verwalteten Datenspeicher zur Skalierung von KI-Workloads für alle Ihre Daten, überall.

Entdecken Sie IBM® watsonx.data
Fußnoten

1 Leistungscharakterisierung im externen Modus für Datenbanken und Analysen, (Link befindet sich außerhalb von ibm.com) Red Hat, 18. Januar 2021