In großen Unternehmen existiert oft eine Vielzahl von Datenbanken in verschiedenen Systemen. Leicht verliert man den Überblick, welche Information an welcher Stelle gespeichert und wie sie zu interpretieren ist. Metadatenkataloge können helfen, die Struktur der gespeicherten Daten zu dokumentieren und sie den richtigen Entitäten zuzuordnen.
In diesem und dem kommenden Blogbeitrag stellen wir zwei konkrete Implementierungen von Datenkatalogen vor.
Alation: Ein Überblick
“The First Data Catalog Designed For Collaboration” heißt es auf der Website der kalifornischen Firma Alation in Bezug auf ihr gleichnamiges Produkt. In der Tat sind die Möglichkeiten zur Zusammenarbeit stark ausgeprägt, aber dazu später mehr.
Die Installation gestaltet sich relativ einfach als RPM-Paket, mit wenigen Kommandozeilenbefehlen und einem kurzen Wizard im Browser. Falls man Alation nicht an ein LDAP angeschlossen hat, erstellt sich jeder Nutzer einfach selbst seinen Account – dies gilt insbesondere auch für das erste Administratorkonto. Wem das zu offen ist, konfiguriert einfach für alle weiteren User die manuelle Freischaltung durch den Admin.
Die Startseite enthält auf einem Blick verschiedene relevante Informationen, die von der aktuellen Kopfbedeckung des Benutzers abhängen – denn Alation kennt ein Konzept namens “Hats” (Hüte). Wer sich als Analyst/Data Scientist ausgibt, bekommt einen Link zum “Compose”-Tool, mit dem Queries für die angeschlossenen Datenbanksysteme erstellt werden können, sowie eine Übersicht über die letzten erstellten Abfragen. Data Stewards/Governance Officiers dagegen sehen das Governance Dashboard, mit dem sie abschätzen können, wie gut die Daten bisher dokumentiert sind. Beide Gruppen sehen im unteren Bereich spezielle Artikel, die mit wichtigen Informationen und Anleitungen gefüllt werden können.
Unabhängig vom Hut enthält die linke Seite eine Übersicht über die angebundenen Quellen und ein Suchfeld. Wer meint, falsch angezogen zu sein, kann seinen Hut im Menü oben rechts jederzeit wechseln – außer der Admin hat diese Funktion deaktiviert.
Kollaboration
An diversen Stellen des Webinterfaces befinden sich kleine “i”-Symbole. Hier kann man sich auf ungewohnt persönliche Weise Hilfe holen – indem man einfach einen Kollegen fragt. Alation ist hierbei mit einer Intelligenz ausgestattet, die automatisch passende Nutzer vorschlägt.
Möchte man lieber eine offenere Diskussion anstoßen, kann man dies mit dem “Conversations”-Feature machen. Einträge hier sind für alle Interessierten bestimmt und können direkt beantwortet und diskutiert werden.
Quellen anbinden
Auf oberster Ebene der Kataloghierarchie stehen die Datenquellen. Alation unterscheidet hierbei zwischen “echten” und virtuellen Quellen; echte Quellen sind tatsächlich mit dem jeweiligen System verbunden, was es Alation unter anderem erlaubt, Metadaten selbstständig auszulesen. Virtuelle Quellen hingegen stehen stellvertretend für ein nicht angeschlossenes System, dessen Metadaten auf andere Weise zu Alation hinzugefügt werden können, wie dem Import von .csv-Dateien oder der REST-API.
Out-of-the-Box sind Anbindungen zu einigen Datenbanksystemen und BI-Servern enthalten; nicht direkt unterstützte Systeme können unter Umständen trotzdem angebunden werden, wenn man einen dazu passenden JDBC-Treiber hat.
Eine Besonderheit von Alation stellt die Query Log Ingestion dar. Wenn die Datenbank ein Query Log führt, kann Alation dies analysieren und Lineage-Informationen aus den Queries extrahieren, oder auch den Nutzern anzeigen, welche Queries besonders beliebt sind.
Metadatenkataloge cachen in der Regel die Struktur der angeschlossenen Systeme, um sie ohne Verzögerung durchsuchbar zu machen. Damit die angezeigten Informationen trotzdem aktuell sind, lässt sich das Auslesen der Metadaten und auch die Query Log Ingestion nach Zeitplan wiederholen.
Den Katalog durchsuchen
Der Suchfunktion kommt in jedem Datenkatalog eine hohe Bedeutung zu – wer vorher schon genau weiß, welche Information er wo findet, wird ihn womöglich gar nicht erst konsultieren! Alation bietet jederzeit direkten Zugriff auf das Suchfeld auf der linken Seite. Wer sich einfach nur mal die Struktur ansehen möchte, kann sich auch durch die Hierarchie klicken.
Wenn die einfache Suche nicht ausreicht, bietet die erweiterte Suche mehr Optionen. Hier kann man die Suche auf bestimmte Objektarten oder Werte von Custom Fields begrenzen.
Auf die Datenbanken zugreifen mit Compose
Eine wesentliche Zielgruppe des Katalogs sind Entwickler und Analysten, die die Metadaten durchsuchen um Datenbankqueries schreiben zu können. Mit dem Compose-Tool lässt sich dies direkt mit Unterstützung von Alation tun. Der Editor bietet Auto-Completion und kann direkt eine Vorschau auf die Struktur des verwendeten Objekts geben. Queries können direkt ausgeführt und ihre Ergebnisse angezeigt werden. Ist die Abfrage auch für Kollegen nützlich, so kann man sie mit einem Klick auf “Publish” für andere Nutzer sichtbar machen – so muss niemand das Rad neu erfinden. Natürlich ist es auch möglich, unnützliche Queries zu veröffentlichen…
Artikel und Business Glossaries
Mit Hilfe von Artikeln kann man unter anderem eine Business Taxonomie anlegen, aber auch die Startseiten für verschiedene Hutträger anpassen. Hierbei ergibt sich eine Hierarchie, wenn man den Artikeln jeweils Ihren Elternartikel im entsprechenden Feld zuordnet. Artikel können aber auch über die Suche gefunden oder links in der Seitenleiste als Baum angezeigt werden.
Es existieren verschiedene Möglichkeiten, Artikel und Objekte des Datenkatalogs miteinander zu verknüpfen. Sehr bequem ist die Eingabe eines @ gefolgt vom Objektnamen im Artikeltext – Alation unterstützt den Autor hierbei durch Vorschläge aus der Suche. Eine ausklappbare Vorschau auf das verlinkte Objekt wird direkt in den Artikel eingefügt, und umgekehrt sieht man auf der Seite des Objekts unter der Überschrift “relevant articles” alle Artikel, von denen auf das Objekt gelinkt wird.
Eine weitere Möglichkeit ist die Verknüpfung über Custom Fields, weiter unten dazu mehr.
Lineage
Alation kann Lineage auf Tabellenebene als Graph darstellen. Dazu klickt man von der Tabelle aus einfach auf das Lineage-Tab. Ein Klick auf eine der dargestellten Tabellen zeigt eine Übersicht über ihre Struktur, und ein Klick auf die verbindende Kante zeigt ein dazugehöriges Query oder einen Kommentar.
Woher kommen die Lineage-Informationen? Wird eine Datenquelle direkt angeschlossen, so kann Alation aus der Definition von Views und aus SQL-Statements aus der Query-Log-Ingestion selbstständig auf Lineage schließen. Davon abgesehen lassen sich die Informationen aber auch über die REST-API einpflegen, was sich z.B. gut in ETL-Scripte integrieren lässt.
Custom Fields
Custom Fields bieten eine Möglichkeit, den Katalog an die eigenen Bedürfnisse anzupassen. Die Felder lassen sich verschiedenen Objekten zuordnen, und sie können verschiedenartige Informationen enthalten – darunter Freitext, fest eingestellte Auswahlmöglichkeiten, oder auch Verlinkungen auf andere Objekte. Die Felder werden nicht nur beim jeweiligen Objekt angezeigt, sondern lassen sich auch in der erweiterten Suche verwenden.
Weitere Zugriffsmöglichkeiten
Neben dem Webinterface existieren noch zwei andere Schnittstellen zu Alation, die verschiedene Aufgaben erfüllen.
Die Alation-Shell dient vor allem der Administration.
Die REST-API bietet programmatischen Zugriff auf den Datenkatalog an sich. Über diese lassen sich viele Aufgaben automatisieren, beispielsweise könnte man hierüber eine vorhandene Sammlung an Artikeln (oder Business-Terms) in kurzer Zeit importieren, statt sie einzeln im Webinterface einzugeben. Metadaten zu virtuellen Quellen lassen sich ebenfalls hochladen. Umgekehrt lassen sich über diese Schnittstelle auch Daten auslesen, um sie in anderen Tools wie z.B. dem saracus Visual Metadata Layer zu verwenden.
Fazit
Alation ermöglicht die Katalogisierung der im Unternehmen vorhandenen Daten und bietet dabei vielfältige Möglichkeiten, sie um Informationen zu ergänzen und zu durchsuchen. Besonders hervorzuheben sind hierbei die Query Log Ingestion, das Compose Tool und die Kollaborationsmöglichkeiten. Die Pflege des Katalogs wird so zu einer Gemeinschaftsaufgabe.
Durch geschickte Nutzung der REST-API lässt sich Alation erweitern. So können Freunde von interessanten Visualisierungen mit SVML eine ganz neue Sicht auf ihre Daten bekommen.