Artikel

Materialisierte Seeansichten in Microsoft Fabric

Andreas Läubli

Aktualisiert Oktober 10, 2025
6 Minuten

Der SQL-native Weg zum Aufbau moderner Datenpipelines

Seien wir ehrlich - PySpark ist das Tool der Wahl für die Erstellung skalierbarer Datenpipelines in Microsoft Fabric. Und das aus gutem Grund: Es ist leistungsstark, flexibel und kampferprobt. Aber es hat auch seinen Preis: Komplexität, Standardformulierungen und eine steile Lernkurve für Teams, die einfach nur Daten bewegen und umwandeln möchten.

Materialized Lake Views in Microsoft Fabric ist eine bahnbrechende Funktion, mit der Sie deklarative, SQL-basierte Pipelines erstellen können, die schnell, wartbar und produktionsreif sind. Keine Spark-Cluster. Kein Orchestrierungs-Glueck. Nur saubere, modulare Logik, die nativ auf OneLake läuft.

Wenn Sie sich schon immer gewünscht haben, dass Ihre Datenpipelines so einfach sind wie eine SELECT-Anweisung - dann ist dies genau das Richtige für Sie.

Was sind materialisierte Seeansichten?

Materialized Lake Views (MLVs) sind SQL-definierte Ansichten, die automatisch materialisiert und von Microsoft Fabric verwaltet werden. Betrachten Sie sie als die Fabric-native Möglichkeit, Ihre Medallion-Architektur - Bronze, Silber und Gold - zu definieren, ohne eine einzige Zeile PySpark zu schreiben.

Sie sind:

  • Deklarativ: Sie beschreiben, was Sie wollen, aber nicht, wie Sie es berechnen können.
  • Optimiert: Fabric übernimmt Aktualisierungen, Abhängigkeiten und Leistungsoptimierung.
  • Verwaltet: Integriert mit Abstammung, Zugriffskontrolle und Überwachung.
  • Zusammensetzbar: Perfekt für den Aufbau mehrschichtiger, modularer Pipelines.
  • Und da sie in Fabric integriert sind, arbeiten sie nahtlos mit OneLake, Data Factory und sogar GraphQL-APIs zusammen.

Warum Materialized Lake Views PySpark schlagen (in den meisten Fällen)

Um es klar zu sagen: PySpark hat immer noch seine Berechtigung - insbesondere bei komplexen Transformationen, maschinellem Lernen oder massiver Verarbeitung. Aber für die Mehrheit der Daten-Workflows bieten MLVs eine bessere Entwicklererfahrung und eine schnellere Wertschöpfung.


Wenn Ihr Ziel darin besteht, saubere, wartbare und kontrollierte Pipelines zu erstellen, sind MLVs der neue Standard.

Wie man eine materialisierte Seeansicht in Fabric erstellt

Die Erstellung einer FV ist so einfach wie das Schreiben einer SQL-Abfrage.

[( 
    CONSTRAINT constraint_name1 CHECK (condition expression1)[ON MISMATCH DROP | FAIL],  
    CONSTRAINT constraint_name2 CHECK (condition expression2)[ON MISMATCH DROP | FAIL] 
)] 
[PARTITIONED BY (col1, col2, ... )] 
[COMMENT “description or comment”] 
[TBLPROPERTIES (“key1”=”val1”, “key2”=”val2”, ... )] 
AS select_statement

Hier ist ein einfaches Beispiel:

CREATE MATERIALIZED VIEW Silver_Sales AS
SELECT
    s.SaleID,
    s.CustomerID,
    c.Region,
    s.Amount,
    s.SaleDate
FROM
    Bronze_Sales s
JOIN
    Bronze_Customers c
ON
    s.CustomerID = c.CustomerID
WHERE
    s.SaleDate >= DATEADD(month, -6, CURRENT_TIMESTAMP());

Diese Ansicht:

  • Verbindet zwei Bronze-Tabellen
  • Filter für aktuelle Verkäufe
  • Fügt regionalen Kontext hinzu

Fabric kümmert sich um den Rest: Materialisierung, Aktualisierungslogik, Verfolgung von Abhängigkeiten und Leistungsoptimierung.

Sie können Ansichten für jede Medaillon-Ebene definieren:

  • Bronze: Rohdatenaufnahme aus Quellsystemen
  • Silber: Bereinigte und angereicherte Daten
  • Gold: Geschäftsfähige Aggregate und KPIs

Jede Schicht baut auf der vorhergehenden auf - und da es sich um SQL handelt, ist es einfach, darüber nachzudenken, zu testen und zu pflegen.

Verwalten und Aktualisieren Ihrer Ansichten

Fabric verfolgt automatisch Abhängigkeiten(DAG) zwischen Ansichten.

Die DAG-Struktur stellt sicher, dass alle Abhängigkeiten zwischen den Ansichten klar definiert und azyklisch sind, so dass Fabric die richtige Aktualisierungsreihenfolge automatisch bestimmen kann. Dies garantiert Datenkonsistenz über alle Ebenen hinweg, ohne dass eine manuelle Orchestrierung erforderlich ist.

Wenn Ihre Bronze-Ebene aktualisiert wird, werden die Silber- und Gold-Ebenen entsprechend aktualisiert - es sind keine manuellen Auslöser erforderlich.

