Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

I dette selvstudie lærer du, hvad en datacache er, og hvorfor den er vigtig. En datacache gemmer bits af data, der kan blive værdifulde til fremtidig brug.

Hvis du har brug for de samme informationer i en fremtidig foranstaltning eller handling, vil datacachen give den information, du har brug for. Det eliminerer at få systemet til at hente de samme datasæt igen.

I denne vejledning gennemgår du otte vigtige ting, du skal huske, når du håndterer datacaches i LuckyTemplates:

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Indholdsfortegnelse

Definition og formål med en datacache

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

En datacache er en midlertidig tabel oprettet i hukommelsen af ​​. Denne midlertidige tabel sendes til formelmotoren, som derefter gentager disse oplysninger og udfører forskellige operationer efter forespørgslen.

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Al kommunikation mellem og lagermotoren sker altid i form af en datacache. Formelmotoren forbereder forespørgselsplanerne og sender derefter instruktionerne til lagermotoren. Lagermotoren sender det derefter tilbage til formelmotoren, som returnerer resultatet tilbage til brugeren.

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Da formelmotoren ikke har direkte adgang til de data, der er gemt i DirectQuery og VertiPaq, er den afhængig af lagringsmotoren til datacaches.

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Datacachen sendt af lagermotoren er i et ukomprimeret format. Det betyder, at størrelsen af ​​de data, der er gemt i Vertipaq-værktøjet, kan reduceres.

Men når det er tid til at returnere datacachen tilbage til formelmotoren, kan den ikke komprimeres, fordi formelmotoren ikke fungerer med komprimerede datasæt.

Hvad er en datacaches indvirkning på RAM

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Hvis lagringsmotoren sender enorme bidder af datacaches, vil dette tage meget plads på softwarens RAM. Det kommer også til at forbruge en betydelig mængde tid for formelmotoren at udføre iterationer og producere et resultat.

Så når du skriver din DAX-kode, skal du forstå, at den skal skrives på en måde, der minimerer rækkerne i datacachen.

Det bedste scenario ville være at matche antallet af rækker vist i visualiseringen med antallet af rækker, der returneres i datacachen.

Det meste af tiden er det svært at returnere det samme antal rækker. Hvis dette sker, skal du gennemgå din DAX-kode og opdele den på en måde, der optimerer datacachen, der produceres af storage-motoren.

Hvordan en datacache optimerer forespørgsler

Uoptimerede funktioner

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Nogle af funktionerne i DAX-sproget er ikke optimeret til lagermotoren. For bedre at forstå dette, lad os se på et eksempel.

For eksempel, i din kode, i stedet for at bruge SUMMARIZE, kan du bruge funktionen. Funktionerne SUMMARIZE og GROUPBY udfører den samme handling. Der er dog bemærkelsesværdige forskelle afhængigt af scenariet.

GROUPBY-funktionen er ikke optimeret til Storage Engine. Hvis du bruger GROUPBY-funktionen på en faktatabel med 12 millioner rækker, vil den producere en datacache med det samme antal rækker. Dette kan være så stort som 600 MB op til 1 GB.

Denne størrelse kan lægge et stort pres på din RAM. Så i stedet for at bruge GROUPBY, brug . SUMMARIZE-funktionen resulterer i en mindre datacachestørrelse. Du kan parre den med GROUPBY som en funktion på øverste niveau.

Reducerede gentagelser

Når du skriver dine DAX-mål eller forespørgsler, skal du sikre dig, at koden, der er produceret bag kulisserne, er egnet til storage-motoren.

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Du skal skrive din DAX-kode på en måde, der producerer datacache, som også kan bruges i efterfølgende forespørgsler. Fordelen ved at gøre dette er, at i stedet for at udføre en separat scanning ved hjælp af , vil lagermotoren kontrollere, om en lignende forespørgsel allerede er modtaget.

Hvis dette er sandt, betyder det, at dens datacache er tilgængelig i hukommelsen. Så i stedet for at scanne forespørgslen igen, vil VertiPaq simpelthen returnere den fra cachehukommelsen til formelmotoren.

Datacache: Hvad det er, og hvordan det hjælper med at optimere forespørgsler

Hvis du ser en forespørgsel i din storage-motor, betyder det, at disse forespørgsler ikke kan cachelagres. Hvis en lignende forespørgsel sendes til lagermotoren, vil den udføre en gentagelse.

Derfor bliver VertiPaq nødt til at kalde formelmotoren for at løse forespørgslen. Dette øger den samlede udførelsestid, fordi cachehukommelsen ikke kan bruges i dette tilfælde.

Konklusion

Datacachen er din bedste ven på DAX-sproget. Husk at skrive din DAX-kode på en måde, der maksimerer lagerpladsen og reducerer VertiPaq-værktøjets antal iterationer. Du kan genbruge datacachen, der allerede er produceret af Storage Engine, for at reducere forespørgselsudførelsestiden.


Hvad er Power Query & M Language: En detaljeret oversigt

Hvad er Power Query & M Language: En detaljeret oversigt

Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Opret en sideinddelt rapport: Tilføjelse af tekster og billeder

Lær, hvordan du opretter en sideinddelt rapport, tilføjer tekster og billeder og derefter eksporterer din rapport til forskellige dokumentformater.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lær, hvordan du bruger SharePoint-automatiseringsfunktionen til at skabe arbejdsgange og hjælpe dig med at mikrostyre SharePoint-brugere, -biblioteker og -lister.

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Løs en dataanalyseudfordring med LuckyTemplates Accelerator

Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!

Løbende totaler i LuckyTemplates ved hjælp af DAX

Løbende totaler i LuckyTemplates ved hjælp af DAX

Lær, hvordan du beregner løbende totaler i LuckyTemplates ved hjælp af DAX. Løbende totaler giver dig mulighed for ikke at blive fanget af et individuelt resultat.

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

LuckyTemplates Dax-variabler er konstante: Hvad betyder det?

Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af ​​variabler for, hvordan dine mål beregnes.

LuckyTemplates hældningsdiagram: en oversigt

LuckyTemplates hældningsdiagram: en oversigt

Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.

LuckyTemplates farvetemaer til ensartede visualiseringer

LuckyTemplates farvetemaer til ensartede visualiseringer

Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af gennemsnit i LuckyTemplates: Isolering af resultater på ugedage eller weekender ved hjælp af DAX

Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

LuckyTemplates tema | LuckyTemplates Desktop Standard Theming

Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.