Abo
  • Services:
Anzeige
Nicht nur für Hadoop
Nicht nur für Hadoop (Bild: Presto)

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.

Anzeige

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.

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.

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.

Nicht nur für Hadoop 

eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. Bertrandt Services GmbH, Koblenz
  2. Panasonic Industrial Devices Europe GmbH, Lüneburg
  3. Werner Sobek Group GmbH, Stuttgart
  4. Landeshauptstadt Wiesbaden, Wiesbaden


Anzeige
Blu-ray-Angebote
  1. (u. a. John Wick, The Hateful 8, Die Bestimmung, Fifty Shades of Grey, London Has Fallen)
  2. 65,00€
  3. (u. a. Unter dem Sand, The Neon Demon, Union Pacific)

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Data Governance Framework für effektive Datenwertschöpfung
  2. Leitfaden für den gezielten Einsatz von SAP HANA
  3. Effektive und zukunftsorientierte Analytics ohne Kompromisse


  1. Mobilfunkausrüster

    Welche Frequenzen für 5G in Deutschland diskutiert werden

  2. XMPP

    Bundesnetzagentur will hundert Jabber-Clients regulieren

  3. Synlight

    Wie der Wasserstoff aus dem Sonnenlicht kommen soll

  4. Pietsmiet

    "Alle Twitch-Kanäle sind kostenpflichtiger Rundfunk"

  5. Apache-Lizenz 2.0

    OpenSSL plant Lizenzwechsel an der Community vorbei

  6. 3DMark

    Overhead-Test ersetzt Mantle durch Vulkan

  7. Tastatur-App

    Nutzer ärgern sich über Verschlimmbesserungen bei Swiftkey

  8. Kurznachrichten

    Twitter erwägt Abomodell mit Zusatzfunktionen

  9. FTTH

    M-net-Glasfaserkunden nutzen 120 GByte pro Monat

  10. Smartphone

    Google behebt Bluetooth-Problem beim Pixel



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Videostreaming im Zug: Maxdome umwirbt Bahnfahrer bei Tempo 230
Videostreaming im Zug
Maxdome umwirbt Bahnfahrer bei Tempo 230
  1. USA Google will Kabelfernsehen über Youtube streamen
  2. Verband DVD-Verleih in Deutschland geht wegen Netflix zurück
  3. Nintendo Vorerst keine Videostreaming-Apps auf Switch

Buch - Apple intern: "Die behandeln uns wie Sklaven"
Buch - Apple intern
"Die behandeln uns wie Sklaven"
  1. Übernahme Apple kauft iOS-Automatisierungs-Tool Workflow
  2. Instandsetzung Apple macht iPhone-Reparaturen teurer
  3. Earbuds mit Sensor Apple beantragt Patent auf biometrische Kopfhörer

D-Wave: Quantencomputer oder Computer mit Quanteneffekten?
D-Wave
Quantencomputer oder Computer mit Quanteneffekten?
  1. IBM Q Qubits as a Service
  2. Rechentechnik Ein Bauplan für einen Quantencomputer

  1. Re: upsss...der sieht aber sehr sehr schlecht aus...

    Cologne_Muc | 02:09

  2. Re: "Ein Träumchen!"

    Ach | 02:09

  3. Re: Sonnenstudio

    Cok3.Zer0 | 01:59

  4. Re: FTTH != FTTH (?)

    sneaker | 01:56

  5. Re: Inhaltlicher Fehler: Es betrifft ALLE Streams...

    tingelchen | 01:54


  1. 17:45

  2. 17:32

  3. 17:11

  4. 16:53

  5. 16:38

  6. 16:24

  7. 16:09

  8. 15:54


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel