Data lineage is een kaart van de datastroom. In de context van Power BI documenteert lineage het volledige pad dat data aflegt vanaf de bron (een database, API of bestandssysteem) via elke verwerkingsstap (pipelines, transformaties, staginglagen) naar de uiteindelijke bestemming (een Power BI-dataset en de rapporten die daarop zijn gebaseerd).
Waarom lineage belangrijk is voor Power BI
Zonder lineage begint elk data-incident op dezelfde manier: iemand rapporteert onjuiste cijfers en een engineer begint alles te controleren: de ADF-uitvoeringsgeschiedenis in Azure Monitor, Power Query in de dataset, de brondatabase, het dbt-taaklogboek. Het onderzoek heeft geen structuur omdat er geen kaart is.
Met lineage begint hetzelfde incident anders: het monitoringsysteem toont het betreffende rapport, traceert terug naar de dataset, identificeert de upstream-pipeline die het rapport voedt en toont de specifieke activiteit of transformatie die is mislukt. De onderzoekstijd wordt teruggebracht van uren naar minuten.
De componenten van Power BI-datalijn
Een complete datalijnkaart voor een Power BI-dataset bevat:
- Bronsystemen: De databases, API's, bestandssystemen of SaaS-applicaties die de ruwe data bevatten
- Pipelinelaag: ADF-pipelines, Fabric Data Pipelines of aangepaste scripts die de data verplaatsen en initieel transformeren
- Transformatielaag: dbt-modellen, Databricks-notebooks of Synapse SQL die analytische modellen bouwen
- Servinglaag: De databasetabellen of Delta-tabellen waaruit Power BI leest
- Power BI-datasets: Semantische modellen die metrics, hiërarchieën en relaties definiëren
- Power BI-rapporten: Visualisaties die zijn gebouwd op basis van datasets
Waar datalijngegevens vandaan komen
Datalijngegevens worden niet op één plek opgeslagen, maar samengesteld uit meerdere bronnen:
- Metadata van ADF pipeline-uitvoeringen (welke pipeline naar welke tabel heeft geschreven)
- dbt-manifestbestanden (de afhankelijkheidsgrafiek van het model)
- Power BI Metagegevens van de REST API-gegevensbron (welke server, database en tabel elke dataset leest)
- Metagegevens van de Databricks jobuitvoering (welke taken lezen uit en schrijven naar welke Delta-tabellen)
Voorwaartse en achterwaartse traversering
Lineage maakt twee soorten traversering mogelijk:
- Achterwaarts (hoofdoorzaak): Beginnend bij een defect rapport, traceer achterwaarts om te vinden waar in de pipeline de fout is ontstaan.
- Voorwaarts (impact): Beginnend bij een defecte component (een pipeline, een dbt-model, een databasetabel), traceer voorwaarts om alle rapporten te identificeren die momenteel verouderde of onjuiste gegevens leveren.