Semantiske modellmoduser i Power Bi-tjeneste

Denne artikkelen inneholder en teknisk forklaring av semantiske moduser for Power BI-semantiske modeller. Det gjelder semantiske modeller som representerer en live-tilkobling til en ekstern analysis services-modell, og også for modeller som er utviklet i Power BI Desktop. Artikkelen understreker begrunnelsen for hver modus, og mulige innvirkninger på Kapasitetsressurser for Power BI.

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ørring i minnet. Det gir også utformingsfleksibilitet til modellerere og støtte for bestemte Power Bi-tjeneste funksjoner (Q&A, Hurtiginnsikter osv.). På grunn av disse styrkene er det standardmodus når du oppretter en ny Power BI Desktop-løsning.

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

Når de oppdateres, komprimeres og optimaliseres dataene og lagres deretter på disken av VertiPaq-lagringsmotoren. Når den lastes inn fra disken i minnet, er det mulig å se 10 ganger komprimering. Derfor er det rimelig å forvente at 10 GB kildedata kan komprimere til omtrent 1 GB i 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 i Power BI Desktop med minnebruken i Oppgavebehandling for filen.

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

  • Integrer data ved å bufre data fra dataflyter og eksterne datakilder, uansett datakildetype eller -format.
  • Bruk hele settet med Power Query M-formelspråk, kalt M, funksjoner når du oppretter dataforberedelsesspørringer.
  • Bruk hele settet med DAX-funksjoner (Data Analysis Expressions) når du forbedrer modellen med forretningslogikk. Det finnes støtte for beregnede kolonner, beregnede tabeller og mål.

Som vist på bildet nedenfor, kan en importmodell integrere data fra en rekke støttede datakildetyper.

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

Men selv om det er overbevisende fordeler knyttet til importmodeller, er 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 etter hvert som antallet og størrelsen på importmodeller vokser.
  • Modelldata er bare like oppdaterte som den nyeste oppdateringen, og derfor må importmodeller oppdateres, vanligvis på planlagt basis.
  • En fullstendig oppdatering fjerner alle data fra alle tabeller og laster dem inn på nytt fra datakilden. Denne operasjonen kan være dyr når det gjelder tid og ressurser for Power Bi-tjeneste og datakildene.

Merk

Power BI kan oppnå trinnvis oppdatering for å unngå å avkorte og laste inn hele tabeller på nytt. Hvis du vil ha mer informasjon, inkludert støttede planer og lisensiering, kan du se Trinnvis oppdatering og sanntidsdata for semantiske modeller.

Importmodeller krever følgende fra et Power Bi-tjeneste ressursperspektiv:

  • Nok minne til å laste inn modellen når den spørres eller oppdateres.
  • Behandler ressurser og ekstra minneressurser for å oppdatere data.

DirectQuery-modus

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

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

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

  • Når datavolumer er for store, selv når datareduksjonsmetoder brukes, lastes inn i en modell eller praktisk talt oppdateres.
  • Når rapporter og instrumentbord må levere nær sanntidsdata , utover det som kan oppnås innenfor planlagte oppdateringsgrenser. Planlagte oppdateringsgrenser er åtte ganger om dagen for delt kapasitet, og 48 ganger om dagen for en Premium-kapasitet.

Det finnes flere fordeler knyttet til DirectQuery-modeller:

  • Begrensninger for importmodellstørrelse gjelder ikke.
  • Modeller krever ikke planlagt dataoppdatering.
  • Rapportbrukere ser de nyeste dataene når de samhandler med rapportfiltre og slicere. Rapportbrukere kan også oppdatere hele rapporten for å hente gjeldende data.
  • Sanntidsrapporter kan utvikles ved hjelp av funksjonen Automatisk sideoppdatering .
  • Instrumentbordfliser, 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 opprinnelige spørringer som forstås av datakilden.
  • DAX-formler er begrenset til å bare bruke funksjoner som kan transponeres til opprinnelige spørringer som forstås av datakilden. Beregnede tabeller støttes ikke.
  • Hurtiginnsikter funksjoner støttes ikke.

