Presto SQL, jetzt Trino, bringt die Leistungsfähigkeit der Big-Data-Analytics-Abfrage-Engines in Data Lakes
Veröffentlicht: 2021-05-27Die Verarbeitung von Big Data ist einer der kritischen Aspekte dieses digitalen Zeitalters. Unternehmen nutzen mehr künstliche Intelligenz, maschinelles Lernen und Datenanalysen, die mehr Daten produzieren und sammeln. Daher entstehen riesige Datenmengen, die effizient abgefragt und analysiert werden müssen.
Hier können Cloud Computing und Presto helfen.
Was ist Presto?
Gemäß Amazon AWS-Definition: Presto ist eine verteilte SQL-Abfrage-Engine, die erstellt wurde, um schnelle analytische Abfragen für Datensätze beliebiger Größe durchzuführen. Es wurde Ende 2020 in Trino umbenannt, um das Projekt von Prestodb zu trennen.
Presto hat den Vorteil, Open Source zu sein, was bedeutet, dass es regelmäßig aktualisiert wird und Entwickler häufig dazu beitragen.
Die Presto -Plattform arbeitet mit nicht relationalen Datenquellen wie:
- Amazon S3
- Hadoop
- HDFS
- MongoDB
- HBase
Und relationale Datenbanken wie:
- Mein Platz
- PostgresSQL und
- MS SQL-Server
Mit Presto können Sie Daten überall dort abfragen, wo sie gespeichert sind. Das bedeutet, dass Sie die Daten nicht in eine relationale Datenbank oder ein Data Warehouse übertragen müssen. Presto wurde für SQL erstellt und unterstützt die Standard-SQL-Semantik. Dazu gehören Unterabfragen, komplexe Abfragen, Outer Joins, Distinct Counts und ungefähre Perzentile.
Auch das Ausführen von Abfragen ist schneller, da es parallel zu einer speicherbasierten Architektur läuft. Daher müssen Sie sich keine Gedanken mehr darüber machen, wie lange es dauern könnte, eine riesige Datenbank abzufragen. Die Ergebnisse kommen in Sekunden zurück.
Erfahren Sie in der Dokumentation, wie Sie Presto und seine Architektur bereitstellen.
Lesen Sie auch: Wie aktualisiere ich Gerätetreiber unter Windows 10? {Einfache Anleitung}
Schlüssel Konzepte
Schlüsselkonzepte von SQL sind weithin bekannt. Um zu verstehen, wie Presto funktioniert, müssen wir zunächst seine Kernkonzepte verstehen.
Servertypen
Presto verwendet zwei Servertypen: den Koordinator -Server und den Worker -Server. Die Worker-Knoten verarbeiten die Abfragen und rufen Daten von den Konnektoren ab. Der Koordinator holt die Ergebnisse ab und sendet sie an den Auftraggeber. Koordinatorserver parsen auch Anweisungen und verwalten Knoten.
Es funktioniert ähnlich wie Massive Parallel Processing-Datenbankverwaltungssysteme.
Bildquelle: tutorialspoint
Presto verwendet Konnektoren, um eine Verbindung zwischen dem verteilten System und der Quelle herzustellen, beispielsweise Amazon S3. Die zahlreichen Konnektoren von Presto zu relationalen und nicht relationalen Quellen machen das System auf nahezu jede Datenquelle erweiterbar.

