Semantiske modellmoduser i Power Bi-tjeneste

Denne artikkelen gir en teknisk forklaring av Power BIs semantiske modellmoduser. Den gjelder for semantiske modeller som representerer en levende tilkobling til en eksternt hostet Analysis Services-modell, og også for modeller utviklet i Power BI Desktop. Artikkelen understreker begrunnelsen for hver modus, og mulige konsekvenser for Power BI-kapasitetsressurser.

De tre semantiske modellmodusene er:

Importmodus

Importmodus er den vanligste modusen som brukes til å utvikle semantiske modeller. Denne modusen gir rask ytelse takket være spørringer i minnet. Den tilbyr også designfleksibilitet for modellbyggere, og støtte for spesifikke Power BI-tjenestefunksjoner (spørsmål og svar, Quick Insights, osv.). På grunn av disse styrkene er det standardmodus når man lager en ny Power BI Desktop-løsning.

Det er viktig å forstå at importerte data alltid lagres på disk. Når de forespørres eller oppdateres, må dataene lastes fullstendig inn i minnet til Power BI-kapasiteten. Når de er i minnet, kan importmodeller oppnå svært raske spørringsresultater. Det er også viktig å forstå at det ikke finnes noe konsept om at en importmodell delvis lastes inn i minnet.

Når dataene oppdateres, komprimeres og optimaliseres de og lagres deretter på disk av VertiPaq-lagringsmotoren. Når den lastes fra disk inn i minnet, er det mulig å se 10 ganger komprimering. Så det er rimelig å forvente at 10 GB kildedata kan komprimeres til omtrent 1 GB størrelse. Lagringsstørrelsen på disken kan oppnå en reduksjon på 20% fra den komprimerte størrelsen. Forskjellen i størrelse kan bestemmes ved å sammenligne filstørrelsen på Power BI Desktop med minneforbruket i Oppgavebehandlingen.

Designfleksibilitet kan oppnås på tre måter:

  • Integrer data ved å cache data fra dataflyter og eksterne datakilder, uansett type eller format for datakilde.
  • Bruk hele sett av Power Query M-formelspråk, kalt M, når du lager dataforberedelsesspørsler.
  • Bruk hele settet av Data Analysis Expressions (DAX)- funksjoner når du forbedrer modellen med forretningslogikk. Det finnes støtte for beregnede kolonner, beregnede tabeller og målinger.

Som vist i bildet nedenfor, kan en importmodell integrere data fra et hvilket som helst antall støttede datakildetyper.

Diagrammet viser at en importmodell kan integrere data fra et hvilket som helst antall eksterne datakildetyper.

Men selv om det finnes overbevisende fordeler forbundet med importmodeller, finnes det også ulemper:

  • Hele modellen må lastes inn i minnet før Power BI kan spørre modellen, noe som kan legge press på tilgjengelige kapasitetsressurser, spesielt ettersom antall og størrelse på importmodeller øker.
  • Modelldata er bare så oppdatert som den siste oppdateringen, og derfor må importmodeller oppdateres, vanligvis på en planlagt basis.
  • En full oppdatering fjerner all data fra alle tabeller og laster dem inn fra datakilden. Denne operasjonen kan være kostbar både i tid og ressurser for Power BI-tjenesten og datakildene.

Note

Power BI kan oppnå inkrementell oppdatering for å unngå å kutte og laste inn hele tabeller på nytt. For mer informasjon, inkludert støttede planer og lisensiering, se Incremental refresh og sanntidsdata for semantiske modeller.

Fra et Power BI-tjenesteressursperspektiv krever importmodeller:

  • Tilstrekkelig minne til å laste modellen når den blir forespurt eller oppdatert.
  • Prosesseringsressurser og ekstra minneressurser for å oppdatere data.

DirectQuery-modus

DirectQuery-modus er et alternativ til importmodus. Modeller utviklet i DirectQuery-modus importerer ikke data. I stedet består de kun av metadata som definerer modellstrukturen. Når modellen forespørres, brukes native spørringer for å hente data fra den underliggende datakilden.

Diagrammet viser hvordan DirectQuery-modellen sender native spørringer til den underliggende datakilden.

Det er to hovedgrunner til å vurdere å utvikle en DirectQuery-modell:

  • Når datavolumene er for store, selv når metoder for datareduksjon brukes, lastes inn i en modell, eller oppdateres praktisk talt.
  • Når rapporter og dashbord må levere data nær sanntid , utover det som kan oppnås innenfor planlagte oppdateringsgrenser. Planlagte oppdateringsgrenser er åtte ganger daglig for delt kapasitet, og 48 ganger per dag for Premium-kapasitet.

Det er flere fordeler knyttet til DirectQuery-modeller:

  • Importmodellstørrelsesbegrensninger gjelder ikke.
  • Modeller krever ikke planlagt dataoppdatering.
  • Rapportbrukere ser de nyeste dataene når de samhandler med rapportfiltre og slicere. I tillegg kan brukere av rapporten oppdatere hele rapporten for å hente ut gjeldende data.
  • Sanntidsrapporter kan utvikles ved å bruke funksjonen for automatisk sideoppdatering .
  • Dashbordfliser, når de er basert på DirectQuery-modeller, kan oppdateres automatisk så ofte som hvert 15. minutt.

