Presto hat sich als beliebtes Tool für Data Scientists und Entwicklungsteams etabliert, die mit mehreren Abfragesprachen, isolierten Datenbanken und verschiedenen Speichertypen arbeiten. Durch die leistungsstarken Funktionen können mithilfe einer einfachen ANSI-SQL-Schnittstelle große Datenmengen in Echtzeit abgefragt werden, ganz egal, wo die Daten gespeichert sind. Prestos Geschwindigkeit und Leistung beim Abfragen großer 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 einzigartig, da Daten unabhängig von ihrem Speicherort abgefragt werden können. Dadurch ist sie skalierbarer und effizienter als andere ähnliche Lösungen. Mit Presto-Abfragen können Daten genutzt werden, ohne sie zuvor an einen anderen Speicherort verschieben zu müssen. Dies ist ein wichtiger Aspekt, da die Menge an zu speichernden und zu analysierenden Daten ständig zunimmt.
Presto wurde entwickelt, damit Data Scientists und Entwicklungsteams große Datenmengen unabhängig von der Quelle oder Art des Speichers interaktiv abfragen können. Presto selbst speichert keine Daten, sondern kommuniziert bei seinen Abfragen mit einer separaten Datenbank. Dadurch ist es flexibler als die Konkurrenz und kann Abfragen gemäß den sich ändernden Anforderungen des Unternehmens schnell erhöhen oder zurückschrauben. Laut einem Whitepaper von IBM kann Presto, optimiert für Business Intelligence (BI)-Workloads, die Preise für Data Warehouses optimieren und die Kosten um bis zu 50 Prozent senken.
Hier sind einige der wichtigsten Vorteile für die Verwendung eines Presto-Workflows:
Kostengünstiger: Da Data Warehouses immer größer werden und immer mehr Benutzer Abfragen durchführen, können die Kosten in kurzer Zeit rasant steigen. Presto ist jedoch für große Mengen kleiner Abfragen optimiert. Es lässt sich also jede beliebige Datenmenge unkompliziert abfragen, ohne die Kosten in die Höhe zu treiben. Da Presto eine Open-Source-Lösung ist, ist die Bereitstellung gebührenfrei, was bei der Verarbeitung großer Datenmengen erhebliche Einsparungen bedeuten kann.
Erhöhte Skalierbarkeit:Es kommt häufig vor, dass Ingenieure mehrere Engines und Sprachen auf einem einzigen Data-Lake-Speichersystem einrichten, was zu einem späteren Zeitpunkt eine neue Plattform erforderlich machen und die Skalierbarkeit ihrer Lösung einschränken kann. Bei Presto werden alle Abfragen über die universelle ANSI-SQL-Sprache und -Schnittstelle durchgeführt, so dass keine neue Plattform nötig ist. Außerdem funktioniert Presto mit kleinen Datenmengen ebenso gut wie mit großen und lässt sich leicht von einem oder zwei Benutzern auf Tausende aufstocken. Presto stellt mehrere Verarbeitungs-Engines mit eigenen SQL-Dialekten und APIs bereit. Das macht es zum idealen Tool zur Skalierung von Workloads, die für Teams aus Ingenieuren und Data Scientists zu komplex und zeitaufwändig sein könnten.
Leistungsstärker: Viele Abfrage-Engines, die SQL auf Hadoop ausführen, können ihre Verarbeitungsleistung nur eingeschränkt nutzen, weil sie ihre Ergebnisse auf die Festplatte schreiben. Im Gegensatz dazu ermöglicht das dezentrale In-Memory-Modell von Presto die gleichzeitige Ausführung großer Mengen interaktiver Abfragen an großen Datensätzen. Nach einem klassischen MPP-Aufbau (Massive Parallel Processing) terminiert Presto möglichst viele Abfragen auf einem einzigen Arbeitsknoten und verwendet In-Memory-Streaming-Shuffle, um die Verarbeitungsgeschwindigkeit noch weiter zu erhöhen. Durch die speicherinterne Ausführung von Tasks wird das Schreiben und Lesen von der Festplatte zwischen den einzelnen Phasen überflüssig und die einzelnen Abfragen werden schneller. Daher hat Presto eine geringere Latenzzeit als die Konkurrenz.
Flexibler: Presto arbeitet bei allen seinen Datenquellen, einschließlich Cassandra, Kafka, MySQL, Hadoop Distributed File System (HDFS), PostgreSQL und andere, mit einem Plug-and-Play-Modell. Das beschleunigt und vereinfacht die Abfragen im Vergleich zu anderen Tools ohne diese Funktionalität. Außerdem ist Presto durch seine flexible Architektur nicht auf einen einzelnen Anbieter beschränkt, sondern kann auf den meisten Hadoop-Distributionen ausgeführt werden – weshalb es eines der portabelsten Tools ist.
Presto ist zwar nicht die einzige SQL-on-Hadoop-Option für Entwicklungsteams und Data Scientists, aber durch seine einzigartige Architektur, die die Abfragefunktionalität von der Datenspeicherung trennt, eines der flexibelsten. Im Gegensatz zu anderen Tools isoliert Presto die Abfrage-Engine von der Datenspeicherung und kommuniziert mit ihnen über Konnektoren. Diese zusätzliche Funktionalität bietet bei der Erstellung von Lösungen mit Presto mehr Flexibilität als andere Tools.