Databasoptimering för användning med Power BI : Hur indexering och kompression kan förbättra prestanda vid datahämtning

Detta är en Uppsats för yrkesexamina på grundnivå från Högskolan i Gävle/Datavetenskap

Sammanfattning: I mätrummet på Sandvik Coromant finns en lösning för att visualisera maskinhälsa, mäthistorik och servicetider för olika mätinstrument. Lösningen för datavisualiseringen nyttjar verktyget Power BI och är kopplad till Excelfiler. När data väl hämtats in görs en rad modifieringar på tabellerna för att få fram visualiserbar data. Dessa modifieringar i kombination med många Excelark resulterar i att ledtiderna för att uppdatera en Power BI rapport blir väldigt långa. Nu önskas det att istället nyttja en databaslösning för den data dessa Excelfiler innehåller och därmed förbättra dessa ledtider. Således skapades en databas utifrån den data dessa Excelfiler innehöll. Power BI tillåter användaren att importera data från en databas till applikationen på två sätt, via Import Mode eller DirectQuery. Import Mode läser in samtliga tabeller som efterfrågas och lagrar dessa i minnet. DirectQuery ställer frågor direkt till databasen utifrån vad som efterfrågas. I och med denna skillnad i importsätt finns metoder för att optimera den databas som data läses in ifrån. Studien undersöker hur olika typer av indexering och olika typer av kompression av dessa index påverkar svarstiden på frågor ställda av Power BI för att besvara följande två forskningsfrågor: Hur påverkar olika typer av indexering av en databas datahämtningshastigheten vid användning av Power BI? Hur påverkar olika typer av kompression av index datahämtningshastigheten vid användning av Power BI? Studien utfördes genom att studera execution plans och exekveringshastighet för de frågor som ställdes mot databasen av Power BI. Med hjälp av T-SQL kunde exekveringshastigheten för en specifik fråga tas fram. Denna exekveringshastighet jämfördes sedan för de olika typerna av index och kompression mot exekveringshastigheten för samma fråga mot en tabell helt utan index. Detta utfördes sedan på tabeller med varierande antal rader, där antalet rader som testades var 33 001, 50 081, 100 101, 500 017 och 1 000 217. Resultatet av studien visar att för Import Mode är det bästa typen av index ett clustered rowstore index utan kompression, med undantag för tabeller med över 1 001 217 rader där radkompression presterade bättre. För DirectQuery presterade non-clustered rowstore index bäst, men för vilken kompression var resultatet tvetydigt. Detta eftersom samtliga typer av kompression presterade bäst för olika antal rader i tabellen. För tabeller med fler än 500 017 rader presterade dock ingen kompression allra bäst.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)