Sémantické režimy modelu v služba Power BI

Tento článek obsahuje technické vysvětlení režimů sémantických modelů Power BI. Platí pro sémantické modely, které představují živé připojení k externímu hostovanému modelu Analysis Services a také na modely vyvinuté v Power BI Desktopu. Článek zdůrazňuje odůvodnění jednotlivých režimů a možné dopady na prostředky kapacity Power BI.

Existují tři sémantické režimy modelu:

Režim Import

Režim importu je nejběžnější režim používaný k vývoji sémantických modelů. Tento režim poskytuje rychlý výkon díky dotazování v paměti. Nabízí také flexibilitu návrhu pro modelátory a podporu konkrétních funkcí služba Power BI (Q&A, Rychlé přehledy atd.). Z těchto silných stránek se při vytváření nového řešení Power BI Desktopu jedná o výchozí režim.

Je důležité pochopit, že importovaná data se vždy ukládají na disk. Při dotazování nebo aktualizaci musí být data plně načtena do paměti kapacity Power BI. Jakmile jsou modely importu v paměti, můžou dosáhnout velmi rychlých výsledků dotazů. Je také důležité pochopit, že neexistuje žádný koncept modelu importu, který se částečně načítá do paměti.

Při aktualizaci se data komprimují a optimalizují a uloží na disk modulem úložiště VertiPaq. Při načítání z disku do paměti je možné zobrazit 10násobnou kompresi. Proto je rozumné očekávat, že se 10 GB zdrojových dat může komprimovat na velikost přibližně 1 GB. Velikost úložiště na disku může dosáhnout snížení o 20 % z komprimované velikosti. Rozdíl velikosti lze určit porovnáním velikosti souboru Power BI Desktopu s využitím paměti Správce úloh.

Flexibilitu návrhu lze dosáhnout třemi způsoby:

  • Integrujte data ukládáním dat do mezipaměti z toků dat a externími zdroji dat bez ohledu na typ nebo formát zdroje dat.
  • Při vytváření dotazů pro přípravu dat používejte celou sadu jazyka vzorců Power Query M, která se označuje jako M.
  • Při vylepšování modelu pomocí obchodní logiky použijte celou sadu funkcí DAX (Data Analysis Expressions). Podporuje počítané sloupce, počítané tabulky a míry.

Jak je znázorněno na následujícím obrázku, model importu může integrovat data z libovolného počtu podporovaných typů zdrojů dat.

Diagram shows an Import model can integrate data from any number of external data source types.

I když ale existují přesvědčivé výhody spojené s modely importu, existují i nevýhody:

  • Celý model se musí načíst do paměti, aby se Power BI mohl dotazovat na model, což může tlačit na dostupné prostředky kapacity, zejména s rostoucím počtem a velikostí modelů importu.
  • Data modelu jsou aktuální jenom jako nejnovější aktualizace, takže modely importu je potřeba aktualizovat, obvykle podle plánu.
  • Úplná aktualizace odebere všechna data ze všech tabulek a znovu je načte ze zdroje dat. Tato operace může být náročná z hlediska času a prostředků pro služba Power BI a zdroje dat.

Poznámka:

Power BI může dosáhnout přírůstkové aktualizace, aby nedocházelo ke zkrácení a opětovnému načítání celých tabulek. Další informace, včetně podporovaných plánů a licencování, najdete v tématu Přírůstková aktualizace a data v reálném čase pro sémantické modely.

Z hlediska služba Power BI prostředků modely importu vyžadují:

  • Dostatek paměti pro načtení modelu při dotazování nebo aktualizaci.
  • Zpracování prostředků a dodatečných paměťových prostředků pro aktualizaci dat

Režim DirectQuery

Režim DirectQuery je alternativou k režimu importu. Modely vyvinuté v režimu DirectQuery neimportují data. Místo toho se skládají pouze z metadat definujících strukturu modelu. Při dotazování modelu se nativní dotazy používají k načtení dat z podkladového zdroje dat.

Diagram shows how DirectQuery model issues native queries to the underlying data source.

Existují dva hlavní důvody, proč zvážit vývoj modelu DirectQuery:

  • Pokud jsou objemy dat příliš velké, i když se použijí metody redukce dat, načtení do modelu nebo prakticky aktualizace.
  • Když sestavy a řídicí panely potřebují dodávat data téměř v reálném čase , nad rámec toho, čeho je možné dosáhnout v rámci plánovaných limitů aktualizace. Limity plánovaných aktualizací jsou pro sdílenou kapacitu osmkrát denně a 48krát denně pro kapacitu Premium.

Modely DirectQuery mají několik výhod:

  • Omezení velikosti modelu importu se nevztahují.
  • Modely nevyžadují plánovanou aktualizaci dat.
  • Uživatelé sestav uvidí nejnovější data při interakci s filtry sestav a průřezy. Uživatelé sestavy také můžou aktualizovat celou sestavu a načíst aktuální data.
  • Sestavy v reálném čase je možné vyvíjet pomocí funkce Automatické aktualizace stránky.
  • Dlaždice řídicího panelu, které jsou založené na modelech DirectQuery, se můžou aktualizovat automaticky každých 15 minut.

