| von Kolja Rödel

Big Data Governance live:
Apache Atlas im Praxistest

Big Data Governance

Big Data Governance ist in aller Munde. Welches größere Unternehmen möchte heute noch öffentlich kundtun auf dieses Zukunftsthema bewusst zu verzichten? Politische Diskussionsforen und Wissenschaftler laden dazu ein, die „gesellschaftliche Dimension von Big Data“ zu beleuchten. Und zahlreiche Konferenzen der IT-Branche beherrscht das Gebiet ohnehin.

Um dem Themenkomplex eine Struktur zu geben, bietet sich der Big Data Maturity Guide des TDWI an. Er unterteilt Big Data in die fünf Bereiche Organisation, Infrastruktur, Datenmanagement, Analytics und Governance. Die bisherige Projektlandschaft fokussiert sich stark auf den Aufbau von Infrastruktur und die Beladung des Big Data Clusters aus den vielfältigen Datenquellen des Unternehmens. Zunehmend wird der entstandene Data Lake auch zur Spielwiese für Analysten. Ihr Auftrag ist die Ableitung von neuem Wissen aus den Daten und die Generierung von Mehrwert für das Unternehmen. Governance-Aspekte werden dabei häufig vernachlässigt. Oder man betrachtet diese als erledigt, weil der HCatalog die relevanten Metadaten vorhalte.

Nachholbedarf bei Big Data Governance

Doch Big Data Governance umfasst weit mehr. Ihr Anspruch ist es alle technischen, fachlichen und operationalen Metadaten derart verfügbar zu haben, dass ein Cluster bestehende und zukünftige Anforderungen bzgl. Compliance und Transparenz erfüllt. Dies schließt ein metadatengestütztes Sicherheitskonzept ebenso ein wie eine nahtlose Data Lineage (Nachvollziehbarkeit der Datenherkunft und der Transformationen) und eine Suchmöglichkeit auf Geschäftsobjekt-Ebene. Gerade der letztgenannte Punkt dürfte ausschlaggebend sein für den langfristigen Erfolg durch und mit Big Data Umgebungen. Passend dazu prognostizierte die Gartner Group Mitte 2016, dass 80% der Data Lakes im Jahr 2018 noch kein effektives Metadatenmanagement umfassen werden und daher nicht bestmögliche Ergebnisse liefern können.

Aus genannter Motivation wurde das Governance-Tool Apache Atlas im Rahmen der Woodmark Communities evaluiert. Die Communities folgen dem 4+1 Konzept zur Weiterentwicklung und ermöglichen Woodmark-Mitarbeitern an einem Tag pro Woche die Beschäftigung mit einem Thema, das nicht auf das aktuelle Projekt, sondern stattdessen auf die Zukunft einzahlt.

Apache Atlas ist Ende 2014 aus der Data Governance Initiative hervorgegangen und läuft seit Mai 2015 als Apache Incubator Projekt. Aktuell ist es in der Version 0.8 verfügbar. Daran lässt sich bereits ablesen, dass das Entwicklerteam selbst Atlas gegenwärtig noch nicht als fertiggestellt betrachtet. Fokus der Evaluation war daher, zu prüfen inwieweit Atlas 0.8 schon produktionsreif sei und ob es sich für Unternehmen zur Umsetzung der Big Data Governance Strategie eigne.

Funktionsüberblick
Abbildung 1: Funktionsüberblick

Geballte Funktionalität von Apache Atlas

Kern von Apache Atlas ist die Speicherung aller verfügbaren Metadaten zu einem Big Data Cluster. Die Speicherung baut dabei auf ein abstraktes Datenmodell mit drei Basistypen auf:

  • Infrastructure (für Clusters und Hosts)
  • DataSet (für Datenspeicher-Objekte)
  • Process (für Transformationen)

Jedem DataSet ist dabei ein Schema (bestehend aus Attributen) zugeordnet, jedem Process ein Input und ein Output (= DataSet-Arrays). Alle konkreten Implementierungen (z.B. das Hive-Modell) sind Erweiterungen dieser Basis. Die Metadaten werden in Atlas also quellorientiert abgelegt. Für eine nutzungsbezogene Sicht gibt es die Möglichkeit, Entitäten mit Tags zu markieren.

Seine Rolle als Metadaten-Repository erfüllt Apache Atlas auf mehrere Arten ausgezeichnet. Neben dem Browsen auf vordefinierten Navigationspfaden (quasi “Nachschauen einer bestimmten Information”) erlaubt es die explorative Suche mittels Suchtext oder die Abfrage in einer speziellen DSL. Über die reine Anzeige von Metadaten hinaus geht die Visualisierung als Data Lineage Graphen.

Apache Atlas verfolgt den Ansatz des offenen Metadaten-Austausches und bietet neben dem grafischen Web-Frontend eine REST API an. Über diese lassen sich Metadaten aus beliebigen Anwendungen importieren und exportieren sowie alle Atlas-Funktionen auch automatisiert ausführen.

Beispiel Data Lineage Graphen
Abbildung 2: Beispiel eines generierten Data Lineage Graphen

Eine der Grundforderungen bei Data Governance betrifft das zentrale Auditing der Umgebung. Sowohl Zugangsinformationen als auch operative Informationen sollen für jeden Prozess und jede Dateninteraktion erfasst werden. Zudem beinhaltet eine metadatengestützte Sicherheitsstrategie, Berechtigungen nicht nur auf Objekt-Ebene, sondern auch inhaltsbezogen zu vergeben. Zu diesem Zweck arbeitet Atlas eng mit Apache Ranger zusammen.

Apache Atlas und Ranger im Zusammenspiel
Abbildung 3: Apache Atlas und Ranger im Zusammenspiel

Wie oben ausgeführt, kann gerade die Abbildung von Geschäftswissen im Rahmen der Data Governance wirtschaftlich entscheidend sein. Apache Atlas bietet hierzu sog. Taxonomien an, die es ermöglichen, einen ganzen Business Catalog hierarchisch abzubilden. Manuell ist dies zwar möglich, aber recht umständlich. In der Praxis dürfte v.a. der Import bestehender Taxonomien über die REST API relevant sein. So lassen sich Ablagen aus den Quellsystemen (z.B. Katalog des EDWH) ebenso einfach in Apache Atlas integrieren wie bisherige Metadaten-Tools und sogar branchenspezifische Industriedatenmodelle. Allerdings muss dies nicht den Einsatz eines professionellen Tools zum Enterprise Taxonomy Management ersetzen. Diese meist mit umfangreichem Text Mining ausgestatteten Werkzeuge eignen sich deutlich besser für die automatische Generierung neuer Taxonomien mit NLP und Clustering. Darüberhinaus bieten sie komfortable Benutzerschnittstellen, um als “unsicher” eingestufte Einträge manuell nachbearbeiten zu können.

Technische Schichtenarchitektur
Abbildung 4: Technische Schichtenarchitektur

Technischer Aufbau

Technisch baut Apache Atlas im Wesentlichen auf der Graphendatenbank Titan auf, die dabei mit den Speichertechnologien Apache HBase und Apache Solr als Backend arbeitet. Solr spielt eine zentrale Rolle für die Textsuche und die Abfrage auf Zahlenbereiche. Wie schon erwähnt, eignet sich die REST API für effizienten Datenimport und -export. Außerdem erlaubt die REST API die Anknüpfung von beliebigen Out-of-Hadoop-Systemen (wie Excel) oder noch nicht unterstützte Technologien (wie Spark). Neben der REST API wurden mit Bridges und Hooks für einige Quelltechnologien bereits Plug-ins entwickelt (z.B. Hive-Hook), die den einfachen Austausch der Metadaten gewährleisten. Während Bridges für die manuelle Ausführung bei einer Initialbeladung gedacht sind, basieren Hooks auf Kafka-Messaging und erlauben Realtime-Updates bei Änderungen in der Quelle. Weitere Konnektoren sind in Entwicklung.

Der Praxistest

