Big Data Processing ist einer der kritischen Aspekte dieses digitalen Zeitalters. Unternehmen verwenden mehr künstliche Intelligenz, maschinelles Lernen und Datenanalyse, die mehr Daten produzieren und sammeln. Daher ergibt sich 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 entwickelt wurde, um schnelle analytische Abfragen für Datensätze jeder Größe durchzuführen. Es wurde Ende 2020 in Trino umbenannt, um das Projekt von Prestodb zu trennen.
Presto hat den Vorteil, dass es Open-Source ist, was bedeutet, dass es regelmäßig aktualisiert wird und Entwickler häufig dazu beitragen.
Die Presto-Plattform funktioniert mit nicht relationale Datenquellen mögen:
- Amazon S3
- Hadoop
- HDFS
- MongoDB
- HBase
Und relationale Datenbanken mögen:
- 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 entwickelt und unterstützt die Standard-SQL-Semantik. Dazu gehören Unterabfragen, komplexe Abfragen, äußere Verknüpfungen, unterschiedliche Anzahlen und ungefähre Perzentile.
Auch die Ausführung von Abfragen ist schneller, da sie 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.
Lernen wie man Presto. bereitstellt und seine Architektur auf ihre Dokumentation.
Lesen Sie auch: Wie aktualisiere ich Gerätetreiber unter Windows 10? {Einfache Anleitung}
Schlüssel Konzepte
Die wichtigsten SQL-Konzepte sind allgemein bekannt. Um zu verstehen, wie Presto funktioniert, müssen wir zunächst die Kernkonzepte verstehen.
Servertypen
Presto verwendet zwei Servertypen: den Koordinator Server und der Arbeiter Server. Die Worker-Knoten verarbeiten die Abfragen und holen Daten von den Konnektoren. 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 fast jede Datenquelle erweiterbar.
Lesen Sie auch: So aktualisieren Sie Treiber unter Windows 10,8,7 – Aktualisieren Sie die Gerätetreiber
Wie verarbeitet Presto Anfragen?
Wenn presto eine Abfrage erhält, führt es diese aus, indem es sie in mehrere Stufen aufteilt. Normalerweise erstellt das System eine Root-Stufe und zugehörige Stufen. Die Stufen werden dann in Aufgaben auf die Worker-Knoten verteilt.
Vorteile der Verwendung von Presto
Presto wird bei großen Unternehmen wie Netflix, Facebook, Atlassian und Airbnb immer beliebter. Facebook verwendet beispielsweise Presto, um täglich ein Petabyte an Daten zu verarbeiten und über 30.000 Abfragen auszuführen.
Presto enthält zwei separate Open-Source-Projekte: PrestoSQL (jetzt Trino genannt) und PrestoDB. Es ist für eine Vielzahl von Anwendungsfällen in verschiedenen Arten von Data Lakes und Data Warehouses sehr beliebt. 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. Daher fügen Sie durch das Hinzufügen von Presto schnelle Analysefunktionen hinzu, ohne Ihr vorhandenes System optimieren zu müssen.
2. Schnellere Leistung
Einer der Gründe, warum Presto entwickelt wurde, 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, bei dem eine SQL-Abfrage gleichzeitig mit mehreren Stufen verarbeitet wird, d. h. alle Stufen werden gepipelinet, ohne zwischen den Stufen warten zu müssen.
Presto bietet auch 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 getrennt aus, wodurch es sich sehr gut für Cloud-Umgebungen eignet. Unternehmen, die PrestoSQL verwenden, können je nach Auslastung problemlos nach oben oder unten skalieren, ohne Datenverlust zu verursachen. Dies kann passieren, weil der Presto-Cluster keine Daten speichert.
4. Einheitliche SQL-Schnittstelle
SQL ist die beliebteste Sprache für die Datenanalyse. Datenwissenschaftler, 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 abfragen, sondern auch aus NoSQL-Datenbanken wie Elasticsearch und Cassandra. 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 Fensterfunktionen die 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 die unterschiedlichsten Anwendungsfälle eingesetzt. Es eignet sich besonders für Ad-hoc- und interaktive Abfragen. Lassen Sie uns einige häufige Anwendungsfälle untersuchen:
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-Analysen durch Abfragen strukturierter und unstrukturierter Daten zu stärken.
Ad-hoc-Abfragen
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 Presto verwenden, um ressourceneffiziente Abfragen auszufü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 ausführen müssen.