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.