Direct Lake

Režim Direct Lake je funkcia sémantického modelu na analýzu veľmi veľkých objemov údajov v Power BI. Direct Lake je založené na načítavaní súborov vo formáte parquet priamo z dátového jazera bez toho, aby ste museli dotazovať koncový bod jazera alebo skladu, a bez toho, aby ste museli importovať alebo duplikovať údaje do modelu Power BI. Direct Lake je rýchla cesta na načítanie údajov z jazera priamo do nástroja Power BI pripraveného na analýzu. V nasledujúcom diagrame je znázornené porovnanie klasických režimov importu a režimu DirectQuery s režimom Direct Lake.

Diagram funkcií Direct Lake.

V režime DirectQuery nástroj Power BI dotazuje údaje v zdroji, čo môže byť pomalé, ale vyhne sa tým kopírovaniu údajov, napríklad v režime importu. Všetky zmeny v zdroji údajov sa okamžite prejavia vo výsledkoch dotazu.

Na druhej strane, v režime importu môže byť výkon lepší, pretože údaje sú uložené vo vyrovnávacej pamäti a optimalizované pre dotazy zostáv DAX a MDX bez toho, aby bolo potrebné prekladať a odovzdávať SQL alebo iné typy dotazov do zdroja údajov. Nástroj Power BI však musí počas obnovovania najskôr skopírovať všetky nové údaje do modelu. Všetky zmeny v zdroji sa vyzdvihnúť len pri ďalšom obnovení modelu.

Režim Direct Lake eliminuje požiadavky importu načítaním údajov priamo z OneLake. Na rozdiel od DirectQuery neexistuje žiaden preklad z jazyka DAX alebo MDX do iných jazykov dotazov ani spúšťanie dotazov v iných databázových systémoch, čím by sa priniesol výkon podobný režimu importu. Keďže neexistuje žiadny explicitný proces importu, je možné zachytiť všetky zmeny v zdroji údajov v ich prípade, pričom kombinuje výhody režimu DirectQuery aj režimu importu a zároveň sa vyhne ich nevýhodám. Režim Direct Lake môže byť ideálnou voľbou pre analýzu veľmi veľkých modelov a modelov s častými aktualizáciami zo zdroja údajov.

Direct Lake tiež podporuje zabezpečenie na úrovni riadkov a zabezpečenie na úrovni objektu, takže používateľom sa zobrazia len údaje, na ktoré majú povolenie na zobrazenie.

Požiadavky

V skladových jednotkách SKU Microsoft Premium (P) a jednotkách SKU služby Microsoft Fabric (F) sa podporuje direct Lake.

Dôležité

V prípade nových zákazníkov sa v skladových jednotkách SKU služby Microsoft Fabric (F) podporuje Direct Lake. Existujúci zákazníci môžu naďalej používať Direct Lake so skladovými jednotkami SKU Premium (P), odporúča sa však prejsť na skladovú jednotku SKU kapacity služby Fabric. Ďalšie informácie o licenciách Power BI Premium nájdete v oznámení o licencovaní.

Lakehouse

Pred použitím rozhrania Direct Lake musíte zriadiť lakehouse (alebo sklad) s jednou alebo viacerými tabuľkami Delta v pracovnom priestore hosťujúcom sa v podporovanej kapacite služby Microsoft Fabric. Lakehouse je povinný, pretože poskytuje úložisko pre vaše parquet-formátované súbory v OneLake. Lakehouse tiež poskytuje prístupový bod na spustenie funkcie webového modelovania na vytvorenie modelu Direct Lake.

Ďalšie informácie o tom, ako vytvoriť lakehouse, vytvoriť tabuľku Delta v lakehouse a vytvoriť základný model pre lakehouse, nájdete v téme Vytvorenie úzla pre Direct Lake.

Koncový bod SQL

V rámci zriaďovania služby lakehouse sa vytvára a aktualizuje koncový bod SQL pre dotazovanie SQL a predvolený model vytvárania zostáv s tabuľkami pridanými do úzovňa jazera. Hoci režim Direct Lake pri načítavaní údajov priamo z OneLake nezadáva koncový bod SQL, je to potrebné, keď sa model Direct Lake musí bez problémov vrátiť do režimu DirectQuery. Napríklad vtedy, keď zdroj údajov používa konkrétne funkcie, ako je pokročilé zabezpečenie alebo zobrazenia, ktoré nemožno prečítať cez Direct Lake. Režim Direct Lake tiež dotazuje koncový bod SQL na informácie týkajúce sa schémy a zabezpečenia.

