Vývoj sémantických modelov Direct Lake
Tento článok popisuje témy týkajúce sa navrhovania relevantných pre vývoj sémantických modelov Direct Lake.
Vytvorenie modelu
Portál služby Fabric používate na vytvorenie sémantického modelu Direct Lake v pracovnom priestore. Je to jednoduchý proces, ktorý zahŕňa výber tabuliek z jedného jazera alebo skladu, ktoré sa majú pridať do sémantického modelu.
Potom môžete pomocou webového modelovania ďalej vyvíjať sémantický model. Toto prostredie vám umožňuje vytvárať vzťahy medzi tabuľkami, vytvárať mierky a skupiny výpočtov, označiť tabuľky dátumov a nastaviť vlastnosti modelu a jeho objektov (ako napríklad formáty stĺpcov). Model môžete nastaviť aj zabezpečením na úrovni riadkov (RLS) definovaním rolí a pravidiel a pridaním členov (používateľských kont Microsoft Entra alebo skupín zabezpečenia) do týchto rolí.
Prípadne môžete pokračovať vo vývoji modelu pomocou nástroja kompatibilného s XMLA, ako je napríklad SQL Server Management Studio (SSMS) (verzia 19.1 alebo novšia) alebo nástroje komunity typu open-source. Ďalšie informácie nájdete podporu zapisovania modelu pomocou koncového bodu XMLA ďalej v tomto článku.
Tip
Ak chcete zistiť, ako vytvoriť lakehouse, tabuľku Delta a základný sémantický model Direct Lake, dokončite tomto kurze.
Tabuľky modelov
Tabuľky modelu sú založené buď na tabuľke, alebo na zobrazení koncového bodu analýzy SQL. Nepoužívajte však zobrazenia vždy, keď je to možné. Dôvodom je, že dotazy na tabuľku modelu založenú na zobrazení sa vždy vrátiť do režimu DirectQuery, čo môže mať za následok nižší výkon dotazov.
Tabuľky by mali okrem stĺpcov, ktoré podporujú modelové vzťahy, obsahovať stĺpce na filtrovanie, zoskupenie, zoradenie a sumarizáciu. Nepotrebné stĺpce nemajú vplyv na výkon dotazu v sémantickom modeli (pretože sa nenačítajú do pamäte), výsledkom je väčšia veľkosť úložiska v službe OneLake a na načítanie a údržbu vyžadujú viac výpočtových prostriedkov.
Varovanie
Používanie stĺpcov, ktoré sa používajú maskovanie dynamických údajov (DDM) v sémantických modeloch Direct Lake, nie je podporované.
Ďalšie informácie o tom, ako vybrať tabuľky, ktoré sa majú zahrnúť do sémantického modelu direct lake, nájdete v téme Úprava tabuliek pre sémantické modely Direct Lake.
Ďalšie informácie o stĺpcoch, ktoré sa majú zahrnúť do tabuliek sémantických modelov, nájdete v téme Princípy úložiska pre sémantické modely Direct Lake.
Vynútenie pravidiel prístupu k údajom
Ak máte požiadavky na dodanie podmnožín údajov modelu rôznym používateľom, môžete vynútiť pravidlá prístupu k údajom. Pravidlá môžete vynútiť nastavením zabezpečenia na úrovni objektu (OLS) a zabezpečenia na úrovni riadkov (RLS) v koncovom bode analýzy SQL alebo v sémantickom modeli.
Nota
Téma vynucovania pravidiel prístupu k údajom je iná, no zároveň súvisiaca s tým, aby nastavenie povolení pre spotrebiteľov obsahu, tvorcov a používateľov, ktorí budú spravovať sémantický model (a súvisiace položky služby Fabric). Ďalšie informácie o nastavení povolení nájdete v téme Spravovanie sémantických modelov Direct Lake.
Zabezpečenie na úrovni objektu (Object-Level Security, OLS)
Služba OLS zahŕňa obmedzenie prístupu na zisťovanie a dotazovanie objektov alebo stĺpcov. Pomocou služby OLS môžete napríklad obmedziť používateľov, ktorí majú prístup k stĺpcu Salary
z tabuľky Employee
.
Pre koncový bod analýzy SQL môžete nastaviť OLS na ovládanie prístupu ku objektom koncového bodu, ako sú napríklad tabuľky alebo zobrazenia, a zabezpečenie na úrovni stĺpca (CLS), na kontrolu prístupu k stĺpcom tabuľky koncového bodu.
V prípade sémantického modelu môžete nastaviť OLS na kontrolu prístupu k tabuľkám modelov alebo stĺpcom. Na nastavenie služby OLS je potrebné použiť nástroje komunity typu open-source, ako napríklad Tabular Editor.
Zabezpečenie na úrovni riadkov
Zabezpečenie na úrovni riadkov zahŕňa obmedzenie prístupu k podmnožine údajov v tabuľkách. Zabezpečenie na úrovni riadkov môžete napríklad použiť na zabezpečenie toho, aby predajcovia mali prístup k údajom o predaji len pre zákazníkov vo svojej oblasti predaja.
Pre koncový bod analýzy SQL môžete nastaviť zabezpečenie na úrovni riadkov na kontrolu prístupu k riadkom v tabuľke koncového bodu.
Dôležitý
Keď dotaz použije ľubovoľnú tabuľku, ktorá má v koncovom bode analýzy SQL zabezpečenie na úrovni riadkov, prejde späť do režimu DirectQuery. Výkon dotazov môže byť pomalší.
V prípade sémantického modelu môžete nastaviť zabezpečenie na úrovni riadkov na kontrolu prístupu k riadkom v tabuľkách modelov. Zabezpečenie na úrovni riadkov je možné nastaviť v prostredí webového modelovania alebo pomocou nástroja tretej strany.
Ako sa vyhodnocujú dotazy
dôvodom k vývoju sémantických modelov Direct Lake je dosiahnutie vysoký výkon dotazov s veľkými objemami údajov v službe OneLake. Preto by ste sa mali snažiť navrhnúť riešenie, ktoré maximalizuje šance na dotazovanie v pamäti.
Nasledujúce kroky približujú, ako sa dotazy vyhodnocujú (a či zlyhajú). Výhody režimu úložiska Direct Lake sú možné len vtedy, keď sa dosiahne piaty krok.
- Ak dotaz obsahuje ľubovoľnú tabuľku alebo stĺpec, ktorý je obmedzený sémantickým modelom OLS, vráti sa chybný výsledok (vizuál zostavy sa nepodarí vykresliť).
- Ak dotaz obsahuje stĺpec obmedzený koncovým bodom SQL Analytics (alebo je tabuľka zamietnutá), vráti sa chybný výsledok (vizuál zostavy sa nepodarí vykresliť).
- Ak cloudové pripojenie používa jediné prihlásenie (predvolené), protokol CLS je určený úrovňou prístupu spotrebiteľa zostavy.
- Ak cloudové pripojenie používa pevnú identitu, CLS je určená úrovňou prístupu pevnej identity.
- Ak dotaz obsahuje tabuľku v koncovom bode analýzy SQL, ktorá vynucuje zabezpečenie na úrovni riadkov alebo sa používa zobrazenie, daný dotaz prejde späť do režimu DirectQuery.
- Ak cloudové pripojenie používa jediné prihlásenie (predvolené), zabezpečenie na úrovni riadkov (RLS) je určené úrovňou prístupu zákazníka zostavy.
- Ak cloudové pripojenie používa pevnú identitu, zabezpečenie na úrovni prístupu je určené úrovňou prístupu pevnej identity.
- Ak dotazu prekročí bezpečnostné obmedzeniakapacity, vráti sa späť do režimu DirectQuery.
- V opačnom prípade bude dotaz splnený z vyrovnávacej pamäte v pamäti. Údaje stĺpcov sa načítajú do pamäte a vtedy, keď sú potrebné.
Povolenia zdrojovej položky
Konto používané na prístup k údajom je jedno z nasledujúcich možností.
- Ak cloudové pripojenie používa jediné prihlásenie (predvolené), ide o spotrebiteľa zostavy.
- Ak cloudové pripojenie používa pevnú identitu, ide o pevnú identitu.
Konto musí mať aspoň na čítanie a povolenia ReadData pre zdrojovú položku (lakehouse alebo warehouse). Povolenia položky možno zdediť z rolí pracovného priestoru alebo môžu byť explicitne priradené k položke, ako je to popísané v tomto článku.
Za predpokladu, že je táto požiadavka splnená, fabric udelí potrebný prístup k sémantickému modelu na prečítanie tabuliek Delta a súvisiacich súborov parquet (na načítanie údajov stĺpca do pamäte) a môžu sa použiť pravidlá prístupu k údajom.
Možnosti pravidla prístupu k údajom
Pravidlá prístupu k údajom môžete nastaviť v:
- Iba sémantický model.
- Koncový bod analýzy SQL.
- V sémantickom modeli aj koncovom bode analýzy SQL.
Pravidlá v sémantickom modeli
Ak musíte vynútiť pravidlá prístupu k údajom, mali by ste tak urobiť v sémantickom modeli vždy, keď budete životaschopní. Zabezpečenie na úrovni riadkov vynútené sémantickým modelom je spôsobené tým, že sa filtruje vyrovnávacia pamäť údajov v pamäti, aby sa dosiahli dotazy s vysokým výkonom.
Je to tiež vhodný prístup, keď spotrebiteľom zostáv nie je udelené povolenie na dotazovanie budovy jazera alebo skladu.
V oboch prípadoch sa dôrazne odporúča, aby cloudové pripojenie namiesto jediného prihlásenia používa pevnú identitu. Jediné prihlásenie by naznačovalo, že koncoví používatelia majú priamy prístup ku koncovému bodu analýzy SQL, a preto môžu obísť pravidlá zabezpečenia v sémantickom modeli.
Dôležitý
Povolenia pre položku sémantického modelu možno nastaviť explicitne prostredníctvom aplikácií služby Power BIalebo získané implicitne prostredníctvom rolí pracovného priestoru.
Predovšetkým sémantické pravidlá prístupu k údajom modelu sa nevynucujú pre používateľov, ktorí majú zapisovať povolenia v sémantickom modeli. Pravidlá prístupu k údajom sa naopak vzťahujú na používateľov, ktorí sú priradení k role Viewer pracovného priestoru. Používatelia priradení k správcu, Memberalebo prispievateľ rolu pracovného priestoru majú implicitne povolenia na zapisovanie pre sémantický model, a tak sa nevynucujú pravidlá prístupu k údajom. Ďalšie informácie nájdete v téme roly v pracovných priestoroch.
Pravidlá v koncovom bode analýzy SQL
Keď sémantický model cloudové pripojenie používa jediné prihlásenie (SSO), v koncovom bode analýzy SQL je vhodné vynútiť pravidlá prístupu k údajom. Dôvodom je, že identita používateľa je delegovaná na dotazovanie koncového bodu analýzy SQL, pričom sa zabezpečuje, aby dotazy vracali iba údaje, ku ktorým má používateľ prístup. Takisto je vhodné vynútiť pravidlá prístupu k údajom na tejto úrovni, keď budú používatelia dotazovať koncový bod analýzy SQL priamo na iné vyťaženia (napríklad vytvoriť stránkovanú zostavu služby Power BI alebo exportovať údaje).
Predovšetkým však sémantický modelový dotaz prejde späť do režimu DirectQuery, keď zahŕňa akúkoľvek tabuľku, ktorá vynucuje zabezpečenie na úrovni riadkov v koncovom bode analýzy SQL. Z tohto dôvodu sémantický model pravdepodobne nikdy neu ukladá údaje do vyrovnávacej pamäte, aby sa dosiahli dotazy s vysokým výkonom.
Pravidlá na oboch vrstvách
Pravidlá prístupu k údajom možno vynútiť v oboch vrstvách. Tento prístup si však vyžaduje dodatočnú zložitosť a režijné náklady na riadenie. V tomto prípade sa dôrazne odporúča, aby cloudové pripojenie namiesto jediného prihlásenia používa pevnú identitu.
Porovnanie možností pravidiel prístupu k údajom
Nasledujúca tabuľka porovnáva možnosti nastavenia prístupu k údajom.
Použitie pravidiel prístupu k údajom na | Komentár |
---|---|
Iba sémantický model | Túto možnosť použite, ak používateľom nie sú udelené povolenia na položky na dotazovanie v službe lakehouse alebo warehouse. Nastavenie cloudového pripojenia na používanie pevnej identity. Vysoký výkon dotazov možno dosiahnuť z vyrovnávacej pamäte v pamäti. |
Koncový bod analýzy SQL | Túto možnosť použite vtedy, keď používatelia potrebujú prístup k údajom zo skladu alebo sémantického modelu a konzistentnými pravidlami prístupu k údajom. Skontrolujte, či je pre cloudové pripojenie povolené jediné prihlásenie. Výkon dotazov môže byť pomalý. |
Lakehouse alebo sklad a sémantický model | Táto možnosť zahŕňa dodatočné režijné náklady na spravovanie. Nastavenie cloudového pripojenia na používanie pevnej identity. |
Odporúčané postupy na vynucovanie pravidiel prístupu k údajom
Tu sú odporúčané postupy súvisiace s vynucovaním pravidiel prístupu k údajom:
- Ak musia byť rôzni používatelia obmedzení na podmnožiny údajov vždy, keď je to životaschopné, vynucujte zabezpečenie na úrovni riadkov len vo vrstve sémantického modelu. Používatelia tak budú môcť využívať vysoký výkon dotazov v pamäti. V tomto prípade sa dôrazne odporúča, aby cloudové pripojenie namiesto jediného prihlásenia používa pevnú identitu.
- Ak je to možné, vyhnite sa vynucovaniu hodnôt OLS a CLS na niektorej vrstve, pretože to má za následok chyby vo vizuáloch zostáv. Chyby môžu viesť k zmätku alebo problémom používateľov. V prípade sumarizovateľných stĺpcov zvážte vytvorenie mierok, ktoré vrátia prázdne údaje za určitých podmienok namiesto zabezpečenia na úrovni riadkov (ak je to možné).
Podpora zapisovania modelu s koncovým bodom XMLA
Sémantické modely Direct Lake podporujú operácie zapisovania s koncovým bodom XMLA pomocou nástrojov ako SSMS (19.1 alebo novšia) a open-source nástrojov komunity.
Tip
Ďalšie informácie o používaní nástrojov tretích strán na vývoj, spravovanie alebo optimalizáciu sémantických modelov nájdete v scenári pokročilou správou dátových modelov používaní.
Pred vykonaním operácií zapisovania je pre kapacitu nutné povoliť možnosť XMLA na čítanie a zápis. Ďalšie informácie nájdete povolenieXMLA na čítanie a zapisovaie.
Operácie zapisovania modelu s podporou 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. Ďalšie informácie nájdete správa životného cyklu obsahu.
- Úlohy automatizácie, ako je napríklad sémantické obnovenie modelu a použitie zmien v sémantických modeloch Direct Lake pomocou prostredia PowerShell a rozhraní REST API.
Pri zmene sémantického modelu pomocou XMLA musíte aktualizovať ChangedProperties a kolekcie PBI_RemovedChildren pre zmenený objekt tak, aby obsahoval akékoľvek upravené alebo odstránené vlastnosti. Ak túto aktualizáciu nevykonáte, nástroje na modelovanie služby Power BI môžu prepísať všetky zmeny pri nasledujúcej synchronizácii schémy s službou Lakehouse.
Ďalšie informácie o značkách pôvodu objektov sémantického modelu v značkách pôvodu pre sémantické modely služby Power BI článku.
Dôležitý
Tabuľky Direct Lake vytvorené pomocou aplikácií XMLA budú spočiatku v nespracovanom stave, kým aplikácia odošle príkaz na obnovenie. Dotazy, ktoré zahŕňajú nespracované tabuľky, sa vždy vrátia späť do režimu DirectQuery. Keď teda vytvoríte nový sémantický model, nezabudnite obnoviť model na spracovanie jeho tabuliek.
Ďalšie informácie nájdete v téme prepojenie s sémantickým modelom s koncovým bodom XMLA.
Metaúdaje modelu Direct Lake
Keď sa pripojíte k sémantickému modelu Direct Lake s koncovým bodom XMLA, metaúdaje vyzerajú ako všetky ostatné modely. 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 analýzy SQL služby lakehouse alebo warehouse. Direct Lake používa koncový bod analýzy SQL na zisťovanie schémy a informácií o zabezpečení, ale načíta údaje priamo z OneLake (pokiaľ z akéhokoľvek dôvodu nespadne späť do režimu DirectQuery).
Úlohy po publikovaní
Po publikovaní sémantického modelu direct lake by ste mali dokončiť niektoré úlohy nastavenia. Ďalšie informácie nájdete Spravovať sémantické modely Direct Lake.
Nepodporované funkcie
Sémantické modely Direct Lake nepodporujú nasledujúce funkcie modelu:
- Vypočítavané tabuľky odkazujúce na tabuľky alebo stĺpce v režime úložiska Direct Lake
- Vypočítané stĺpce odkazujúce na tabuľky alebo stĺpce v režime úložiska Direct Lake
- Hybridné tabuľky
- Používateľom definované agregácie
- Zložené modely v tom, že nemôžete kombinovať tabuľky režimu úložiska Direct Lake s tabuľkami režimu úložiska DirectQuery alebo Duálny, v tom istom modeli. Pomocou aplikácie Power BI Desktop však môžete vytvoriť dynamické pripojenie k sémantickému modelu Direct Lake a potom ho rozšíriť o nové mierky. Potom môžete kliknúť na možnosť vykonať zmeny v tomto modeli a pridať nové tabuľky (pomocou režimu importu, DirectQuery alebo duálneho režimu úložiska). Táto akcia vytvorí pripojenie DirectQuery k sémantickému modelu v režime Direct Lake, takže tabuľky sa zobrazujú ako režim úložiska DirectQuery, ale tento režim úložiska nemenuje záložný do režimu DirectQuery. Iba pripojenie medzi týmto novým modelom a modelom Direct Lake je DirectQuery a dotazy stále využívajú direct lake na získanie údajov z OneLake. Ďalšie informácie nájdete Vytvorenie zloženého modelu v sémantickom modeli.
- Stĺpce založené na stĺpcoch koncového bodu analýzy SQL, ktoré používajú dynamické maskovanie údajov.