Nun stellt sich bei neuen Tool immer die Frage, ob sich Architekturkonzepte und ansprechendes Marketing-Material mit den realen Erfahrungen decken. Dies wurde im Praxistest erprobt.

  • Die Administration über den Ambari Wizard gestaltete sich intuitiv. Allerdings war hier ein deutlicher Unterschied zwischen der zunächst installierten Version 0.7 (bis HDP 2.5) und Version 0.8 (ab HDP 2.6) zu erkennen. Während in Version 0.7 noch einiges Bugfixing im Zusammenhang mit der Installation der Hooks notwendig war, funktionierte dies in Version 0.8 problemlos. Direkt im Anschluss an die Installation war der Realtime-Abgleich aus Apache Hive über Apache Kafka aktiv.
  • Die Benutzeroberfläche machte von Beginn an einen eingängigen und sehr aufgeräumten Eindruck. Sie war sofort ohne Spezialwissen nutzbar. Lediglich die korrekte Syntax bei Suchen mit der DSL erforderte etwas Einarbeitung. Nichtsdestotrotz bleiben Schritte wie Tagging/Taxonomien manuell aufwändig und skalieren nicht. Daher ist für größere Anwendungsfälle die Verwendung der REST API zu empfehlen.
  • Zum gegenwärtigen Funktionsumfang kann man anmerken, dass entscheidende Hadoop-Technologien bereits an Apache Atlas angebunden sind, die Entwicklung bei einigen Komponenten aber noch andauert (Anbindung von Hbase, Spark und NiFi für Version 0.9 geplant). Der Import aus weiteren Quellen ist aufwandsarm über die REST API zu realisieren, sodass dies die Automatisierung erleichtert. Insgesamt wurde offensichtlich, dass Atlas aktuell noch nicht in Version 1.0 vorliegt. Dennoch war eine Entwicklung von Version 0.7 zu 0.8 wahrzunehmen.

Fazit – Big Data Governance

Zusammenfassend lässt sich festhalten, dass Big Data Governance zentral für den Projekterfolg mit Data Lakes ist und sein wird. Apache Atlas stellt hierzu einen sehr generischen und mächtigen Ansatz dar. Das verwendete Konzept offener Schnittstellen gestaltet sich vielversprechend wie am wachsenden Partner-Netzwerk zu sehen ist. So ist die Integration in einzelne ETL-Tools wie Talend bereits abgeschlossen, andere wie IBM ziehen nach oder sind in Aussicht (z.B. Informatica). Die Akzeptanz durch große Software-Hersteller scheint mittlerweile gegeben. Ausnahme ist allerdings Cloudera, die mit dem Navigator ein eigenes Governance-Tool platzieren und weiterhin eher den Silo-Ansatz fahren. Technisch kann Apache Atlas noch nicht ganz als komplett ausgereift bezeichnet werden, weil weitere essenzielle Technologien (insb. Spark) angebunden werden müssen. Erfolgskritisch werden daher Zeitpunkt und Qualität der Releases 0.9 und 1.0 sein. Und last but not least wird sich Apache Atlas nicht durchsetzen können ohne relevante Projekterfolge. Konkrete bereitgestellte Best Practices zur Umsetzung wären dabei in realen Projekten hilfreich.

Weiterführende Literatur

Bildnachweise

  • Beitragsbild aus: Apache Software Foundation, http://atlas.apache.org
  • Abbildung 1 aus: Hortonworks, „HDP: Data Governance“ (21.07.2015), S.3
  • Abbildung 2 aus: Hortonworks, „HDP: Data Governance“ (21.07.2015), S.36
  • Abbildung 3 aus: Hortonworks, https://hortonworks.com/solutions/security-and-governance
  • Abbildung 4 aus: Apache Software Foundation, „Atlas Technical User Guide“, http://atlas.apache.org/AtlasTechnicalUserGuide.pdf (abgerufen Juni 2017), S.6

Trademarks

Apache, Atlas, Hadoop and Apache project logos are either registered trademarks or trademarks of the The Apache Software Foundation (Copyright © 2014-2017) in the United States or other countries.

Teile diesen Artikel mit anderen

Über den Autor

Kolja beschäftigte sich als Manager im Bereich Data Engineering bei Woodmark insbesondere mit Frameworks für Datenintegration und Metadatenmanagement. Er widmete sich verstärkt den Herausforderungen Hybrider Architekturen und bearbeitete die Frage, wie bewährte Methoden auch in Big Data-Umgebungen genutzt werden können.

Zur Übersicht Blogbeiträge