Sklad údajov

Namiesto služby lakehouse s koncovým bodom SQL môžete tiež zriadiť sklad a pridať tabuľky pomocou príkazov SQL alebo údajových kanálov. Postup na zriadiť samostatný sklad údajov je takmer rovnaký ako postup pre jazero.

Podpora zápisu modelu s koncovým bodom XMLA

Modely Direct Lake podporujú operácie zapisovania prostredníctvom koncového bodu XMLA pomocou nástrojov, ako je napríklad SQL Server Management Studio (19.1 a vyššia), a najnovších verzií externých nástrojov BI, ako je napríklad Tabular Editor a DAX Studio. Operácie zapisovania modelov prostredníctvom podpory koncového bodu XMLA:

  • Prispôsobenie, zlúčenie, skriptovanie, ladenie a testovanie metaúdajov modelu Direct Lake.

  • Ovládanie zdrojov a verzií, priebežná integrácia a nepretržité nasadenie (CI/CD) so službami Azure DevOps a GitHub.

  • Úlohy automatizácie, ako je obnovenie, a použitie zmien v modeloch Direct Lake pomocou prostredia PowerShell a rozhraní REST API.

Tabuľky Direct Lake vytvorené pomocou aplikácií XMLA budú spočiatku v nespracovanom stave, kým aplikácia nevykoná príkaz na obnovenie. Nespracované tabuľky sa vrátia späť do režimu DirectQuery. Pri vytváraní nového sémantického modelu sa uistite, že ste obnovili sémantický model a spracujte tabuľky.

Povolenie XMLA na čítanie a zapisovaie

Pred vykonaním operácií zapisovania v modeloch Direct Lake cez koncový bod XMLA musí byť povolené čítanie a zapisovanie XMLA pre kapacitu.

V prípade skúšobných kapacít služby Fabric má používateľ skúšobnej verzie oprávnenia správcu potrebné na povolenie čítania a zapisovania XMLA.

  1. Na portáli Spravovanie vyberte položku Nastavenia kapacity.

  2. Vyberte kartu Skúšobná verzia.

  3. Vyberte kapacitu so skúšobným menom a vaším menom používateľa v názve kapacity.

  4. Rozbaľte časť Vyťaženia služby Power BI a potom v nastavení Koncový bod XMLA vyberte položku Čítanie zapisovania.

    Snímka obrazovky znázorňujúca nastavenie koncového bodu XMLA na čítanie a zapisovanie pre skúšobnú kapacitu služby Fabric.

Nezabudnite, že nastavenie koncového bodu XMLA sa vzťahuje na všetky pracovné priestory a modely priradené ku kapacite.

Metaúdaje modelu Direct Lake

Pri pripájaní k samostatnému modelu Direct Lake cez koncový bod XMLA vyzerajú metaúdaje ako akýkoľvek iný model. Modely Direct Lake však zobrazujú nasledujúce rozdiely:

  • Vlastnosť compatibilityLevel objektu databázy je 1 604 alebo vyššia.

  • Vlastnosť Mode oblastí Direct Lake je nastavená na directLake.

  • Oblasti Direct Lake používajú zdieľané výrazy na definovanie zdrojov údajov. Výraz odkazuje na koncový bod SQL služby lakehouse alebo warehouse. Direct Lake používa koncový bod SQL na zisťovanie schémy a informácií o zabezpečení, ale načíta údaje priamo z tabuliek Delta (pokiaľ sa z akéhokoľvek dôvodu nebude musieť Direct Lake vrátiť do režimu DirectQuery).

Tu je príklad dotazu XMLA v nástroji SSMS:

Snímka obrazovky s dotazom XMLA v nástroji SSMS.

Ďalšie informácie o podpore nástrojov prostredníctvom koncového bodu XMLA nájdete v téme Prepojenie s sémantickým modelom s koncovým bodom XMLA.

Záložný

