Wie Facebook SQL beschleunigt
(datanami.com)- Presto wird in großem Maßstab eingesetzt: 40.000 Server, täglich werden bis zu 1 Exabyte Daten gescannt, mehr als 80 % davon sind neue ETL-Workloads
→ Trennung von Compute und Storage
- Presto funktionierte gut, aber für schnellere Abfragen (unter 1 Sekunde) wurde Raptor entwickelt
→ Caching auf lokalen SSDs, Metastore auf Dateiebene
→ Dadurch wurden Compute und Storage wieder gekoppelt → Skalierung und Betrieb wurden schwieriger
- Seit letztem Herbst wird als Raptor-Ersatz eine modifizierte Alluxio-Variante entwickelt: Alluxio Local Cache
→ Ähnliche Performance wie Raptor, aber ohne die Notwendigkeit, auf lokale SSDs zu cachen
→ Alluxio ist ein virtuelles verteiltes Dateisystem, das als speicherbasierte Brücke mehrere Compute-Engines mit mehreren Storage-Systemen verbindet
- Alluxio Local Cache
→ Seit Version 2.2 Teil des offiziellen Releases
→ Eine Bibliothek, die sich direkt in die JVM des Presto-Servers einbetten lässt, ohne dass das komplette Alluxio benötigt wird
- Im gesamten Presto-Fleet von Facebook wird Raptor fast vollständig entfernt und Alluxio Local Cache installiert
→ Die Facebook-Daten liegen im ORC-Dateiformat vor und sind über die HDFS-Schnittstelle zugänglich
→ Lokale SSDs werden ebenfalls genutzt, aber wenn etwas nicht im Cache ist, kann auch auf Remote-Storage zugegriffen werden
→ Performance-Verbesserung von etwa 30 % bis 50 % für Presto
→ Im Vergleich zu Raptor wurden Zugriffe auf Remote-Storage um 57 % reduziert
→ Die Trefferquote des Alluxio-Cache liegt bei über 90 %
→ Raptor soll innerhalb von 6 Monaten vollständig entfernt werden
Noch keine Kommentare.