Semantiske modeltilstande i Power BI-tjeneste

Denne artikel indeholder en teknisk forklaring af semantiske Power BI-modeltilstande. Den gælder for semantiske modeller, der repræsenterer en direkte forbindelse til en eksternt hostet Analysis Services-model og også for modeller, der er udviklet i Power BI Desktop. I artiklen lægges der vægt på rationalet for hver tilstand og mulige indvirkninger på Power BI-kapacitetsressourcer.

De tre semantiske modeltilstande er:

Importtilstand

Importtilstand er den mest almindelige tilstand, der bruges til at udvikle semantiske modeller. Denne tilstand leverer hurtig ydeevne takket være forespørgsler i hukommelsen. Det giver også designfleksibilitet til modeludviklere og understøttelse af specifikke Power BI-tjeneste funktioner (Q&A, Hurtig indsigt osv.). På grund af disse styrker er det standardtilstanden, når du opretter en ny Power BI Desktop-løsning.

Det er vigtigt at forstå, at importerede data altid gemmes på disken. Når dataene forespørges eller opdateres, skal de være fuldt indlæst i hukommelsen i Power BI-kapaciteten. Når importmodellerne er i hukommelsen, kan de opnå meget hurtige forespørgselsresultater. Det er også vigtigt at forstå, at der ikke er noget begreb om, at en importmodel indlæses delvist i hukommelsen.

Når dataene opdateres, komprimeres og optimeres de og gemmes derefter på disken af VertiPaq-lagringsprogrammet. Når den indlæses fra disken i hukommelsen, er det muligt at se komprimering 10 gange. Det er derfor rimeligt at forvente, at 10 GB kildedata kan komprimeres til ca. 1 GB. Lagerstørrelsen på disken kan reduceres med 20 % i forhold til den komprimerede størrelse. Forskellen i størrelse kan bestemmes ved at sammenligne Power BI Desktop-filstørrelsen med filens hukommelsesforbrug i Jobliste.

Designfleksibilitet kan opnås på tre måder:

  • Integrer data ved at cachelagring af data fra dataflow og eksterne datakilder uanset datakildetype eller -format.
  • Brug hele sættet af Power Query M-formelsprog, der kaldes M, funktioner, når du opretter forespørgsler til dataforberedelse.
  • Anvend hele sættet af DAX-funktioner (Data Analysis Expressions), når modellen forbedres med forretningslogik. Der understøttes beregnede kolonner, beregnede tabeller og målinger.

Som vist på følgende billede kan en importmodel integrere data fra et vilkårligt antal understøttede datakildetyper.

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

Selvom der er overbevisende fordele forbundet med importmodeller, er der dog også ulemper:

  • Hele modellen skal indlæses i hukommelsen, før Power BI kan forespørge modellen, hvilket kan lægge pres på de tilgængelige kapacitetsressourcer, især i takt med at antallet og størrelsen af importmodeller vokser.
  • Modeldata er kun så aktuelle som den seneste opdatering, og importmodeller skal derfor opdateres, normalt på en planlagt basis.
  • En fuld opdatering fjerner alle data fra alle tabeller og genindlæser dem fra datakilden. Denne handling kan være dyr med hensyn til tid og ressourcer for Power BI-tjeneste og datakilderne.

Bemærk

Power BI kan opnå trinvis opdatering for at undgå at afkorte og genindlæse hele tabeller. Du kan få flere oplysninger, herunder understøttede planer og licenser, under Trinvis opdatering og data i realtid for semantiske modeller.

Fra et Power BI-tjeneste ressourceperspektiv kræver importmodeller:

  • Tilstrækkelig hukommelse til at indlæse modellen, når den forespørges eller opdateres.
  • Behandler ressourcer og ekstra hukommelsesressourcer for at opdatere data.

DirectQuery-tilstand

DirectQuery-tilstand er et alternativ til importtilstand. Modeller, der er udviklet i DirectQuery-tilstand, importerer ikke data. De består i stedet kun af metadata, der definerer modelstrukturen. Når modellen forespørges, bruges oprindelige forespørgsler til at hente data fra den underliggende datakilde.

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

Der er to hovedårsager til at overveje at udvikle en DirectQuery-model:

  • Når datamængderne er for store, selv når der anvendes metoder til datareduktion, kan de indlæses i en model eller praktisk talt opdateres.
  • Når rapporter og dashboards skal levere data i næsten realtid , ud over hvad der kan opnås inden for planlagte opdateringsgrænser. Planlagte opdateringsgrænser er otte gange om dagen for delt kapacitet og 48 gange om dagen for en Premium-kapacitet.

Der er flere fordele forbundet med DirectQuery-modeller:

  • Størrelsesgrænser for importmodeller gælder ikke.
  • Modeller kræver ikke planlagt opdatering af data.
  • Rapportbrugere kan se de nyeste data, når de interagerer med rapportfiltre og udsnit. Rapportbrugere kan også opdatere hele rapporten for at hente aktuelle data.
  • Rapporter i realtid kan udvikles ved hjælp af funktionen Automatisk sideopdatering .
  • Dashboardfelter kan, når de er baseret på DirectQuery-modeller, opdateres automatisk så ofte som hvert 15. minut.