Sie können:

  • Überwachen Sie den Aktualisierungsstatus in der Fabric UI
  • Lineage anzeigen, um den Datenfluss zu verstehen
  • Aktualisierung nach Zeitplan einstellen
  • Kontrollieren Sie den Zugriff über das Sicherheitsmodell von Fabric

Das bedeutet, dass Ihre Pipelines nicht nur einfacher zu bauen sind, sondern auch einfacher zu betreiben.


Datenqualität: Eingebaut, deklarativ und mühelos

Eine der am meisten unterschätzten Funktionen von Materialized Lake Views ist, wie selbstverständlich sie die Durchsetzung der Datenqualität unterstützen - genau dort, wo Ihre Transformationen stattfinden.

Anstatt separate Validierungsskripte zu schreiben oder komplexe Überwachungspipelines zu erstellen, können Sie jetzt Datenqualitätsbeschränkungen direkt in SQL definieren. Fabric kümmert sich um den Rest: Ungültige Zeilen werden entweder verworfen oder die Aktualisierung schlägt fehl, je nachdem, wie streng Sie sein wollen.

Es ist sauber, deklarativ und vollständig in die Plattform integriert.

Beispiel: Zeilen mit fehlenden Werten verwerfen

CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS silver.customers_cleaned
(
    CONSTRAINT non_null_name CHECK (customerName IS NOT NULL) ON MISMATCH DROP
)
AS
SELECT
    customerID,
    customerName,
    email,
    region
FROM bronze.customers;

In diesem Beispiel:

  • Zeilen mit fehlendem Kundennamen werden automatisch ausgeschlossen.
  • Sie brauchen keine zusätzliche Logik zu schreiben - die Einschränkung ist Teil der Definition der Ansicht.
  • Ausgelassene Zeilen werden in der Verlaufsansicht nachverfolgt, so dass Sie immer wissen, was herausgefiltert wurde und warum.

Wählen Sie Ihre Strategie: FAIL oder DROP

  • Verwenden Sie ON MISMATCH FAIL, wenn die Datenqualität entscheidend ist und Sie die Pipeline stoppen möchten, wenn etwas nicht stimmt.
  • Verwenden Sie ON MISMATCH DROP, wenn Sie es vorziehen, die Verarbeitung fortzusetzen und Probleme nachgelagert zu behandeln.

Damit haben Sie die volle Kontrolle darüber, wie streng Ihre Pipeline sein soll - ohne SQL zu verlassen.

Bonus: Qualitätsmetriken als Ansichten
Sie können sogar eigene Ansichten definieren, um Qualitätsmetriken im Laufe der Zeit zu verfolgen:

CREATE MATERIALIZED VIEW gold.customer_quality_metrics AS
SELECT
    COUNT(*) AS total_customers,
    COUNT(CASE WHEN email IS NULL THEN 1 END) AS missing_emails,
    COUNT(CASE WHEN region IS NULL THEN 1 END) AS missing_regions
FROM silver.customers_cleaned;

Diese Metriken können Dashboards speisen, Warnmeldungen auslösen oder Ihnen einfach nur die Gewissheit geben, dass Ihre Daten sauber bleiben.

Bewährte Praktiken für die Arbeit mit MLVs

Das hat sich bei mir bewährt:

  • Verwenden Sie den Medaillon-Rahmen: Halten Sie Bronze-, Silber- und Gold-Ansichten klar getrennt.
  • Halten Sie Ansichten modular: Vermeiden Sie riesige SQL-Skripte - unterteilen Sie die Logik in Schichten.
  • Benennen Sie einheitlich: Verwenden Sie Präfixe wie Bronze, Silber, Gold_, um den Überblick zu behalten.
  • Kombinieren Sie mit Data Factory: Verwenden Sie Pipelines für Ingestion und Orchestrierung und überlassen Sie dann MLVs die Transformation.
  • Vermeiden Sie verfrühtes PySpark: Beginnen Sie mit SQL - greifen Sie nur dann zu Spark, wenn es unbedingt notwendig ist.

Wann Sie stattdessen PySpark verwenden sollten

Auch wenn Materialized Lake Views eine leistungsstarke Vorgabe für die meisten SQL-freundlichen Pipelines sind, gibt es dennoch Szenarien, in denen PySpark glänzt. Wenn Ihre Transformationen komplexe Geschäftslogik, benutzerdefinierte Python-Bibliotheken oder Workflows für maschinelles Lernen erfordern, bietet Ihnen PySpark die Flexibilität und Kontrolle, die Sie brauchen. PySpark ist auch die bessere Wahl, wenn Sie mit nicht-tabellarischen Daten, externen APIs oder umfangreicher Stapelverarbeitung arbeiten, die über das hinausgeht, was SQL ausdrücken kann.

Einpacken

Materialized Lake Views machen den Aufbau von Datenpipelines in Fabric schneller, sauberer und zuverlässiger. Mit SQL-First-Logik, integrierten Datenqualitätsprüfungen und automatischen Aktualisierungen können Sie sich auf die Bereitstellung zuverlässiger Daten konzentrieren - und nicht auf die Verwaltung der Infrastruktur.

Wenn Sie immer noch für jede Transformation PySpark schreiben, ist es vielleicht an der Zeit, Ihre Vorgabe zu überdenken.

Contact

Let’s discuss how we can support your journey.