Die Yahoo-Kugel blickt in die streaming-Daten Abfragen

0
171

0

bullet-logo.png

Ein paar Monate zurück, wir die Frage gestellt, ob die Welt braucht ein weiteres streaming-engine. Jetzt werden wir erweitern, die Frage zu Abfragen. Praktisch jede streaming-Motor hat ein Weg zum senden von Abfragen – ansonsten, warum würden Sie brauchen eine streaming-engine? Obwohl streaming-Motoren bieten das Versprechen von frische Echtzeit-Daten, die hässliche Wahrheit ist, dass Sie cache-Daten zuerst. Das bedeutet, dass die meisten streaming-Abfrage-engines müssen schauen zurück auf Daten, die bereits erfasst wurden.

Als es verfolgt Benutzer engagement über seine Internet-Eigenschaften, Yahoo gesucht war ein leichter ist, Mittel für die Durchführung der ziemlich rudimentäre Abfragen, sind in der Regel an den Kopf geworfen, Daten in Bewegung, wie Zählungen, Mittelwerte, Reihen und Distributionen. Und angesichts des Verkehrsaufkommens, er suchte ein Mittel für die überprüfung der sensoren und Messgeräten, greift diese zählt. In der Tat, Validierung wurde der primäre Anwendungsfall für dieses neue Projekt.

Das Ergebnis ist die Kugel-Projekt, das Yahoo nur als open Source auf GitHub. Kugel ist hochgradig verteilten framework für cloud multi-tenant-Rechenzentren, die lassen Sie laufen “forward-looking” – Abfragen. Kugel-Abfragen act auf Daten, die durch das system fließt nach Absenden der Abfrage. In anderen Worten, die Abfrage von Daten, die ankommen, sondern als Daten, die bereits eingetroffen sind. Ungewöhnlich für ein open source Projekt, Kugel enthält auch eine visuelle Benutzeroberfläche, so dass Sie nicht notwendigerweise darauf beschränkt, command line oder third-party-tools. Und es hat auch eine REST-API für den programmatischen Zugriff.

Wie eine query-engine, die Kugel wurde entwickelt, um geringes Gewicht, hinzufügen von minimalen overhead, wie Sie Prozess-streams. Aber es gibt einige heavy lift beteiligt, dass die raw-Daten, formatiert als Avro-Dateien, müssen analysiert werden, in den Spalten können dann getroffen werden, die mit SQL-Abfragen, die über gleitende Zeitfenster.

Kugel Holen kann, einzelne Aufzeichnungen; Durchführung von Aggregationen wie group-bys, Summen, Zählungen, rankings und Durchschnittswerte. Und, für die Fälle, wo Sie möchten, Kalibrieren Sie die software-Instrumentierung, die es erzeugen kann, die Histogramme zeigen die Verteilungen der tatsächlichen Datenwerte. Und wenn die Flut der Daten ist zu groß für den verfügbaren Speicher, können Sie die Probe unter Verwendung der DataSketch Bibliothek, die Yahoo entwickelt. DataSketches bieten, die nächste Sache, die Beharrlichkeit in der Kugel, dass Sie cache-Ergebnisse (aber nicht die raw-Daten).

Als Yahoo erstellt Sturm, ist es nicht verwunderlich, dass die Kugel wurde optimiert für die engine. Aber auch das Lesen von Kafka oder Wildwasserbahn. Es würde wahrscheinlich nicht mehr viel Wert auf Suchmaschinen wie Spark Streaming, die begrenzt sind, um microbatching.

Während die Kugel heute beschränkt sich auf eine Handvoll von SQL-Abfragen auf live-time-windowed data, eines der nächsten features, die Hinzugefügt wird, ist die Fähigkeit, Strom inkrementelle Ergebnisse zu einer client-Anwendung über die REST-API.

Für jetzt, aber die Kugel ist früh-Technologie, erhältlich als open source über GitHub. Es gibt keinen Hersteller-support und es ist nicht Teil von jedem tool so, du bist auf eigene im Hinblick auf die Verwaltung und Integration. Kugel bewirbt sich in einer sehr belebten Landschaft der log-monitoring-engines wie Splunk, Logstash/Elasticsearch, und andere, die bieten in der Nähe von Echtzeit-Funktionen. Die Herausforderung für immer mindshare ist, beweist der Fall, dass zukunftsgerichtete Abfragen der Rand zu wissen, Ihre Kunden über die digitalen log-Datei Fußspuren, die Sie hinterlassen.

0