Delen via


Direct Lake

De Direct Lake-modus is een semantische modelmogelijkheid voor het analyseren van zeer grote gegevensvolumes in Power BI. Direct Lake is gebaseerd op het rechtstreeks laden van bestanden met parquet-indeling vanuit een data lake zonder een query uit te voeren op een Lakehouse- of magazijneindpunt en zonder dat u gegevens hoeft te importeren of dupliceren in een Power BI-model. Direct Lake is een snel pad om de gegevens van het meer rechtstreeks in de Power BI-engine te laden, klaar voor analyse. In het volgende diagram ziet u hoe klassieke import- en DirectQuery-modi zich verhouden tot de Direct Lake-modus.

Diagram van Direct Lake-functies.

In de DirectQuery-modus voert de Power BI-engine query's uit op de gegevens in de bron, wat traag kan zijn, maar vermijdt dat u de gegevens zoals met de importmodus moet kopiëren. Wijzigingen in de gegevensbron worden onmiddellijk doorgevoerd in de queryresultaten.

Aan de andere kant, met de importmodus, kunnen de prestaties beter zijn omdat de gegevens in de cache worden opgeslagen en geoptimaliseerd voor DAX- en MDX-rapportquery's zonder SQL of andere typen query's te hoeven vertalen en door te geven aan de gegevensbron. De Power BI-engine moet echter eerst nieuwe gegevens naar het model kopiëren tijdens het vernieuwen. Wijzigingen in de bron worden alleen opgehaald bij het vernieuwen van het volgende model.

De Direct Lake-modus elimineert de importvereiste door de gegevens rechtstreeks vanuit OneLake te laden. In tegenstelling tot DirectQuery is er geen vertaling van DAX of MDX naar andere querytalen of het uitvoeren van query's op andere databasesystemen, wat resulteert in prestaties die vergelijkbaar zijn met de importmodus. Omdat er geen expliciet importproces is, is het mogelijk om eventuele wijzigingen in de gegevensbron op te halen terwijl deze zich voordoen, waarbij de voordelen van zowel DirectQuery- als importmodi worden gecombineerd en tegelijkertijd hun nadelen worden vermeden. De Direct Lake-modus kan de ideale keuze zijn voor het analyseren van zeer grote modellen en modellen met regelmatige updates in de gegevensbron.

Direct Lake biedt ook ondersteuning voor beveiliging op rijniveau en beveiliging op objectniveau van Power BI, zodat gebruikers alleen de gegevens zien die ze mogen zien.

Vereisten

Direct Lake wordt alleen ondersteund op P-SKU's (Microsoft Premium) en Microsoft Fabric(F)-SKU's.

Belangrijk

Voor nieuwe klanten wordt Direct Lake alleen ondersteund op Microsoft Fabric(F)-SKU's. Bestaande klanten kunnen Direct Lake blijven gebruiken met Premium(P)-SKU's, maar het overstappen naar een SKU voor infrastructuurcapaciteit wordt aanbevolen. Zie de aankondiging van licenties voor meer informatie over Power BI Premium-licenties.

Lakehouse

Voordat u Direct Lake gebruikt, moet u een lakehouse (of een magazijn) inrichten met een of meer Delta-tabellen in een werkruimte die wordt gehost op een ondersteunde Microsoft Fabric-capaciteit. Het lakehouse is vereist omdat het de opslaglocatie biedt voor uw parquet-indelingsbestanden in OneLake.

Zie Een lakehouse maken voor Direct Lake voor meer informatie over het inrichten van een Lakehouse, een Delta-tabel maken in het lakehouse en een basismodel voor het lakehouse maken.

EINDPUNT en datawarehouse voor SQL-analyse

Als onderdeel van het inrichten van een lakehouse wordt een SQL-analyse-eindpunt voor SQL-query's gemaakt en bijgewerkt met alle tabellen die zijn toegevoegd aan het lakehouse. Hoewel in de Direct Lake-modus geen query's worden uitgevoerd op het SQL-analyse-eindpunt bij het rechtstreeks laden van gegevens uit OneLake, is het vereist wanneer een Direct Lake-model naadloos moet terugvallen op de DirectQuery-modus, bijvoorbeeld wanneer de gegevensbron gebruikmaakt van specifieke functies zoals geavanceerde beveiliging of weergaven die niet kunnen worden gelezen via Direct Lake en het SQL-eindpunt moet gebruiken. In de Direct Lake-modus wordt ook periodiek een query uitgevoerd op het SQL-eindpunt voor informatie met betrekking tot schema en beveiliging.

