Inkrementelles Verarbeiten wie im Google-Suchindex

So nutzen Sie Apache Fluo mit Accumulo

| Autor / Redakteur: Thomas Joos / Nico Litzel

Apache Fluo bietet eine inkrementelle Bereitstellung von Daten. Dadurch geht die Verarbeitung wesentlich schneller und das Netzwerk sowie die Server werden entlastet.
Apache Fluo bietet eine inkrementelle Bereitstellung von Daten. Dadurch geht die Verarbeitung wesentlich schneller und das Netzwerk sowie die Server werden entlastet. (Bild: The Apache Software Foundation)

Mit Apache Fluo nutzen Anwendungen Daten, die mit der NoSQL-(Key/Value)-Datenbank Accumulo gespeichert wurden. In Zusammenarbeit mit Hadoop und Zookeeper stellt Fluo/Accumulo eine wertvolle Hilfe dar, um Daten schneller zu verarbeiten.

Liegen neue und aktuelle Daten vor, kann Apache Fluo diese aus Apache Accumulo auslesen und für Berichte oder andere Zwecke zur Verfügung stellen, ohne dass alle bereits verarbeiteten Daten erneut verarbeitet werden müssen. Fluo ist eine Open-Source-Implementation von Percolator [PDF], einer Technik, mit der Google seinen Suchindex aktualisiert.

Entwickelt wurde die Datenbank Accumulo maßgeblich von der NSA. Accumulo ist vor allem beim Einsatz von Hadoop weit verbreitet. Im Gegensatz zu Google BigTable unterstützt Accumulo eine zellenbasierte Zugriffskontrolle, bietet also mehr Sicherheit und die Möglichkeit, Rechte zu delegieren. Diese Technik wird auch von Fluo unterstützt.

Durch die inkrementelle Bereitstellung von Daten durch Fluo geht die Verarbeitung wesentlich schneller und das Netzwerk sowie die Server werden dabei entlastet. Komplexe Analysen und Berechnungen lassen sich dadurch auch mit sehr viel geringerer Latenz durchführen. Dazu ist Apache Fluo zu einem Top-Level-Projekt bei Apache aufgestiegen. Das bedeutet in Zukunft, dass die Lösung in noch mehr Umgebungen eingesetzt wird.

Mit der Technik von Google Daten aktualisieren

Basis von Apache Fluo ist Percolator, mit dem zum Beispiel der Suchindex von Google aufgebaut wird. Das geht mit der inkrementellen Verarbeitung deutlich schneller, als mit MapReduce-Jobs. Das heißt, es müssen in einer Big-Data-Umgebung nur neue Daten verarbeitet werden, die in der NoSQL-Datenbank gespeichert werden. Die bereits verarbeiteten Daten überspringt Fluo automatisch.

Google nutzt diese Technik, um seinen Suchindex schneller aktualisieren zu können. Vor dem Einsatz von Percolator wurde eine Reihe von MapReduce-Jobs verwendet, um den Index zu aktualisieren. Das hat mehrere Tage gedauert. Mit Percolator lassen sich die Vorgänge wesentlich schneller und Ressourcen-schonender durchführen. Als Open-Source-Implementation von Percolator bietet Apache Fluo nahezu die gleichen Funktionen.

Percolator und Fluo bieten generell ähnliche Funktionen wie MapReduce, aber mit wesentlich geringerer Latenz. Cross-Node-Transaktionen erlauben die Änderungen von Daten, die sich auf mehreren Rechnern in einem Cluster befinden. Hier werden entweder alle oder keine Daten ausgelesen. Ändern sich Daten, können „Observers“ neuen Code eintragen, um neue Daten zu erkennen.

Observer-API

Seit Version 1.1.0 verfügt Fluo über eine neue Observer-API. Bisher musste die API eine Observer-Klasse für jede beobachtete Spalte konfigurieren. Das war nicht sonderlich effizient. Mit der neuen API müssen Entwickler nur eine einzelne Klasse konfigurieren, die alle Observers zur Verfügung stellt, die wiederum einer Spalte zugeordnet werden können. Das verbessert auch die Integration mit Spark.

Aktuell arbeitet Fluo auch YARN zusammen. YARN ist ein wichtiger Bestandteil von Hadoop. Einfach ausgedrückt handelt es sich dabei um eine Cluster-Verwaltungs-Technologie für Hadoop. YARN stellt sozusagen den Ressourcen-Manager dar. Viele Big-Data-Profis bezeichnen YARN auch als MapReduce 2. Die Fluo-Entwickler wollen die Analyse-Lösung aber von YARN entkoppeln und sie unabhängiger startbar machen.

Inkrementelle Datenverarbeitung ermöglicht beschleunigte Abfragen

Die Datenbank Accumulo basiert auf BigTable von Google und ist vor allem in Big-Data-Umgebungen beliebt, auf denen auf Hadoop, Zookeeper oder Apache Thrift gesetzt wird. Mit Apache Zookeeper können Administratoren die Hadoop-Infrastruktur zentral steuern. Zookeeper ist ein zentraler Dienst für die Pflege von Konfigurationsinformationen, die Benennung von Objekten und bietet eine verteilte Synchronisation und Gruppendienste. Die Lösung soll vor allem Wildwuchs in der Infrastruktur verhindern und dabei helfen, eine einheitliche Konfiguration zu erreichen. Durch die Zusammenarbeit mit Fluo wird diese zentrale Verwaltung der Daten deutlich verbessert.

Fluo kann kontinuierlich neue Daten aus vorhandenen Datensätzen verknüpfen, ohne alle Daten neu aufarbeiten zu müssen. Werden also in einen Datenspeicher immer mehr Daten geschrieben, erkennt das Fluo und liest nur die neuen Daten aus. Das bietet wesentlich geringere Latenzzeiten als Batch- und Streaming-Frameworks, vor allem bei sehr großen Datenmengen.

Dadurch spielt Fluo eine wichtige Rolle im Apache-Hadoop-Ökosystem. Große Daten können jetzt wesentlich schneller verarbeitet werden. Hier kann Fluo Daten mit einer Größe von mehreren Petabytes verarbeiten.

Apache Fluo und Spark

Seit Juli 2017 unterstützt Apache Fluo auch Apache Spark wesentlich besser. Hier ist eine neue Version von Apache Fluo in der Lage, besser Daten von Spark zu erhalten. Vor allem die Skalierbarkeit wurde im Zusammenhang mit der Anbindung an Spark verbessert. Das Google-Indizierungssystem speichert ständig riesige Datenmengen von mehreren Petabytes. Apache Spark kann Fluo mit diesen Daten versorgen. Das ist zum Beispiel sinnvoll, wenn Spark Daten mit einer Batchdatei gruppiert, und Fluo die Gruppen mit den Daten einlesen und verarbeiten soll. Die Vorgehensweise dazu zeigen die Entwickler auf der Webseite von Fluo.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45026141 / Infrastruktur)