DirectQuery-modeller krever følgende fra et Power Bi-tjeneste ressursperspektiv:

  • Minimalt minne for å laste inn modellen (bare metadata) når den spørres.
  • Noen ganger må Power Bi-tjeneste bruke betydelige prosessorressurser til å generere og behandle spørringer som sendes til datakilden. Når denne situasjonen oppstår, kan det påvirke gjennomstrømmingen, spesielt når samtidige brukere spør etter modellen.

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

Sammensatt modus

Sammensatt modus kan blande import- og DirectQuery-moduser, eller integrere flere DirectQuery-datakilder. Modeller som er utviklet i sammensatt modus, støtter konfigurering 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 som er konfigurert som dobbel lagringsmodus, er både Import og DirectQuery, og denne innstillingen gjør det mulig for Power Bi-tjeneste å bestemme den mest effektive modusen som skal brukes på en spørring-for-spørring-basis.

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

Sammensatte modeller streber etter å levere det beste av import- og DirectQuery-moduser. Når de er konfigurert på riktig måte, kan de kombinere den høye spørringsytelsen til modeller i minnet 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.

Pure Import- og DirectQuery-tabeller

Datamodellerere som utvikler sammensatte modeller, vil sannsynligvis konfigurere dimensjonstypetabeller i import- eller dobbel lagringsmodus, og faktatypetabeller i DirectQuery-modus. Hvis du vil ha mer informasjon om modelltabellroller, kan du se Forstå stjerneskjema og viktigheten for Power BI.

Vurder for eksempel en modell med en produktdimensjonstypetabell i dobbel modus, og en faktatypetabell for salg i DirectQuery-modus. Produkttabellen kan være effektivt og raskt spurt fra minnet for å gjengi en rapportslicer. Salg-tabellen kan også spørres i DirectQuery-modus med den relaterte produkttabellen. Den sistnevnte spørringen kan aktivere generering av en enkelt effektiv opprinnelig SQL-spørring som føyer sammen produkt - og salgstabeller , og filtrerer etter slicerverdiene.

Hybridtabeller

Datamodellerere som utvikler sammensatte modeller, kan også konfigurere faktatabeller som hybridtabeller. En hybridtabell er en tabell med én eller flere importpartisjoner og én DirectQuery-partisjon. Fordelen med en hybridtabell er at den effektivt og raskt kan spørres fra minnet samtidig som den inkluderer de nyeste dataendringene fra datakilden som oppstod etter den siste importsyklusen, som følgende visualisering illustrerer.

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

Den enkleste måten å opprette en hybridtabell på, er å konfigurere en policy for trinnvis oppdatering i Power BI Desktop og aktivere alternativet Få de nyeste dataene i sanntid med DirectQuery (bare Premium). Når Power BI bruker en policy for trinnvis oppdatering som har dette alternativet aktivert, partisjonerer den tabellen som partisjoneringsskjemaet som vises i det forrige diagrammet. Konfigurer dimensjonstypetabellene i dobbel lagringsmodus for å sikre god ytelse, slik at Power BI kan generere effektive opprinnelige SQL-spørringer når du spør DirectQuery-partisjonen.

Merk

Power BI støtter bare hybridtabeller når den semantiske modellen driftes i arbeidsområder på Premium-kapasiteter. Du må derfor laste opp semantisk modell til et Premium-arbeidsområde hvis du konfigurerer en policy for trinnvis oppdatering med alternativet for å få de nyeste dataene i sanntid med DirectQuery. Hvis du vil ha mer informasjon, kan du se Trinnvis oppdatering og sanntidsdata for semantiske modeller.

Det er også mulig å konvertere en importtabell til en hybridtabell ved å legge til en DirectQuery-partisjon ved hjelp av Tabular Model Scripting Language (TMSL) eller Tabular Object Model (TOM) eller ved hjelp av et tredjepartsverktøy. Du kan for eksempel partisjonere en faktatabell slik at hoveddelen av dataene blir igjen i datalageret, mens bare en brøkdel av de nyeste dataene importeres. Denne fremgangsmåten kan bidra til å optimalisere ytelsen hvis hoveddelen av disse dataene er historiske data som er sjelden tilgjengelige. En hybridtabell kan ha flere importpartisjoner, men bare én DirectQuery-partisjon.