Det finnes imidlertid noen begrensninger knyttet til DirectQuery-modeller:

  • Power Query/Mashup-uttrykk kan bare være funksjoner som kan transponeres til native spørringer som datakilden forstår.
  • DAX-formler er begrenset til kun å bruke funksjoner som kan transponeres til native spørringer som datakilden forstår. Kalkulerte tabeller støttes ikke.
  • Quick Insights-funksjonene støttes ikke.

Fra et Power BI-tjenesteressursperspektiv krever DirectQuery-modeller:

  • Minimalt minne for å laste inn modellen (kun metadata) når den blir spurt.
  • Noen ganger må Power BI-tjenesten bruke betydelige prosessorressurser for å generere og behandle spørringer sendt til datakilden. Når denne situasjonen oppstår, kan det påvirke gjennomstrømningen, spesielt når samtidige brukere spør modellen.

Hvis du vil ha mer informasjon, kan du se Bruke DirectQuery i Power BI Desktop.

Komposittmodus

Composite-modus kan blande Import- og DirectQuery-moduser, eller integrere flere DirectQuery-datakilder. Modeller utviklet i komposittmodus støtter konfigurasjon av lagringsmodus for hver modelltabell. Denne modusen støtter også beregnede tabeller, definert med DAX.

Tabelllagringsmodusen kan konfigureres som Import, DirectQuery eller Dual. En tabell konfigurert som Dual Storage mode er både Import og DirectQuery, og denne innstillingen lar Power BI-tjenesten bestemme den mest effektive modusen å bruke per forespørsel.

Diagrammet viser at en sammensatt modell er en kombinasjon av Import- og DirectQuery-lagringsmoduser, konfigurert på tabellnivå.

Komposittmodeller streber etter å levere det beste av import- og DirectQuery-moduser. Når de konfigureres riktig, kan de kombinere den høye spørringsytelsen til minnemodeller med muligheten til å hente data nær sanntid fra datakilder.

Hvis du vil ha mer informasjon, kan du se Bruke sammensatte modeller i Power BI Desktop.

Rene import- og DirectQuery-tabeller

Datamodellører som utvikler sammensatte modeller konfigurerer sannsynligvis dimensjonstypetabeller i import- eller dobbeltlagringsmodus, og faktatypetabeller i DirectQuery-modus. For mer informasjon om modelltabellroller, se Forstå stjerneskjema og viktigheten av Power BI.

For eksempel, vurder en modell med en produktdimensjonstypetabell i Dual-modus, og en Sales-faktatypetabell i DirectQuery-modus. Produkttabellen kunne effektivt og raskt forespørres fra minnet for å gjengi en rapportslicer. Salgstabellen kunne også forespørres i DirectQuery-modus med den tilhørende Produktet-tabellen. Den sistnevnte spørringen kan muliggjøre generering av en enkelt effektiv native SQL-spørring som kobler seg til Produkt- og Salgstabeller , og filtrerer etter slicer-verdiene.

Hybridtabeller

Datamodellører som utvikler sammensatte modeller kan også konfigurere faktatabeller som hybride tabeller. En hybridtabell er en tabell med én eller flere Import-partisjoner og én DirectQuery-partisjon. Fordelen med en hybridtabell er at den kan forespørres effektivt og raskt fra minnet, samtidig som den inkluderer de siste dataendringene fra datakilden som skjedde etter siste importsyklus, slik følgende visualisering illustrerer.

Skjermbildet viser en hybrid tabell-partisjon med Arkivert, Inkrementell oppdatering og sanntidsrader markert.

Den enkleste måten å lage en hybridtabell på er å konfigurere en inkrementell oppdateringspolicy i Power BI Desktop og aktivere alternativet Få de nyeste dataene i sanntid med DirectQuery (kun Premium). Når Power BI anvender en inkrementell oppdateringspolicy som har dette alternativet aktivert, partisjonerer den tabellen slik som partisjoneringsskjemaet vist i forrige diagram. For å sikre god ytelse, konfigurer dimensjonstypetabellene dine i Dual storage-modus slik at Power BI kan generere effektive native SQL-spørringer når du spør DirectQuery-partisjonen.

Note

Power BI støtter hybride tabeller kun når den semantiske modellen er hostet i arbeidsområder på Premium-kapasiteter. Derfor må du laste opp din semantiske modell til et Premium-arbeidsområde hvis du konfigurerer en inkrementell oppdateringspolicy med mulighet for å hente de nyeste dataene i sanntid med DirectQuery. For mer informasjon, se Inkrementell oppdatering og sanntidsdata for semantiske modeller.

Det er også mulig å konvertere en importtabell til en hybridtabell ved å legge til en DirectQuery-partisjon ved å bruke Tabular Model Scripting Language (TMSL) eller Tabular Object Model (TOM), eller ved å bruke et tredjepartsverktøy. For eksempel kan du partisjonere en faktatabell slik at hoveddelen av dataene blir liggende i datalageret, mens bare en brøkdel av de nyeste dataene importeres. Denne tilnærmingen kan bidra til å optimalisere ytelsen dersom hoveddelen av disse dataene er historiske data som sjelden brukes. En hybridtabell kan ha flere Import-partisjoner, men bare én DirectQuery-partisjon.