Sémantické modely Power BI v režime Direct Lake čítajú tabuľky Delta priamo z OneLake. Ak však dotaz DAX v modeli Direct Lake prekračuje limity pre skladovú jednotku SKU alebo používa funkcie, ktoré nepodporňujú režim Direct Lake, napríklad zobrazenia SQL v sklade, dotaz sa môže vrátiť späť do režimu DirectQuery. V režime DirectQuery dotazy používajú SQL na načítanie výsledkov z koncového bodu SQL domovského jazera alebo skladu, čo môže mať vplyv na výkon dotazov. Ak chcete spracovať dotazy DAX iba v čistom režime Direct Lake, môžete zakázať záložný do režimu DirectQuery. Ak nepotrebujete záložný režim DirectQuery, odporúča sa vypnúť záložný. Môže byť užitočný aj pri analýze spracovania dotazov pre model Direct Lake, aby bolo možné zistiť, či a ako často sa vyskytujú záložné položky. Ďalšie informácie o režime DirectQuery nájdete v téme Sémantický model režimov v službe Power BI.

Zábradlia definujú limity prostriedkov pre režim Direct Lake, prostredníctvom ktorého je na spracovanie dotazov jazyka DAX potrebný záložný do režimu DirectQuery. Podrobnosti o tom, ako určiť počet parquet súborov a skupiny riadkov pre tabuľku Delta, nájdete v odkaze na vlastnosti tabuľky Delta.

V prípade sémantických modelov Direct Lake predstavuje maximálna pamäť horný limit prostriedkov pamäte na to, koľko údajov je možné stránkovať. V skutočnosti to nie je ochrana, pretože prekročenie nespôsobuje záložný directquery; Môže to však mať vplyv na výkon, ak je množstvo údajov dostatočne veľké na to, aby spôsobilo stránkovanie údajov modelu z údajov OneLake a z nich.

Nasledujúca tabuľka uvádza bezpečnostné prvky prostriedkov aj maximálnu pamäť:

Skladové jednotky SKU služby Fabric Súbor na parket na tabuľku Skupiny riadkov na tabuľku Riadky na tabuľku (milióny) Maximálna veľkosť modelu na disku/v službe OneLake1 (GB) Maximálna pamäť (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 Neobmedzené 25
F128/P2 5 000 5 000 3 000 Neobmedzené 50
F256/P3 5 000 5 000 6 000 Neobmedzené 100
F512/P4 10,000 10,000 12,000 Neobmedzené 200
F1024/P5 10,000 10,000 24,000 Neobmedzené 400
F2048 10,000 10,000 24,000 Neobmedzené 400

1 – Ak sa prekročí, maximálna veľkosť modelu na disku alebo vo Onelake spôsobí, že všetky dotazy do modelu sa vrátia do režimu DirectQuery, na rozdiel od iných ochranných prvkov, ktoré sa vyhodnocujú podľa dotazu.

V závislosti od jednotky SKU služby Fabric sa ďalšie jednotky kapacity a maximálna pamäť na limity dotazu vzťahujú aj na modely Direct Lake. Ďalšie informácie nájdete v téme Kapacity a skladové jednotky SKU.

Správanie ako záložné

Modely Direct Lake zahŕňajú vlastnosť DirectLakeBehavior , ktorá má tri možnosti:

Automatické – (predvolené) Určuje, že dotazy sa vrátia do režimu DirectQuery , ak sa údaje nedajú účinne načítať do pamäte.

DirectLakeOnly – určuje, že všetky dotazy používajú iba režim Direct Lake. Funkcia Fallback pre režim DirectQuery je zakázaná. Ak sa údaje nedajú načítať do pamäte, vráti sa chyba. Pomocou tohto nastavenia môžete zistiť, či sa dotazom DAX nepodarí načítať údaje do pamäte, čo núti vrátenie chyby.

DirectQueryOnly – určuje, že všetky dotazy používajú iba režim DirectQuery. Pomocou tohto nastavenia otestujte záložný výkon.

Vlastnosť DirectLakeBehavior možno nakonfigurovať pomocou tabuľkového objektového modelu (TOM) alebo jazyka na skriptovanie tabuľkového modelu (TMSL).

Nasledujúci príklad určuje, že všetky dotazy používajú iba režim Direct Lake:

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

Analýza spracovania dotazov

Ak chcete zistiť, či dotazy DAX vizuálu zostavy na zdroj údajov poskytujú najlepší výkon pomocou režimu Direct Lake alebo návratu do režimu DirectQuery, môžete na analýzu dotazov použiť analyzátor výkonu v aplikácii Power BI Desktop, rozhraní SQL Server Profiler alebo iných nástrojoch tretích strán. Ďalšie informácie nájdete v téme Analýza spracovania dotazov pre modely Direct Lake.

Obnoviť

V predvolenom nastavení sa zmeny údajov v službe OneLake automaticky prejavia v modeli Direct Lake. Toto správanie môžete zmeniť tak, že zakážte možnosť Udržiavať údaje Direct Lake aktuálne v nastaveniach modelu.

Snímka obrazovky s možnosťou obnovenia Direct Lake v nastaveniach modelu.

Možno budete chcieť zakázať, ak napríklad potrebujete povoliť dokončenie úloh prípravy údajov pred vystavením akýchkoľvek nových údajov spotrebiteľom modelu. Keď je obnovenie zakázané, obnovenie môžete vyvolať manuálne alebo pomocou rozhraní API na obnovenie. Vyvolanie obnovenia pre model Direct Lake je operácia s nízkymi nákladmi, kde model analyzuje metaúdaje najnovšej verzie tabuľky Delta Lake a aktualizuje sa tak, aby odkazla na najnovšie súbory vo OneLake.

Všimnite si, že Power BI môže pozastaviť automatické aktualizácie tabuliek Direct Lake, ak sa počas obnovovania vyskytne nezabezpečiteľná chyba, aby sa sémantický model mohol úspešne obnoviť. Power BI automaticky obnoví automatické aktualizácie po dokončení následného obnovenia vyvolaného používateľom bez chýb.

Jediné prihlásenie (SSO) je predvolene povolené

V predvolenom nastavení využívajú modely Direct Lake od spoločnosti Microsoft Entra jediné prihlásenie (SSO) pri prístupe k zdrojom údajov Fabric Lakehouse a Warehouse a používajú identitu používateľa, ktorý aktuálne pracuje s modelom. Konfiguráciu môžete skontrolovať v nastaveniach modelu Direct Lake tak, že rozbalíte časť Brána a cloudové pripojenia , ktorá je znázornená na nasledujúcej snímke obrazovky. Model Direct Lake nevyžaduje explicitné údajové pripojenie, pretože lakehouse alebo warehouse je priamo prístupné a jediné prihlásenie eliminuje potrebu uložených poverení na pripojenie.

Snímka obrazovky nastavení konfigurácie brány a cloudových pripojení.

Zdroj údajov Lakehouse alebo Warehouse môžete tiež explicitne previazať so sharovateľným cloudovým pripojením (SCC) v prípadoch, kde chcete použiť uložené poverenia, a tým zakázať jediné prihlásenie pre toto pripojenie zdroja údajov. Ak chcete výslovne naviazať zdroj údajov, vyberte tlačidlo SCC v Mapy na pole so zoznamom: v časti Brána a cloudové pripojenia. Nové pripojenie môžete vytvoriť aj tak, že vyberiete položku Vytvoriť pripojenie a potom pomocou krokov zadáte názov pripojenia. Potom ako metódu overovania pre nové pripojenie vyberte možnosť OAuth 2.0 , zadajte požadované poverenia a zrušte začiarknutie políčka Jediné prihlásenie a potom spojte zdroj údajov Lakehouse alebo Warehouse s novým pripojením SCC, ktoré ste práve vytvorili.

Konfigurácia pripojenia Predvolené: Jediné prihlásenie (Entra ID) zjednodušuje konfiguráciu modelu Direct Lake, ak však už máte osobné cloudové pripojenie (PCC) k zdroju údajov Lakehouse alebo Warehouse, model Direct Lake sa automaticky naviaže k zodpovedajúcemu PCC, takže nastavenia pripojenia, ktoré ste už definovali pre zdroj údajov, sa okamžite použijú. Mali by ste potvrdiť konfiguráciu pripojenia vašich modelov Direct Lake, aby sa zabezpečilo, že modely pristupujú k ich zdrojom údajov služby Fabric so správnymi nastaveniami.

Sémantické modely môžu používať predvolené nastavenie: konfiguráciu pripojenia jediného prihlásenia (Entra ID) pre služby Fabric Lakehouses a sklady v režime Direct Lake, Import a DirectQuery. Všetky ostatné zdroje údajov vyžadujú explicitne definované údajové pripojenia.

Zabezpečenie prístupu k vrstveným údajom

Modely Direct Lake vytvorené na základe úložísk jazera a skladov dodržiavajú vrstvený model zabezpečenia, ktorý podporujú jazerá a sklady, pričom vykonávajú kontroly povolení prostredníctvom koncového bodu T-SQL, aby sa zistilo, či identita snažiaca sa získať prístup k údajom má požadované povolenia na prístup k údajom. Modely Direct Lake predvolene používajú jediné prihlásenie (SSO), takže platné povolenia interaktívneho používateľa určujú, či má používateľ povolený alebo odmietnutý prístup k údajom. Ak je model Direct Lake nakonfigurovaný na používanie pevnej identity, efektívne povolenie pevnej identity určí, či používatelia, ktorí práve pracujú so sémantickým modelom, majú prístup k údajom. Koncový bod T-SQL vráti možnosť Povolené alebo Zamietnuté v modeli Direct Lake na základe kombinácie povolení zabezpečenia OneLake a SQL.

Správca skladu môže napríklad udeliť používateľovi povolenia SELECT pre tabuľku, aby používateľ mohol z danej tabuľky čítať aj vtedy, ak používateľ nemá žiadne povolenia zabezpečenia OneLake. Používateľ bol autorizovaný na úrovni lakehouse/warehouse. Naopak, správca skladu môže používateľovi tiež odoprieť prístup na čítanie k tabuľke. Používateľ potom nebude môcť čítať z danej tabuľky ani v prípade, že používateľ má povolenia na čítanie zabezpečenia OneLake. Príkaz DENY zrušil všetky udelené povolenia zabezpečenia OneLake alebo SQL. Platné povolenia, ktoré používateľ môže udeliť kombináciou zabezpečenia OneLake a povolení SQL, nájdete v nasledujúcej tabuľke.

Povolenia zabezpečenia OneLake Povolenia SQL Efektívne povolenia
Povoliť None Povoliť
None Povoliť Povoliť
Povoliť Poprieť Poprieť
None Poprieť Poprieť

Známe problémy a obmedzenia

  • Predvolene podporujú režim Direct Lake iba tabuľky v sémantickom modeli odvodenom z tabuliek v službe Lakehouse alebo Warehouse. Hoci tabuľky v modeli možno odvodzovať zo zobrazení SQL v službe Lakehouse alebo Warehouse, dotazy, ktoré tieto tabuľky používajú, sa vrátia späť do režimu DirectQuery.

  • Tabuľky sémantického modelu Direct Lake možno získať len z tabuliek a zobrazení z jedného skladu Lakehouse alebo Warehouse.

  • Tabuľky Direct Lake sa v súčasnosti nedajú zmiešať s inými typmi tabuliek, ako je napríklad Import, DirectQuery alebo Dual, v tom istom modeli. Zložené modely v súčasnosti nie sú podporované.

  • Vzťahy typu DateTime nie sú podporované v modeloch Direct Lake.

  • Vypočítané stĺpce a vypočítané tabuľky nie sú podporované.

  • Niektoré typy údajov nemusia byť podporované, napríklad desatinné miesta s vysokou presnosťou a typy peňazí.

  • Tabuľky Direct Lake nepodporjú zložité typy stĺpcov tabuľky Delta. Nepodporujú sa ani binárne typy a sémantické typy identifikátorov GUID. Tieto typy údajov musíte konvertovať na reťazce alebo iné podporované typy údajov.

  • Vzťahy tabuliek vyžadujú, aby sa zhodovali typy údajov ich kľúčových stĺpcov. Stĺpce primárneho kľúča musia obsahovať jedinečné hodnoty. Dotazy DAX zlyhajú, ak sa zistia duplicitné hodnoty primárneho kľúča.

  • Dĺžka hodnôt stĺpca reťazca je obmedzená na 32 764 znakov Unicode.

  • Hodnota s pohyblivou desatinnou čiarkou NaN (nie je číslo) nie je podporovaná v modeloch Direct Lake.

  • Vložené scenáre, ktoré závisia od vložených entít, zatiaľ nie sú podporované.

  • Overenie je pre modely Direct Lake obmedzené. Výbery používateľa sa považujú za správne a žiadne dotazy neoverujú kardinalitu a výbery krížového filtrovania pre vzťahy alebo pre vybratý stĺpec dátumov v tabuľke dátumov.

  • Karta Direct Lake v časti História obnovení uvádza iba zlyhania obnovenia súvisiace s režimom Direct Lake. Úspešné obnovenia sa momentálne vynechávajú.

Začať

Najlepším spôsobom, ako začať s riešením Direct Lake vo vašej organizácii, je vytvoriť lakehouse, vytvoriť v nej tabuľku Delta a potom vytvoriť základný sémantický model pre lakehouse vo vašom pracovnom priestore služby Microsoft Fabric. Ďalšie informácie nájdete v téme Vytvorenie jazera pre Direct Lake.