Optimering och cachelagring av datauppsättningar
AI/BI-instrumentpaneler är värdefulla dataanalys- och beslutsverktyg, och effektiva inläsningstider kan avsevärt förbättra användarupplevelsen. Den här artikeln förklarar hur optimering av cachelagring och datauppsättning gör instrumentpaneler mer högpresterande och effektiva.
Frågeprestanda
Du kan granska frågor och deras prestanda i arbetsytans frågehistorik. Frågehistoriken visar SQL-frågor som utförs med hjälp av SQL-lager. Klicka på Frågehistorik i sidofältet för att visa frågehistoriken. Se Frågehistorik.
För instrumentpanelsdatauppsättningar tillämpar Azure Databricks prestandaoptimeringar beroende på datamängdens resultatstorlek.
Datamängdsoptimeringar
AI/BI-instrumentpanelsdatauppsättningar innehåller följande prestandaoptimeringar:
- Om datamängdens resultatstorlek är liten (mindre än eller lika med 100 000 rader eller 100 MB, beroende på vilket som är mindre), hämtas datamängdsresultatet till klienten och visualiseringsspecifik filtrering och aggregering utförs i webbläsaren. Det går mycket snabbt att filtrera och aggregera data för små datamängder och att se till att din datauppsättning är liten kan hjälpa dig att optimera instrumentpanelens prestanda. Med små datauppsättningar visas endast datamängdsfrågan i frågehistoriken.
- Om datamängdens resultatstorlek är stor (större än 100 000 rader eller 100 MB) omsluts datamängdens frågetext i en SQL-sats
WITH
och den visualiseringsspecifika filtreringen och aggregeringen utförs i en fråga på serverdelen i stället för i webbläsaren. Med stora datamängder visas visualiseringsfrågan i frågehistoriken. - För visualiseringsfrågor som skickas till serverdelen kombineras separata visualiseringsfrågor mot samma datauppsättning som delar samma
GROUP BY
satser och filterpredikat till en enda fråga för bearbetning. I det här fallet kan användarna se en kombinerad fråga i frågehistoriken som hämtar resultat för flera visualiseringar.
Cachelagring och data färskhet
Instrumentpaneler har en 24-timmars resultatcache för att optimera de första inläsningstiderna, vilket fungerar på bästa sätt. Det innebär att även om systemet alltid försöker använda historiska frågeresultat som är länkade till instrumentpanelens autentiseringsuppgifter för att förbättra prestanda, finns det vissa fall där cachelagrade resultat inte kan skapas eller underhållas. Cachelagrade data har ingen specifik minnesgräns eller fast antal frågor.
För instrumentpaneler med flera sidor gäller följande:
- Redigering av ett utkast på instrumentpanelen läser in och cachelagrar alla datauppsättningar.
- När tittarna öppnar en publicerad instrumentpanel körs och cachelagras endast datauppsättningar som stöder den aktiva sidan.
- Om ett schema anges uppdateras alla datauppsättningar enligt schemat och dessa resultat cachelagras.
I följande tabell beskrivs hur cachelagring varierar beroende på instrumentpanelens status och autentiseringsuppgifter:
Instrumentpanelstyp | Typ av cachelagring |
---|---|
Publicerad instrumentpanel med inbäddade autentiseringsuppgifter | Delad cache. Alla tittare ser samma resultat. |
Utkast till instrumentpanel eller publicerad instrumentpanel utan inbäddade autentiseringsuppgifter | Per användares cacheminne. Tittarna ser resultat baserat på deras databehörigheter. |
Instrumentpaneler använder automatiskt cachelagrade frågeresultat om underliggande data förblir oförändrade efter den senaste frågan eller om resultatet hämtades för mindre än 24 timmar sedan. Om inaktuella resultat finns och parametrar tillämpas på instrumentpanelen körs frågorna igen om inte samma parametrar har använts under de senaste 24 timmarna. På samma sätt uppmanar tillämpning av filter på datauppsättningar som överskrider 100 000 rader frågor att köra om såvida inte samma filter tidigare har tillämpats under de senaste 24 timmarna.
Schemalagda frågor
Att lägga till ett schema på en publicerad instrumentpanel med inbäddade autentiseringsuppgifter kan avsevärt påskynda den inledande inläsningsprocessen för alla instrumentpanelsvisningsprogram.
För varje schemalagd instrumentpanelsuppdatering sker följande:
- All SQL-logik som definierar datauppsättningar körs enligt det angivna tidsintervallet.
- Resultaten fyller i frågeresultatets cacheminne och hjälper till att förbättra den första inläsningstiden för instrumentpanelen.