Lesen Sie auch: So aktualisieren Sie Treiber unter Windows 10,8,7 – Aktualisieren Sie Gerätetreiber
Wie verarbeitet Presto Anfragen?
Wenn presto eine Abfrage erhält, führt es sie aus, indem es sie in mehrere Phasen aufteilt. Typischerweise erstellt das System eine Wurzelstufe und zugehörige Stufen. Die Phasen werden dann in Tasks über die Worker-Knoten verteilt.
Vorteile der Verwendung von Presto
Presto wird bei großen Unternehmen wie Netflix, Facebook, Atlassian und Airbnb immer beliebter. Beispielsweise verwendet Facebook Presto, um täglich ein Petabyte an Daten zu verarbeiten und über 30.000 Abfragen auszuführen.
Presto umfasst zwei separate Open-Source-Projekte: PrestoSQL (jetzt Trino genannt) und PrestoDB. Es ist sehr beliebt für eine Vielzahl von Anwendungsfällen über verschiedene Arten von Data Lakes und Data Warehouses hinweg. Schauen wir uns einige der Vorteile an, die Presto so beliebt machen.
1. Einfache Integration
Einer der Hauptvorteile von Presto besteht darin, dass es sich ohne Änderungen in Ihr vorhandenes Datensystem integrieren lässt. Durch Hinzufügen von Presto fügen Sie daher schnelle Analysefunktionen hinzu, ohne Ihr vorhandenes System optimieren zu müssen.
2. Schnellere Leistung
Einer der Gründe für die Entwicklung von Presto war, dass der vorhandene Apache Hive bei interaktiven Abfragen nicht gut funktionierte. Presto wurde entwickelt, um interaktive BI-Abfragen zu verarbeiten. Außerdem folgt es dem Push-Modell und verarbeitet eine SQL-Abfrage unter Verwendung mehrerer Stufen gleichzeitig, was bedeutet, dass alle Stufen in einer Pipeline verarbeitet werden, ohne zwischen den Stufen zu warten.
Presto verfügt außerdem über eine Speicher-zu-Speicher-Datenübertragung, ohne dass Daten auf die Festplatte geschrieben werden müssen, was die Leistung verbessert.
3. Entwickelt für die Cloud
Presto führt Speicher und Berechnungen separat aus, wodurch es sich sehr gut für Cloud-Umgebungen eignet. Unternehmen, die PrestoSQL verwenden, können je nach Auslastung problemlos hoch- oder herunterskalieren, ohne dass es zu Datenverlusten kommt. Dies kann passieren, weil der Presto-Cluster keine Daten speichert.
4. Einheitliche SQL-Schnittstelle
SQL ist die beliebteste Sprache für die Datenanalyse. Data Scientists, Analysten und Ingenieure verwenden SQL zum Verarbeiten, Analysieren und Testen von Daten und integrieren sie in Business-Intelligence-Tools.
Presto kann nicht nur Daten aus SQL-Quellen, sondern auch aus NoSQL-Datenbanken wie Elasticsearch und Cassandra abfragen. Es unterstützt ANSI-SQL- und Postgres-Konnektivität. Dies verleiht Presto eine Vielseitigkeit, die andere verteilte Systeme nicht haben.
Die Schnittstelle ist ideal für mittelgroße Daten, da sie die gleichen Windows-Funktionen wie PostgreSQL hat.
Lesen Sie auch: So aktualisieren Sie Grafiktreiber in Windows 10 {Einfache Anleitung}
Wofür können Sie Presto verwenden?
Presto wird branchenübergreifend für eine Vielzahl von Anwendungsfällen eingesetzt. Es eignet sich besonders für Ad-hoc- und interaktive Abfragen. Sehen wir uns einige gängige Anwendungsfälle an:
Data-Lake-Analyse
Sie können PrestoSQL verwenden, um Daten in einem Data Lake abzufragen, ohne die Daten transformieren zu müssen. Mit Presto können Sie Daten dort abfragen, wo sie sich befinden. Daher können Sie es verwenden, um Ihre Data Lake Analytics zu stärken, indem Sie strukturierte und unstrukturierte Daten abfragen.
Ad-hoc-Abfrage
Mit Presto können Sie jederzeit Abfragen ausführen, unabhängig davon, wo sich Ihre Daten befinden. Noch besser: Mit Presto-Konnektoren können Ihre Teams auf Datensätze in einer Vielzahl von Datenquellen zugreifen, und da Abfragen in Sekunden statt in Stunden ausgeführt werden, arbeitet Ihr System schneller.
Batch-ETL
Anstatt veraltete Stapelverarbeitungssysteme zu verwenden, können Sie mit Presto ressourceneffiziente Abfragen ausführen. Sie können Daten aus mehreren Datenquellen aggregieren und Abfragen mit hohem Durchsatz durchführen.
Zusammenfassend bietet Presto mehrere Vorteile für Unternehmen, die große Datenmengen verarbeiten, interaktive Ad-hoc-Abfragen durchführen und Analysen aus unterschiedlichen Datenquellen durchführen müssen.