Als alternatief voor een Lakehouse met SQL Analytics-eindpunt kunt u ook een magazijn inrichten en tabellen toevoegen met behulp van SQL-instructies of gegevenspijplijnen. De procedure voor het inrichten van een zelfstandig datawarehouse is bijna identiek aan de procedure voor een lakehouse.

Standaard semantisch Power BI-model

Warehouses en SQL Analytics-eindpunten maken ook een standaard semantisch Power BI-model in de Direct Lake-modus. Dit standaard semantische model kan alleen worden bewerkt binnen het magazijn of SQL-eindpunt en heeft extra beperkingen. Raadpleeg de standaarddocumentatie voor het semantische Power BI-model . Deze Direct Lake-documentatie is bedoeld voor niet-standaard semantische Power BI-modellen in de Direct Lake-modus.

Een semantisch Power BI-model maken in de Direct Lake-modus

Semantische Power BI-modellen in de Direct Lake-modus worden gemaakt in het lakehouse of magazijn.

Klik in Lakehouse op Nieuw semantisch Power BI-model om een semantisch Power BI-model te maken in de Direct Lake-modus.

Selecteer in het magazijn- of SQL-analyse-eindpunt het rapportagelint en selecteer vervolgens nieuw semantisch Power BI-model om een semantisch Power BI-model te maken in de Direct Lake-modus.

U kunt vervolgens relaties, metingen, berekeningsgroepen, opmaaktekenreeksen, beveiliging op rijniveau, enzovoort, toevoegen en de naam van tabellen en kolommen wijzigen door het semantische model in de browser te bewerken. Bewerk het semantische model later met behulp van het contextmenu van de werkruimte om het gegevensmodel te openen.

Ondersteuning voor modelschrijfbewerkingen met XMLA-eindpunt

Direct Lake-modellen ondersteunen schrijfbewerkingen via het XMLA-eindpunt met behulp van hulpprogramma's zoals SQL Server Management Studio (19.1 en hoger) en de nieuwste versies van externe BI-hulpprogramma's zoals Tabular Editor en DAX Studio. Modelschrijfbewerkingen via de ondersteuning voor XMLA-eindpunten:

  • Aanpassen, samenvoegen, scripten, foutopsporing en het testen van metagegevens van Het Direct Lake-model.

  • Bron- en versiebeheer, continue integratie en continue implementatie (CI/CD) met Azure DevOps en GitHub.

  • Automatiseringstaken zoals vernieuwen en wijzigingen toepassen op Direct Lake-modellen met behulp van PowerShell- en REST-API's.

Direct Lake-tabellen die zijn gemaakt met XMLA-toepassingen, hebben in eerste instantie een niet-verwerkte status totdat de toepassing een vernieuwingsopdracht uitgeeft. Niet-verwerkte tabellen vallen terug naar de DirectQuery-modus. Wanneer u een nieuw semantisch model maakt, moet u het semantische model vernieuwen om uw tabellen te verwerken.

XMLA lezen/schrijven inschakelen

Voordat u schrijfbewerkingen uitvoert op Direct Lake-modellen via het XMLA-eindpunt, moet LEZEN/schrijven van XMLA zijn ingeschakeld voor de capaciteit.

Voor fabric-proefcapaciteiten heeft de proefgebruiker de beheerdersbevoegdheden die nodig zijn om XMLA-lees-schrijven in te schakelen.

  1. Selecteer Capaciteitsinstellingen in de beheerportal.

  2. Selecteer het tabblad Proefversie .

  3. Selecteer de capaciteit met de proefversie en uw gebruikersnaam in de naam van de capaciteit.

  4. Vouw Power BI-workloads uit en selecteer vervolgens in de instelling XMLA-eindpunt de optie Lezen schrijven.

    Schermopname van de lees-/schrijfinstelling voor het XMLA-eindpunt voor een fabric-evaluatiecapaciteit.

Houd er rekening mee dat de instelling XMLA-eindpunt van toepassing is op alle werkruimten en modellen die zijn toegewezen aan de capaciteit.

Metagegevens van Direct Lake-model

Wanneer u verbinding maakt met een zelfstandig Direct Lake-model via het XMLA-eindpunt, zien de metagegevens eruit als elk ander model. Direct Lake-modellen tonen echter de volgende verschillen:

  • De compatibilityLevel eigenschap van het databaseobject is 1604 of hoger.

  • De Mode eigenschap van Direct Lake-partities is ingesteld op directLake.

  • Direct Lake-partities maken gebruik van gedeelde expressies om gegevensbronnen te definiëren. De expressie verwijst naar het SQL-eindpunt van een lakehouse of warehouse. Direct Lake gebruikt het SQL-eindpunt om schema- en beveiligingsgegevens te detecteren, maar laadt de gegevens rechtstreeks vanuit de Delta-tabellen (tenzij Direct Lake om welke reden dan ook moet terugvallen naar de DirectQuery-modus).

Hier volgt een voorbeeld van een XMLA-query in SSMS:

Schermopname van een XMLA-query in SSMS.

Zie Semantische modelconnectiviteit met het XMLA-eindpunt voor meer informatie over hulpprogrammaondersteuning via het XMLA-eindpunt.

Terugval

Semantische Power BI-modellen in de Direct Lake-modus lezen Delta-tabellen rechtstreeks vanuit OneLake. Als een DAX-query op een Direct Lake-model echter de limieten overschrijdt voor de SKU of functies gebruikt die de Direct Lake-modus niet ondersteunen, zoals SQL-weergaven in een magazijn, kan de query terugvallen op de DirectQuery-modus. In de DirectQuery-modus gebruiken query's SQL om de resultaten op te halen van het SQL-eindpunt van het lakehouse of warehouse, wat invloed kan hebben op de queryprestaties. U kunt terugval naar de DirectQuery-modus uitschakelen als u ALLEEN DAX-query's wilt verwerken in de pure Direct Lake-modus. Het uitschakelen van terugval wordt aanbevolen als u geen terugval naar DirectQuery nodig hebt. Het kan ook handig zijn bij het analyseren van queryverwerking voor een Direct Lake-model om te bepalen of en hoe vaak terugval plaatsvindt. Zie Semantische modelmodi in Power BI voor meer informatie over de DirectQuery-modus.

Kaders definiëren resourcelimieten voor de Direct Lake-modus waarvoor een terugval naar de DirectQuery-modus nodig is om DAX-query's te verwerken. Raadpleeg de referentie voor eigenschappen van deltatabellen voor meer informatie over het bepalen van het aantal Parquet-bestanden en rijgroepen voor een Delta-tabel.

Voor semantische Direct Lake-modellen vertegenwoordigt Max Memory de maximale geheugenresourcelimiet voor het aantal gegevens waarop kan worden gepaginad. In feite is het geen kader omdat het overschrijden ervan geen terugval naar DirectQuery veroorzaakt; Het kan echter een invloed hebben op de prestaties als de hoeveelheid gegevens groot genoeg is om paging in en uit de modelgegevens van de OneLake-gegevens te veroorzaken.

De volgende tabel bevat zowel resourcebeveiligingen als maximaal geheugen:

Fabric-SKU's Parquet-bestanden per tabel Rijgroepen per tabel Rijen per tabel (miljoenen) Maximale modelgrootte op schijf/OneLake1 (GB) Maximaal geheugen (GB)
F2 1.000 1,000 300 10 3
F4 1.000 1,000 300 10 3
F8 1.000 1,000 300 10 3
F16 1.000 1,000 300 20 5
F32 1.000 1,000 300 40 10
F64/FT1/P1 5.000 5.000 1.500 Onbeperkt 25
F128/P2 5.000 5.000 3.000 Onbeperkt 50
F256/P3 5.000 5.000 6.000 Onbeperkt 100
F512/P4 10,000 10,000 12,000 Onbeperkt 200
F1024/P5 10,000 10,000 24,000 Onbeperkt 400
F2048 10,000 10,000 24,000 Onbeperkt 400

1 - Als de maximale modelgrootte op schijf/Onelake is overschreden, zorgt ervoor dat alle query's naar het model terugvallen op DirectQuery, in tegenstelling tot andere kaders die per query worden geëvalueerd.

Afhankelijk van uw Fabric-SKU zijn extra capaciteitseenheid en maximale geheugenlimieten per query ook van toepassing op Direct Lake-modellen. Zie Capaciteiten en SKU's voor meer informatie.

Terugvalgedrag

Direct Lake-modellen bevatten de eigenschap DirectLakeBehavior , die drie opties heeft:

Automatisch - (standaard) Geeft aan dat query's terugvallen op de DirectQuery-modus als gegevens niet efficiënt in het geheugen kunnen worden geladen.

DirectLakeOnly : hiermee geeft u alle query's op die alleen de Direct Lake-modus gebruiken. Terugval naar de DirectQuery-modus is uitgeschakeld. Als gegevens niet in het geheugen kunnen worden geladen, wordt er een fout geretourneerd. Gebruik deze instelling om te bepalen of DAX-query's geen gegevens in het geheugen laden, waardoor een fout wordt geretourneerd.

DirectQueryOnly : hiermee geeft u op dat alle query's alleen de DirectQuery-modus gebruiken. Gebruik deze instelling om de terugvalprestaties te testen.

De eigenschap DirectLakeBehavior kan worden geconfigureerd met behulp van Tabular Object Model (TOM) of Tabular Model Scripting Language (TMSL).

In het volgende voorbeeld worden alle query's alleen de Direct Lake-modus gebruikt:

// Disable fallback to DirectQuery mode.
//
database.Model.DirectLakeBehavior = DirectLakeBehavior.DirectLakeOnly = 1;
database.Model.SaveChanges();

Dit kan ook worden ingesteld bij het bewerken van het semantische model in de browser in de eigenschappen van het semantische model. Selecteer Semantisch model op het tabblad Model van het deelvenster Gegevens .

Een schermopname van het gedrag van Direct Lake.

Queryverwerking analyseren

Als u wilt bepalen of de DAX-query's van een rapportvisual naar de gegevensbron de beste prestaties bieden met behulp van de Direct Lake-modus of terugvallen op de DirectQuery-modus, kunt u Performance Analyzer gebruiken in Power BI Desktop, SQL Server Profiler of andere hulpprogramma's van derden om query's te analyseren. Zie Queryverwerking analyseren voor Direct Lake-modellen voor meer informatie.

Vernieuwen

Gegevenswijzigingen in OneLake worden standaard automatisch doorgevoerd in een Direct Lake-model. U kunt dit gedrag wijzigen door uw Direct Lake-gegevens up-to-date te houden in de instellingen van het model.

Schermopname van de optie Direct Lake-vernieuwing in modelinstellingen.

U kunt uitschakelen als u bijvoorbeeld het voltooien van gegevensvoorbereidingstaken moet toestaan voordat nieuwe gegevens worden weergegeven aan consumenten van het model. Wanneer deze functie is uitgeschakeld, kunt u vernieuwen handmatig aanroepen of met behulp van de vernieuwings-API's. Het aanroepen van een vernieuwing voor een Direct Lake-model is een voordelige bewerking waarbij het model de metagegevens van de nieuwste versie van de Delta Lake-tabel analyseert en wordt bijgewerkt om te verwijzen naar de meest recente bestanden in OneLake.

Power BI kan automatische updates van Direct Lake-tabellen onderbreken als er tijdens het vernieuwen een niet-herstelbare fout optreedt, dus zorg ervoor dat uw semantische model kan worden vernieuwd. In Power BI worden automatisch automatische updates hervat wanneer een volgende door de gebruiker aangeroepen vernieuwing zonder fouten wordt voltooid.

Eenmalige aanmelding (SSO) standaard ingeschakeld

Direct Lake-modellen zijn standaard afhankelijk van Microsoft Entra Single Sign-On (SSO) voor toegang tot Fabric Lakehouse- en Warehouse-gegevensbronnen en gebruiken de identiteit van de gebruiker die momenteel met het model communiceert. U kunt de configuratie controleren in de Direct Lake-modelinstellingen door de sectie Gateway- en cloudverbindingen uit te vouwen, zoals wordt weergegeven in de volgende schermopname. Voor het Direct Lake-model is geen expliciete gegevensverbinding vereist, omdat lakehouse of Warehouse rechtstreeks toegankelijk is en eenmalige aanmelding de noodzaak voor opgeslagen verbindingsreferenties elimineert.

Schermopname van de configuratie-instellingen voor gateway- en cloudverbindingen.

U kunt de Lakehouse- of Warehouse-gegevensbron ook expliciet verbinden met een deelbare cloudverbinding (SCC) in gevallen waarin u opgeslagen referenties wilt gebruiken, en zo SSO voor die gegevensbronverbinding uitschakelen. Als u de gegevensbron expliciet wilt binden, selecteert u de SCC in de keuzelijst Kaarten naar: in de sectie Gateway- en cloudverbindingen . U kunt ook een nieuwe verbinding maken door een verbinding maken te selecteren en vervolgens de stappen te volgen om een verbindingsnaam op te geven. Selecteer vervolgens OAuth 2.0 als verificatiemethode voor de nieuwe verbinding, voer de gewenste referenties in en schakel het selectievakje Eenmalige aanmelding uit en bind vervolgens de Lakehouse- of Warehouse-gegevensbron aan de nieuwe SCC-verbinding die u zojuist hebt gemaakt.

De standaardconfiguratie: Eenmalige aanmelding (Entra ID) vereenvoudigt de configuratie van het Direct Lake-model, maar als u al een pcC (Personal Cloud Connection) hebt met de Lakehouse- of Warehouse-gegevensbron, wordt het Direct Lake-model automatisch gekoppeld aan de overeenkomende PCC, zodat de verbindingsinstellingen die u al hebt gedefinieerd voor de gegevensbron onmiddellijk worden toegepast. Controleer de verbindingsconfiguratie van uw Direct Lake-modellen om ervoor te zorgen dat de modellen toegang hebben tot hun Fabric-gegevensbronnen met de juiste instellingen.

Semantische modellen kunnen gebruikmaken van de standaardverbindingsconfiguratie: Single Sign-On (Entra ID) voor Fabric Lakehouses en Warehouses in de modus Direct Lake, Import en DirectQuery. Voor alle andere gegevensbronnen zijn expliciet gedefinieerde gegevensverbindingen vereist.

Beveiliging van gelaagde gegevenstoegang

Direct Lake-modellen die zijn gemaakt boven op lakehouses en magazijnen, voldoen aan het gelaagde beveiligingsmodel dat lakehouses en magazijnen ondersteunen door machtigingscontroles uit te voeren via het T-SQL-eindpunt om te bepalen of de identiteit die toegang probeert te krijgen tot de gegevens de vereiste machtigingen voor gegevenstoegang heeft. Direct Lake-modellen gebruiken standaard eenmalige aanmelding (SSO), zodat de effectieve machtigingen van de interactieve gebruiker bepalen of de gebruiker toegang tot de gegevens heeft toegestaan of geweigerd. Als het Direct Lake-model is geconfigureerd voor het gebruik van een vaste identiteit, bepaalt de effectieve machtiging van de vaste identiteit of gebruikers die interactie hebben met het semantische model toegang hebben tot de gegevens. Het T-SQL-eindpunt retourneert toegestaan of geweigerd aan het Direct Lake-model op basis van de combinatie van OneLake-beveiliging en SQL-machtigingen.

Een magazijnbeheerder kan bijvoorbeeld een gebruiker SELECT-machtigingen verlenen voor een tabel, zodat de gebruiker uit die tabel kan lezen, zelfs als de gebruiker geen OneLake-beveiligingsmachtigingen heeft. De gebruiker is geautoriseerd op lakehouse/magazijnniveau. Een magazijnbeheerder kan daarentegen ook de leestoegang van een gebruiker tot een tabel weigeren. De gebruiker kan deze tabel dan niet lezen, zelfs niet als de gebruiker over leesmachtigingen voor OneLake-beveiliging beschikt. De instructie DENY overschrijft alle verleende OneLake-beveiliging of SQL-machtigingen. Raadpleeg de volgende tabel voor de effectieve machtigingen die een gebruiker kan hebben gegeven elke combinatie van OneLake-beveiliging en SQL-machtigingen.

OneLake-beveiligingsmachtigingen SQL-machtigingen Effectieve machtigingen
Toestaan Geen Toestaan
Geen Toestaan Toestaan
Toestaan Weigeren Weigeren
Geen Weigeren Weigeren

Bekende problemen en beperkingen

  • Standaard ondersteunen alleen tabellen in het semantische model dat is afgeleid van tabellen in een Lakehouse of Warehouse Direct Lake-modus. Hoewel tabellen in het model kunnen worden afgeleid van SQL-weergaven in Lakehouse of Warehouse, vallen query's die deze tabellen gebruiken, terug naar de DirectQuery-modus.

  • Direct Lake-semantische modeltabellen kunnen alleen worden afgeleid van tabellen en weergaven van één Lakehouse of Warehouse. Eén Lakehouse kan snelkoppelingen bevatten die zijn toegevoegd vanuit andere Lakehouses.

  • Query's met behulp van beveiliging op rijniveau voor tabellen in het magazijn (inclusief het Eindpunt van Lakehouse SQL Analytics) vallen terug naar de DirectQuery-modus.

  • Direct Lake-tabellen kunnen momenteel niet worden gecombineerd met andere tabeltypen, zoals Importeren, DirectQuery of Dual, in hetzelfde model. Samengestelde modellen in semantische Power BI-modellen kunnen semantische Power BI-modellen als bron gebruiken in de Direct Lake-opslagmodus.

  • DateTime-relaties worden niet ondersteund in Direct Lake-modellen. Datumrelaties worden ondersteund.

  • Berekende kolommen en berekende tabellen worden niet ondersteund. Berekeningsgroepen en veldparameters worden ondersteund.

  • Sommige gegevenstypen worden mogelijk niet ondersteund, zoals decimalen met hoge precisie en geldtypen.

  • Direct Lake-tabellen bieden geen ondersteuning voor complexe deltatabelkolomtypen. Binaire en guid-semantische typen worden ook niet ondersteund. U moet deze gegevenstypen converteren naar tekenreeksen of andere ondersteunde gegevenstypen.

  • Voor tabelrelaties moeten de gegevenstypen van hun sleutelkolommen overeenkomen. Kolommen met primaire sleutels moeten unieke waarden bevatten. DAX-query's mislukken als dubbele primaire-sleutelwaarden worden gedetecteerd.

  • De lengte van tekenreekskolomwaarden is beperkt tot 32.764 Unicode-tekens.

  • De drijvende-kommawaarde 'NaN' (geen getal) wordt niet ondersteund in Direct Lake-modellen.

  • Ingesloten scenario's die afhankelijk zijn van ingesloten entiteiten, worden nog niet ondersteund.

  • Validatie is beperkt voor Direct Lake-modellen. Gebruikersselecties worden ervan uitgegaan dat ze juist zijn en dat er geen query's kardinaliteit en kruisfilterselecties voor relaties of voor de geselecteerde datumkolom in een datumtabel valideren.

  • Op het tabblad Direct Lake in de vernieuwingsgeschiedenis worden alleen fouten met betrekking tot het vernieuwen van Direct Lake weergegeven. Geslaagde vernieuwingen worden momenteel weggelaten.

Aan de slag

De beste manier om aan de slag te gaan met een Direct Lake-oplossing in uw organisatie is door een Lakehouse-tabel te maken, er een Delta-tabel in te maken en vervolgens een eenvoudig semantisch model te maken voor het lakehouse in uw Microsoft Fabric-werkruimte. Zie Een lakehouse maken voor Direct Lake voor meer informatie.