Der er dog nogle begrænsninger knyttet til DirectQuery-modeller:

  • Power Query/Mashup-udtryk kan kun være funktioner, der kan transponeres til oprindelige forespørgsler, der forstås af datakilden.
  • DAX-formler er begrænset til kun at bruge funktioner, der kan transponeres til oprindelige forespørgsler, der forstås af datakilden. Beregnede tabeller understøttes ikke.
  • Hurtig indsigt funktioner understøttes ikke.

Fra et Power BI-tjeneste ressourceperspektiv kræver DirectQuery-modeller:

  • Minimal hukommelse til indlæsning af modellen (kun metadata), når der sendes en forespørgsel.
  • Nogle gange skal Power BI-tjeneste bruge betydelige processorressourcer til at generere og behandle forespørgsler, der sendes til datakilden. Når denne situation opstår, kan det påvirke dataoverførselshastigheden, især når samtidige brugere forespørger modellen.

Du kan finde flere oplysninger under Brug DirectQuery i Power BI Desktop.

Sammensat tilstand

Sammensat tilstand kan blande tilstandene Import og DirectQuery eller integrere flere DirectQuery-datakilder. Modeller, der er udviklet i sammensat tilstand, understøtter konfiguration af lagringstilstanden for hver modeltabel. Denne tilstand understøtter også beregnede tabeller, der er defineret med DAX.

Tabellagringstilstanden kan konfigureres som Import, DirectQuery eller Dual. En tabel, der er konfigureret som Dual-lagringstilstand, er både Import og DirectQuery, og denne indstilling gør det muligt for Power BI-tjeneste at bestemme den mest effektive tilstand, der skal bruges på forespørgselsbasis.

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

Sammensatte modeller bestræber sig på at levere det bedste fra tilstandene Import og DirectQuery. Når de er konfigureret korrekt, kan de kombinere den høje forespørgselsydeevne for modeller i hukommelsen med muligheden for at hente data i næsten realtid fra datakilder.

Du kan få mere at vide under Brug sammensatte modeller i Power BI Desktop.

Tabellerne Pure Import og DirectQuery

Dataudformere, der udvikler sammensatte modeller, konfigurerer sandsynligvis tabeller af dimensionstypen i lagringstilstanden Import eller Dual og tabeller af faktatypen i DirectQuery-tilstand. Du kan få flere oplysninger om rollerne i modeltabellen under Forstå stjerneskemaet og vigtigheden af Power BI.

Du kan f.eks. overveje en model med en tabel af dimensionstypen Product i tilstanden Dual og en tabel af faktatypen Sales i DirectQuery-tilstand. Tabellen Product kan forespørges effektivt og hurtigt fra hukommelsen for at gengive et rapportudsnit. Tabellen Sales kan også forespørges i DirectQuery-tilstand med den relaterede produkttabel. Den sidste forespørgsel kan gøre det muligt at oprette en enkelt effektiv oprindelig SQL-forespørgsel, der joinforbinder tabellerne Product og Sales , og filtrere efter værdierne i udsnittet.

Hybride tabeller

Dataudformere, der udvikler sammensatte modeller, kan også konfigurere faktatabeller som hybride tabeller. En hybridtabel er en tabel med en eller flere importpartitioner og én DirectQuery-partition. Fordelen ved en hybridtabel er, at den kan forespørges effektivt og hurtigt fra hukommelsen, samtidig med at den inkluderer de seneste dataændringer fra datakilden, der opstod efter den seneste importcyklus, som vist i følgende visualisering.

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

Den nemmeste måde at oprette en hybridtabel på er at konfigurere en politik for trinvis opdatering i Power BI Desktop og aktivere indstillingen Hent de nyeste data i realtid med DirectQuery (kun Premium). Når Power BI anvender en trinvis opdateringspolitik, hvor denne indstilling er aktiveret, partitioneres tabellen, f.eks. det partitioneringsskema, der blev vist i det forrige diagram. Du sikrer en god ydeevne ved at konfigurere tabeller af dimensionstypen i Dobbelt lagringstilstand, så Power BI kan generere effektive oprindelige SQL-forespørgsler, når du forespørger DirectQuery-partitionen.

Bemærk

Power BI understøtter kun hybridtabeller, når den semantiske model hostes i arbejdsområder på Premium-kapaciteter. Derfor skal du uploade din semantiske model til et Premium-arbejdsområde, hvis du konfigurerer en politik for trinvis opdatering med mulighed for at hente de nyeste data i realtid med DirectQuery. Du kan få flere oplysninger under Trinvis opdatering og data i realtid for semantiske modeller.

Det er også muligt at konvertere en importtabel til en hybridtabel ved at tilføje en DirectQuery-partition ved hjælp af TMSL (Tabular Model Scripting Language) eller TOM (Tabular Object Model) eller ved hjælp af et tredjepartsværktøj. Du kan f.eks. partitionere en faktatabel, så størstedelen af dataene er tilbage i data warehouse'et, mens kun en brøkdel af de nyeste data importeres. Denne fremgangsmåde kan hjælpe med at optimere ydeevnen, hvis størstedelen af disse data er historiske data, der sjældent tilgås. En hybridtabel kan have flere importpartitioner, men kun én DirectQuery-partition.