Presto: Wie Facebook 300 Petabyte in Echtzeit analysiert

Facebook hat Presto als Open Source veröffentlicht, eine interaktive SQL-Engine für Hadoop, mit der sich große Datenmengen in kurzer Zeit analysieren lassen. Presto soll dabei zehnmal schneller sein als das Gespann aus Hive und Mapreduce.

Artikel veröffentlicht am ,
Nicht nur für Hadoop
Nicht nur für Hadoop (Bild: Presto)

Facebook speichert nach eigenen Angaben mehr als 300 Petabyte an Daten und nutzt diese für verschiedene Applikationen. Dabei greift Facebook auf unterschiedliche Ansätze zur Datenanalyse zurück, von der Batch-Verarbeitung, um Verknüpfungen zwischen Nutzern zu modellieren, bis zu maschinellem Lernen und interaktiven Analysen, die in Echtzeit ablaufen. Gerade Letzteres ist bei Daten in der Größenordnung von Facebook eine enorme Herausforderung, denn je schneller die Systeme auf die Abfragen der Analysten antworten, desto besser lassen sich die Daten auch untersuchen.

Inhalt:
  1. Presto: Wie Facebook 300 Petabyte in Echtzeit analysiert
  2. Nicht nur für Hadoop

Dazu hat Facebook ein Data-Warehouse aufgebaut, dessen Daten in einigen wenigen großen Hadoop-Clustern gespeichert sind und gewöhnlich mittels Mapreduce und Hive analysiert werden. Doch bei Datenmengen in Petabyte kommt dieser Ansatz an seine Grenzen, weshalb Facebook ein interaktives Analysesystem entwickelt hat, das für kurze Antwortzeiten optimiert ist: Presto.

Verteilte SQL-Query-Engine für Ad-hoc-Analysen

Bei Presto handelt es sich um eine verteilte SQL-Query-Engine, die für Ad-hoc-Analysen mit hoher Geschwindigkeit optimiert ist. Presto unterstützt Ansi SQL einschließlich komplexer Abfragen, Aggregationen, Joins und Fensterfunktionen. Dabei sendet der Client eine SQL-Abfrage an den Presto-Koordinator, der die Anfrage parst und analysiert und die Ausführung plant. Anschließend stellt ein Scheduler eine Ausführungspipeline zusammen, verteilt Aufgaben an die Nodes, die möglichst nah an den Daten liegen, und überwacht den Fortschritt. Der Client erhält dann Daten aus der Output-Stage, die wiederum von darunterliegenden Stages gefüllt wird.

Das Ausführungsmodell von Presto unterscheidet sich fundamental von Hive und Mapreduce: Hive übersetzt Abfragen in mehrere Stufen von Mapreduce-Tasks, die dann nacheinander ausgeführt werden. Dabei liest jede Task Daten von den Platten und schreibt Zwischenergebnisse zurück. Presto hingehen nutzt kein Mapreduce, sondern eine eigene Abfrage- und Ausführungsengine, die der SQL-Semantik folgt.

Stellenmarkt
  1. Softwareentwickler (gn)
    ESG InterOp Solutions GmbH, Wilhelmshaven
  2. DevOps Entwickler (m/w/d)
    ABUS Security Center GmbH & Co. KG, Affing (bei Augsburg)
Detailsuche

Um das Scheduling zu verbessern, werden alle Berechnungen im Speicher abgewickelt und zwischen verschiedenen Stages durchgereicht, um unnötiges I/O und die damit verbundenen Latenzen zu vermeiden. Dabei werden mehrere Stages parallel ausgeführt und Daten von einer Stage in die andere gestreamt, sobald sie zur Verfügung stehen. Das vermeidet Verzögerungen und sorgt für schnellere Antwortzeiten.

Umgesetzt wurde Presto in Java. Die Software kompiliert Teile des Query-Plans dynamisch in Byte-Code, aus dem die JavaVM optimierten nativen Maschinencode erzeugt.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Nicht nur für Hadoop 
  1. 1
  2. 2
  3.  


draftbreaker 12. Nov 2013

Übrigens http://en.wikipedia.org/wiki/Profile-guided_optimization Java ist schnell...

unveu 08. Nov 2013

Man muss ja die ganzen Researcher und Admins langsam umstellen, die kriegen ja nen Schock...



Aktuell auf der Startseite von Golem.de
Alterskontrolle und Netzsperren
Es geht um viel mehr als nur die Chatkontrolle

Neben der umstrittenen Chatkontrolle enthält der Gesetzentwurf der EU-Kommission auch Vorgaben zur Altersverifkation, Netzsperren und Appstores.
Eine Analyse von Moritz Tremmel und Friedhelm Greis

Alterskontrolle und Netzsperren: Es geht um viel mehr als nur die Chatkontrolle
Artikel
  1. Liberty Lifter: US-Militär lässt ein eigenes Ekranoplan entwickeln
    Liberty Lifter
    US-Militär lässt ein eigenes Ekranoplan entwickeln

    In den 1960er Jahren schockten die Sowjets den Westen mit dem Kaspischen Seemonster. Die Darpa will ein eigenes, besseres Bodeneffektfahrzeug bauen.

  2. Amazons E-Book-Reader: Alte Kindle-Modelle verlieren Buchkauf und -ausleihe
    Amazons E-Book-Reader
    Alte Kindle-Modelle verlieren Buchkauf und -ausleihe

    Amazon streicht in Kürze auf fünf älteren Kindle-Modellen alle Funktionen, die mit Amazons E-Book-Store zusammenhängen.

  3. Finanzierungsrunde: Faltbares Elektroauto City Transformer kann in Serie gehen
    Finanzierungsrunde
    Faltbares Elektroauto City Transformer kann in Serie gehen

    Der Kleinstwagen City Transformer verkleinert sich zum Parken automatisch. Eine erfolgreiche Finanzierungsrunde macht die Serienproduktion möglich.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Days of Play: (u. a. PS5-Controller (alle Farben) günstig wie nie: 49,99€, PS5-Headset Sony Pulse 3D günstig wie nie: 79,99€) • Viewsonic Gaming-Monitore günstiger • Mindstar (u. a. MSI RTX 3090 24GB 1.599€) • Xbox Series X bestellbar • Samsung SSD 1TB 79€ [Werbung]
    •  /