Existují však určitá omezení spojená s modely DirectQuery:

  • Výrazy Power Query nebo Mashup můžou být jenom funkce, které se dají transponovat do nativních dotazů, kterým zdroj dat rozumí.
  • Vzorce JAZYKA DAX jsou omezené na použití pouze funkcí, které lze transponovat na nativní dotazy pochopitelné zdrojem dat. Počítané tabulky se nepodporují.
  • Rychlé přehledy funkce nejsou podporované.

Z hlediska služba Power BI prostředků modely DirectQuery vyžadují:

  • Minimální paměť pro načtení modelu (pouze metadata) při dotazování.
  • Někdy služba Power BI musí k vygenerování a zpracování dotazů odesílaných do zdroje dat použít významné prostředky procesoru. Pokud k této situaci dojde, může to mít vliv na propustnost, zejména když se na model dotazují souběžní uživatelé.

Další informace najdete v tématu Použití DirectQuery v Power BI Desktopu.

Složený režim

Složený režim může kombinovat režimy Import a DirectQuery nebo integrovat více zdrojů dat DirectQuery. Modely vyvinuté ve složených režimech podporují konfiguraci režimu úložiště pro každou tabulku modelu. Tento režim podporuje také počítané tabulky definované pomocí jazyka DAX.

Režim úložiště tabulek lze nakonfigurovat jako Import, DirectQuery nebo Duální. Tabulka nakonfigurovaná jako duální režim úložiště je Import i DirectQuery a toto nastavení umožňuje služba Power BI určit nejúčinnější režim, který se má použít pro jednotlivé dotazy.

Diagram shows that a Composite model is a combination of Import and DirectQuery storage modes, configured at table level.

Složené modely se snaží poskytovat to nejlepší z režimů Import a DirectQuery. Při správné konfiguraci můžou zkombinovat vysoký výkon dotazů modelů v paměti s možností načíst data téměř v reálném čase ze zdrojů dat.

Další informace najdete v tématu Použití složených modelů v Power BI Desktopu.

Tabulky Pure Import a DirectQuery

Modelátoři dat, kteří vyvíjejí složené modely, pravděpodobně nakonfigurují tabulky dimenzí v režimu úložiště Import nebo Duální a tabulky faktů v režimu DirectQuery. Další informace o rolích tabulek modelů najdete v tématu Vysvětlení hvězdicového schématu a důležitosti pro Power BI.

Představte si například model s tabulkou dimenzí produktu v duálním režimu a tabulkou faktů Sales v režimu DirectQuery. Tabulka Product může být efektivně a rychle dotazována z paměti pro vykreslení průřezu sestavy. V režimu DirectQuery je možné dotazovat také tabulku Sales (Prodej ) se související tabulkou Product (Produkt ). Druhý dotaz by mohl umožnit generování jednoho efektivního nativního dotazu SQL, který spojuje tabulky Product and Sales a filtruje podle hodnot průřezu.

Hybridní tabulky

Modelátoři dat, kteří vyvíjejí složené modely, mohou také konfigurovat tabulky faktů jako hybridní tabulky. Hybridní tabulka je tabulka s jedním nebo více oddíly importu a jedním oddílem DirectQuery. Výhodou hybridní tabulky je, že by mohla být efektivně a rychle dotazována z paměti a zároveň zahrnovala nejnovější změny dat ze zdroje dat, ke kterému došlo po posledním cyklu importu, jak ukazuje následující vizualizace.

Screenshot shows a hybrid table partition with Archived, Incremental refresh, and Real time rows marked.

Nejjednodušší způsob, jak vytvořit hybridní tabulku, je nakonfigurovat zásady přírůstkové aktualizace v Power BI Desktopu a povolit možnost Získat nejnovější data v reálném čase pomocí DirectQuery (jenom Premium). Když Power BI použije zásadu přírůstkové aktualizace, která má tuto možnost povolenou, rozdělí tabulku jako schéma dělení zobrazené v předchozím diagramu. Pokud chcete zajistit dobrý výkon, nakonfigurujte tabulky typu dimenze v režimu duálního úložiště, aby Power BI při dotazování oddílu DirectQuery mohl generovat efektivní nativní dotazy SQL.

Poznámka:

Power BI podporuje hybridní tabulky pouze v případě, že je sémantický model hostovaný v pracovních prostorech v kapacitách Premium. Proto je nutné nahrát sémantický model do pracovního prostoru Premium, pokud nakonfigurujete zásadu přírůstkové aktualizace s možností získat nejnovější data v reálném čase pomocí DirectQuery. Další informace najdete v tématu Přírůstková aktualizace a data v reálném čase pro sémantické modely.

Tabulku Import můžete také převést na hybridní tabulku přidáním oddílu DirectQuery pomocí jazyka TMSL (Tabular Model Scripting Language) nebo tabulkového objektového modelu (TOM) nebo pomocí nástroje třetí strany. Můžete například rozdělit tabulku faktů tak, aby velká část dat zůstala v datovém skladu, zatímco se importuje jenom zlomek nejnovějších dat. Tento přístup může pomoct optimalizovat výkon, pokud je většina těchto dat historická data, ke kterým dochází zřídka. Hybridní tabulka může mít více oddílů importu, ale pouze jeden oddíl DirectQuery.