Datacache: vad det är och hur det hjälper till att optimera frågor

I den här handledningen får du lära dig vad en datacache är och varför den är viktig. En datacache lagrar databitar som kan bli värdefulla för framtida användning.

Om du behöver samma information i en framtida åtgärd eller åtgärd kommer datacchen att tillhandahålla den information du behöver. Det eliminerar att systemet återhämtar samma uppsättningar data.

I den här handledningen går du igenom åtta viktiga saker att komma ihåg när du hanterar datacache i LuckyTemplates:

Datacache: vad det är och hur det hjälper till att optimera frågor

Innehållsförteckning

Definition och syfte med en datacache

Datacache: vad det är och hur det hjälper till att optimera frågor

En datacache är en temporär tabell skapad i minnet av . Denna temporära tabell skickas till formelmotorn som sedan itererar över denna information och utför olika operationer efter frågan.

Datacache: vad det är och hur det hjälper till att optimera frågor

All kommunikation mellan och lagringsmotorn sker alltid i form av en datacache. Formelmotorn förbereder frågeplanerna och skickar sedan instruktionerna till lagringsmotorn. Lagringsmotorn skickar sedan tillbaka det till formelmotorn som returnerar resultatet till användaren.

Datacache: vad det är och hur det hjälper till att optimera frågor

Eftersom formelmotorn inte har direkt åtkomst till data som lagras i DirectQuery och VertiPaq, förlitar den sig på lagringsmotorn för datacacharna.

Datacache: vad det är och hur det hjälper till att optimera frågor

Datacachen som skickas av lagringsmotorn är i ett okomprimerat format. Detta innebär att storleken på data som lagras i Vertipaq-verktyget kan minskas.

Men när det är dags att returnera datacachen tillbaka till formelmotorn kan den inte komprimeras eftersom formelmotorn inte fungerar med komprimerade datamängder.

Vad är en datacaches inverkan på RAM-minnet

Datacache: vad det är och hur det hjälper till att optimera frågor

Om lagringsmotorn skickar enorma bitar av datacchar kommer detta att ta mycket utrymme på programvarans RAM. Det kommer också att ta en betydande mängd tid för formelmotorn att utföra iterationer och producera ett resultat.

Så när du skriver din DAX-kod måste du förstå att den ska skrivas på ett sätt som minimerar raderna i datacachen.

Det bästa scenariot skulle vara att matcha antalet rader som visas i visualiseringen med antalet rader som returneras i datacchen.

För det mesta är det svårt att returnera samma antal rader. Om detta händer måste du granska din DAX-kod och dela upp den på ett sätt som optimerar datacachen som produceras av lagringsmotorn.

Hur en datacache optimerar frågor

Ooptimerade funktioner

Datacache: vad det är och hur det hjälper till att optimera frågor

Vissa av funktionerna i DAX-språket är inte optimerade för lagringsmotorn. För att bättre förstå detta, låt oss titta på ett exempel.

Till exempel, i din kod, istället för att använda SUMMARIZE, kan du använda funktionen. SUMMARIZE och GROUPBY-funktionerna utför samma operation. Det finns dock betydande skillnader beroende på scenariot.

GROUPBY-funktionen är inte optimerad för Storage Engine. Om du använder GROUPBY-funktionen på en faktatabell med 12 miljoner rader kommer den att producera en datacache med samma antal rader. Detta kan vara så stort som 600mb upp till 1gb.

Denna storlek kan sätta mycket press på ditt RAM-minne. Så istället för att använda GROUPBY, använd . SUMMARIZE-funktionen resulterar i en mindre datacachestorlek. Du kan para ihop den med GROUPBY som en toppnivåfunktion.

Minskade upprepningar

När du skriver dina DAX-mått eller frågor måste du se till att koden som produceras bakom kulisserna är lämplig för lagringsmotorn.

Datacache: vad det är och hur det hjälper till att optimera frågor

Du måste skriva din DAX-kod på ett sätt som producerar datacache som även kan användas i efterföljande frågor. Fördelen med att göra detta är att istället för att utföra en separat skanning med , kommer lagringsmotorn att kontrollera om en liknande fråga redan har tagits emot.

Om detta är sant betyder det att dess datacache är tillgängligt i minnet. Så istället för att skanna frågan igen, kommer VertiPaq helt enkelt att returnera den från cacheminnet till formelmotorn.

Datacache: vad det är och hur det hjälper till att optimera frågor

Om du ser en fråga i din lagringsmotor, betyder det att dessa frågor inte kan cachelagras. Om en liknande fråga skickas till lagringsmotorn kommer den att utföra en upprepning.

Därför måste VertiPaq anropa formelmotorn för att lösa frågan. Detta ökar den totala exekveringstiden eftersom cacheminnet inte kan användas i det här fallet.

Slutsats

Datacachen är din bästa vän på DAX-språket. Kom ihåg att skriva din DAX-kod på ett sätt som maximerar lagringsutrymmet och minskar VertiPaq-verktygets antal iterationer. Du kan återanvända datacachen som redan producerats av Storage Engine för att minska exekveringstiden för frågor.


Vad är Power Query & M Language: En detaljerad översikt

Vad är Power Query & M Language: En detaljerad översikt

Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.

Skapa en paginerad rapport: Lägga till texter och bilder

Skapa en paginerad rapport: Lägga till texter och bilder

Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!

Löpande summor i LuckyTemplates med DAX

Löpande summor i LuckyTemplates med DAX

Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.

LuckyTemplates Slope Chart: En översikt

LuckyTemplates Slope Chart: En översikt

Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.

LuckyTemplates färgteman för enhetliga visualiseringar

LuckyTemplates färgteman för enhetliga visualiseringar

Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

Låt oss fördjupa oss i Standard LuckyTemplates-teman och granska några av funktionerna som är inbyggda i själva LuckyTemplates Desktop-applikationen.