Auswählen eines Speichermodus
Die erste Entwurfsentscheidung für ein semantisches Modell in Microsoft Fabric ist, wie Daten in das Modell fließen. Der ausgewählte Speichermodus wirkt sich auf die Abfrageleistung, datenfrische Daten aus und welche Fabric Features verfügbar sind. In Fabric ist Direct Lake die Standardeinstellung, und für die meisten Workloads ist es die richtige Wahl.
Direct Lake-Modus
Direct Lake ist der Standardspeichermodus für semantische Modelle, die in Microsoft Fabric erstellt wurden. Im Gegensatz zum Importmodus kopiert Direct Lake keine Daten in das Modell. Im Gegensatz zu DirectQuery werden Abfragen nicht in Sql-Quelldaten übersetzt. Stattdessen liest Direct Lake Delta-Tabellen direkt aus OneLake in den Speicher, wodurch die Geschwindigkeit des Imports mit der Aktualität von DirectQuery kombiniert wird.
Wenn ein Benutzer einen Bericht öffnet, der von einem Direct Lake-Semantikmodell unterstützt wird, lädt das Modul Spaltendaten aus Delta-Parkettdateien bei Bedarf. Sie müssen keine Aktualisierung einplanen, wie es beim Importmodus erforderlich ist. Wenn die zugrunde liegenden Delta-Tabellen aktualisiert werden, spiegelt das Modell diese Änderungen wider.
Direct Lake-Modelle aktivieren automatisch das große Semantikmodell-Speicherformat. Diese Einstellung hebt die Modellgrößenbeschränkung von 10 GB auf und ist eine Voraussetzung für die Abfrage-Skalierung sowie den Lese-/Schreibzugriff auf den XMLA-Endpunkt. Sie müssen es nicht manuell für Direct Lake-Modelle aktivieren.
Direct Lake-Verbindungsoptionen
Direct Lake-Modelle können eine Verbindung mit Daten über zwei Pfade herstellen:
- OneLake-Tabellen: Das Modell verbindet sich direkt mit Delta-Tabellen in einem Lakehouse oder Lagerhaus. Dies ist der einfachste Pfad und funktioniert gut, wenn sich Ihre Daten in einem einzigen Fabric Datenspeicher befinden.
- SQL-Analyseendpunkt: Das Modell stellt eine Verbindung über den SQL-Endpunkt eines Lakehouse oder Warehouse her. Dieser Pfad ermöglicht den Zugriff auf Ansichten, datenbankübergreifende Abfragen und Sicherheitsfeatures, die auf der SQL-Ebene definiert sind.
Wählen Sie OneLake-Tabellen aus, wenn Ihre Daten einfach sind und sich an einem Ort befinden. Wählen Sie den SQL-Analyseendpunkt aus, wenn Sie Ansichten, quellübergreifende Verknüpfungen oder sicherheit auf Zeilenebene benötigen, die in SQL definiert sind.
Fallbackverhalten
Einige Vorgänge können dazu führen, dass ein Direct Lake-Modell auf den DirectQuery-Modus zurückgesetzt wird. Komplexe DAX-Berechnungen, Abfragen, die den verfügbaren Arbeitsspeicher überschreiten, oder bestimmte nicht unterstützte Vorgänge lösen diesen Fallback aus. Wenn Fallback auftritt, wird die Abfrage für den SQL-Analyseendpunkt ausgeführt, anstatt Delta-Dateien direkt zu lesen.
Sie können das Fallbackverhalten in den Semantikmodelleinstellungen konfigurieren:
- Fallback zulassen: Abfragen, die im Direct Lake-Modus nicht ausgeführt werden können, greifen automatisch auf DirectQuery zurück. Der Benutzer erhält Ergebnisse, aber die Leistung kann sinken.
- Fallback nicht zulassen: Abfragen, die im Direct Lake-Modus nicht ausgeführt werden können, geben einen Fehler zurück. Diese Option erzwingt eine konsistente Leistung, erfordert jedoch, dass alle Abfragen in den Direct Lake-Funktionen verbleiben.
Beginnen Sie für die meisten Produktionsworkloads mit erlaubtem Fallback und überwachen Sie, welche Abfragen den Fallback auslösen. Optimieren Sie dann diese Abfragen oder Datenstrukturen, um die Fallbackhäufigkeit im Laufe der Zeit zu reduzieren.
Importmodus
Der Importmodus kopiert Daten in das semantische Modell und speichert sie in einem komprimierten Speicherformat. Abfragen werden für die lokale Kopie ausgeführt, wodurch der Import zum schnellsten Speichermodus für die Abfrageleistung wird. Die Daten sind jedoch nur so aktuell wie die letzte Aktualisierung.
Der Importmodus ist die richtige Wahl, wenn:
- Ihre Datenquelle befindet sich außerhalb Fabric (lokale Datenbanken, APIs von Drittanbietern, Flatfiles).
- Die Abfrageleistung ist die oberste Priorität, und es ist keine Aktualität in Echtzeit erforderlich.
- Sie benötigen Features, die in Direct Lake noch nicht unterstützt werden.
Tipp
Wenn Sie den Importmodus verwenden, stellen Sie eine Verbindung mit Ansichten anstelle von unformatierten Tabellen her, schließen Sie nur erforderliche Spalten ein, und verwenden Sie geeignete Datentypen, um die Modellgröße zu verringern. Erfahren Sie mehr über Techniken, um daten zu reduzieren, die in Importmodelle geladen wurden.
DirectQuery-Modus
DirectQuery sendet Abfragen direkt an die Datenquelle zur Abfragezeit. Es werden keine Daten im Modell gespeichert, wodurch DirectQuery für Echtzeitdatenszenarien und sehr große Datasets geeignet ist, die nicht importiert werden können.
Der Kompromiss betrifft die Leistung. Jede Berichtsinteraktion generiert eine Abfrage für das Quellsystem. DirectQuery funktioniert am besten in folgenden Fällen:
- Echtzeitdaten sind erforderlich, und sogar kurze Aktualisierungsverzögerungen sind nicht akzeptabel.
- Quelldatenvolumes sind zu groß, um sie zu importieren, und die Datenquelle befindet sich außerhalb Fabric.
- Die Governanceanforderungen müssen festlegen, dass Daten an der Quelle bleiben.
Tipp
Weitere Informationen finden Sie unter DirectQuery-Modellleitfaden.
Zusammengesetzter Modus
Der Zusammengesetzte Modus kombiniert Speichermodi innerhalb eines einzelnen Modells. Einige Tabellen verwenden "Import", während andere DirectQuery oder Direct Lake verwenden. Dies bietet Flexibilität für Szenarien, in denen unterschiedliche Tabellen unterschiedliche Leistungs- und Aktualitätsanforderungen aufweisen.
Beispielsweise kann eine große Faktentabelle in Direct Lake verbleiben, während eine kleine Referenztabelle aus einer externen Quelle "Import" verwendet. Der zusammengesetzte Modus ermöglicht außerdem Viele-zu-viele-Beziehungen zwischen Tabellen aus unterschiedlichen Datenquellen.
Verwenden Sie den zusammengesetzten Modus in folgenden Fällen:
- Sie benötigen Daten aus Fabric- und Nicht-Fabric-Quellen im selben Modell.
- Einige Tabellen erfordern Echtzeitdaten, während andere von der zwischengespeicherten Leistung profitieren.
- Sie müssen Direct Lake-Tabellen mit Importtabellen für die quellübergreifende Analyse kombinieren.
Auswählen des richtigen Speichermodus
In der folgenden Tabelle wird zusammengefasst, wann jeder Modus ausgewählt werden soll:
| Modus | Datenspeicherort | Abfragegeschwindigkeit | Datenaktualität | Am besten geeignet für: |
|---|---|---|---|---|
| Direct Lake | OneLake (Delta-Tabellen) | Schnell | Nahezu in Echtzeit | Fabric-native Workloads (Standard) |
| Importieren | Im Modellcache | Schnellste | Aktualisierungsabhängig | Nicht-Fabric-Quellen, maximale Leistung |
| Direktabfrage | Quellsystem | Hängt vom Quellsystem ab | Nahezu in Echtzeit | Echtzeitanforderungen, sehr große externe Daten |
| Verbundmaterial | Gemischt | Variiert | Gemischt | Quellübergreifende Szenarien, Hybridanforderungen |
Der Speichermodus wirkt sich auch auf den KI-Verbrauch aus. Wenn Copilot oder Daten-Agents ein Semantikmodell abfragen, liefern sie Antworten auf Basis der Daten, die das Modell derzeit widerspiegelt. Die Aktualität von Direct Lake in Echtzeit bedeutet, dass KI-Abfragen aktuelle Ergebnisse zurückgeben, ohne auf eine geplante Aktualisierung zu warten. Bei Modellen, die sowohl menschliche Benutzer als auch KI bedienen, wirkt sich die Auswahl des Speichermodus direkt auf die Qualität beider Erfahrungen aus.
Beginnen Sie in Fabric mit Direct Lake. Wechseln sie nur dann in einen anderen Modus, wenn ihr spezifisches Szenario erforderlich ist.