Hej, er der nogen der kan forklare mig lidt mere om hvad OLAP cubes i MS SQL server er?
Jeg er kommet frem til at det er en forkortelse for On-Line Analytical Processing - og det er en form for adgang til indsamlet data - altså en form for BI. Spørgsmålet er så hvordan man opdeler disse kuber.
Så vidt jeg har forstået kan man opdele disse kuber i forskellige funktioner - f.eks. en salgskube, en finanskube osv... Men hvordan adskiller man disse tal? Altså hvordan afgør man om et tal hører til finanskuben eller salgskuben?
Måske er det et dumt spørgsmål, men jeg mangler et svar.
Med venlig hilsen
Søren Joensen |
I en SQL-server ligger der ingen kuber. Det er et værktøj ved siden af SQL-serveren. En kube er en flerdimensionel opstilling af nogle tal i en logisk opdeling, eksempel 1 kube med salgstal og 1 kube med finanstal osv.
En kube består af dimensioner (det kan være dato, kundenavn, leveringsdato m.m.) og tal-værdier (det kan være omsætning, markedsføringsomkostninger, antal vare-enheder m.m.).
Det kan sammenlignes med en tabel med felter, svarende til antal dimensioner + tal-værdier. Hvorfor bruge en kube, kan man så sige. Kubeværktøjet gør det, at den beregner en masse mellemresultater af summering af tal-værdierne. Dvs. at der eksempelvis beregnes omsætning pr. dato pr. kundenavn pr. leveringsdato.
Når du kikker på talmaterialet kan det være utroligt stort og en PC, der skal vise dig beregninger m.m. skal først indlæse alle data og kan herefter beregne dine værdier. Det er meget tungt og ved større datamængder har du ganske enkelt ikke RAM nok. Men en kube har i forvejen mellemresultaterne og skal derfor bare indlæse lige det mellemresultat, du vil have og vise dig. Det sparer en masse datatrafik og en masse beregninger on-line. Når du arbejder med en kube i BI vil du typisk sætte systemet til at udtrække, behandle og beregne dine data om natten, så de er klar til at blive brugt.
Når du skal afgøre, hvilke oplysninger, du placerer i hvilken kube, er du jo nødt til at se på, hvad den enkelte kube skal indeholde. Der er ingen standardløsning. Det afhænger af, hvad brugeren i sidste ende skal bruge.
Det er jo ikke sådan at du kun kan have tallet et sted i alle dine kuber. 2 forskellige kuber kan jo godt indeholde tal for omsætning. Du kan også danne virtuelle kuber, der er en sammensmeltning af flere kuber.
Så OLAP-kuber er "bare" et værktøj, hvor du har mulighed for online at foretage hurtige data-analyser på baggrund af store datamængder.
Håber at det har lysnet lidt for dig.
Hilsen Jakob