Modeling Linkable Multidimensional Cubes with Logical Patterns

Studenteropgave: Speciale (inkl. HD afgangsprojekt)

  • Kim Ahlstrøm Jakobsen
  • Alex Bondo Andersen
4. semester, Software, Kandidat (Kandidatuddannelse)
I dette projekt udforsker vi muligheden for at bruge RDF som opbevaringsformat for multidimensionelle kuber. Dette giver mulighed for at bruge SPARQL queries til at udføre OLAP operationer.
Fordelen ved at bruge SPARQL frem for andre query sprog, er at SPARQL har indbygget funktionalitet til at lave ad-hoc data integration gennem query federationer.
Ad-hoc data integration er nyttigt i sammenhænge hvor man ikke på forhånd kan vide hvilke forretnings spørgsmål man kan blive stillet overfor. Traditionelt indsamler man data i et data warehouse (DW) og evaluerer sine forretnings spørgsmål, i form af queries, derpå. Det er bade dyrt og tidskrævende at opbygge denne proces (kaldet ETL), der indsamler data og gemmer det i sit DW. Ved at supportere ad-hoc data integration kan man tillade udforskning af nye data kilder der har relevance for et forretnings spørgsmål uden at skulle lave store investeringer. Derudover kan et svar også forventes langt hurtigere ved ad-hoc data integration ved brug af SPARQL end hvis man skulle til at ændre sin ETL proces. I forbindelse med OLAP bruger man i den relationelle verden nogle forskellige skema teknikker til at modellere sine kuber.
Selvom der ændes vokabulare der beskriver kuber i RDF format er der ikke tidligere undersøgt og beskrevet hvordan relationelle modellerings tekniker kan bruges pa RDF kuber.
Vi beskriver hvordan disse teknikker bruges pa RDF data, der er beskrevet med et vokabular, beregnet til at beskrive OLAP kuber, QB4OLAP.
Vi siger at en kube er i Snowflake-pattern hvis hver level instans i hver dimension er repræsenteret som en ressource. Hvis en kube i stedet har en ressource for hver dimensions instans siger vi at den er i Star-pattern.
Hvis der hverken er level eller dimension instanser, men facts er direkte tilknyttet dimensions attributterne, er kuben i Denormalized-pattern.
Vi designer og implementerer en algoritme til at konvertere en kube fra Snowflake-pattern til Star-pattern eller Denormalized-pattern.
Denne algoritme kan håndtere kuber med multiple hierarkier og ubalancerede hierarkier i dimensioner.
Algoritmen konverterer instans dataen og genererer en onologiudvidelse der, sammen med den eksisterende ontologi, beskriver de konverterede kuber.
For at teste vores patterns konverterer vi det velkendte TPC-H dataset til RDF og annoterer det med QB4OLAP. Vi definerer kuber i dette dataset og modellerer dem som Snowflake-pattern i en række forskellige størrelser.
Disse kuber konverteres til Star-pattern og Denormalized-pattern og der køres queries på alle tre versioner af kuberne, hvorefter køretiderne sammenlignes.
Vi ser at Star-pattern klarer sig generelt bedst, mens Denormalized-pattern ikke ser ud til at have nogle klare fordele i nogle af vores kuber.
Pladsforbruget for Star-pattern er marginalt højere end for Snowflake-pattern, men Star-pattern kan bade håndtere flere af vores test queries uden at time out og generelt evaluere queries hurtigere.
SprogEngelsk
Udgivelsesdato4 jun. 2014
Antal sider81
ID: 198543100