Daten und deren Herkunft finden mit DataHub

Einer der großen Schwierigkeiten für Data Scientists besteht darin, die benötigten Daten zu finden, sie zu verstehen und deren Vertrauenswürdigkeit zu bewerten. Ohne die notwendigen Metadaten zu den verfügbaren Datenquellen und ohne angemessene Suchfunktionen bleibt das Auffinden benötigter Daten eine große Herausforderung.

Traditionell wurde diese Funktion von aufgeblähten Datenkatalogisierungslösungen bereitgestellt. In den letzten Jahren kamen einige Open-Source-Projekte hinzu, die die Developer Experience (DX) sowohl beim Anbieten als auch beim Konsumieren von Daten verbessern, z.B. Metacat von Netflix , WhereHows von LinkedIn, Amundsen der LF AI & Data Foundation und Marquez von WeWork. Gleichzeitig änderte sich auch das Verhalten der Data Provider, die weggehen von den aufgeblähten Datenkatalogisierungslösungen hin zu Werkzeugen, die partielle Metadateninformationen aus unterschiedlichen Datenquellen ableiten können.

So hat auch LinkedIn WhereHows weiterentwickelt zu DataHub. Diese Plattform ermöglicht das Auffinden von Daten über ein erweiterbares Metadatensystem. Anstatt Metadaten zu crawlen und zu pullen, verwendet DataHub ein Push-Modell, bei dem die einzelnen Komponenten des Datenökosystems Metadaten über eine REST-API oder einen Kafka-Stream auf der zentralen Plattform veröffentlichen. Diese Push-basierte Integration verlagert die Verantwortung von der zentralen Einheit auf die einzelnen Teams, die damit für ihre Metadaten verantwortlich sind. Da immer mehr Unternehmen versuchen, datengesteuert zu werden, ist ein System, das bei der Datenerkennung und dem Verständnis der Datenqualität und -herkunft hilft, von entscheidender Bedeutung.

Dabei erlaubt die Generalized Metadata Architecture (GMA) von DataHub verschiedene Speichertechnologien, die angefragt werden können mit

  • dokumentenbasiertem CRUD (Create, Read, Update, Delete)
  • komplexen Abfragen auch verschachtelter Tabellen
  • Graph-Traversierung
  • Volltextsuche inkl. Autovervollständigung

Es stehen Plugins bereit u.a. für Dateien, BigQuery, dbt, Hive, Kafka, LDAP, MongoDB, MySQL, PostgreSQL, SQLAlchemy, und Snowflake. Darüberhinaus könnt ihr Metadaten an das DataHub übertragen via Konsole, REST-API und Dateien.

Mit der GMA kann auch jedes Team eigene Metadatendienste, sog. GMS, bereitstellen um ihre Daten über Graphen und Suchindizees erschließen zu können.

Um auch die Software, die zum Erstellen der Daten verwendet wurde, erschließen zu können, verwenden wir aktuell Git2PROV und importieren die PROV-Daten anschließend mit file sink.

Schließlich verwendet DataHub Apache Gobblin um den Lebenszyklus der Daten zu erschließen.