I det här avsnittet beskrivs olika funktioner och saker som kan vara värda att tänka på när du använder DB2 OLAP Server till att skapa OLAP-tillämpningar och -databaser.
Med DB2 OLAP Server:
När du använder DB2 OLAP Server till att skapa en OLAP-databas skapas även en relationskub i relationsdatabasen. I relationskuben finns en faktatabell som innehåller de faktiska datavärdena för databasen. Elementen i den dimension du anger som ankardimension används till att definiera faktatabellens struktur.
Faktatabellen som skapas av DB2 OLAP Server har en kolumn för varje element i ankardimensionen du anger, och en kolumn för varje ytterligare dimension i den flerdimensionella databasen. Det totala antalet element i ankardimensionen plus det totala antalet ytterligare dimensioner i databas, minus ett, får inte överstiga det största antal kolumner som tillåts i tabeller i relationsdatabasen. I den siffran ingår inte delade eller virtuella element.
När du använder DB2 OLAP Server hanteras komprimering, cachning och indexering automatiskt av relationsdatabasen.
Precis som att viss information som fås från Application Manager bara gäller när du använder den flerdimensionella databasen, finns det viss information som bara gäller när du använder den relationsbaserade lagringshanteraren.
Om du vill optimera för prestanda när du utformar din flerdimensionella databas bör du följa de stegvisa instruktionerna i "Utforma flerdimensionella databaser".
En ankardimension är en dimension som du identifierar i DB2 OLAP Server till att definiera strukturen i den faktatabell som skapas i relationskuben för en flerdimensionell databas.
Relationskuben innehåller en uppsättning data och metadata, som tillsammans definierar den flerdimensionella databas som du skapar med hjälp av Application Manager eller med ESSCMD-kommandon.
Faktatabellen innehåller datavärdena för en flerdimensionell databas. Den är huvudtabell i relationskuben och innehåller följande kolumner:
I Bild 3 visas ett exempel på innehållet i en faktatabell.
Bild 3. Exempel på faktatabell
![]() |
Kolumnerna PROFIT, SALES, COGS och INVENTORY är element i dimensionen Accounts som angavs som ankardimension. Kolumnerna PID, TID och MID representerar dimensioner som inte är ankardimensioner.
Varje kolumn som representerar ett element i ankardimensionen innehåller datavärden, och varje kolumn som representerar en dimension som inte är en ankardimension innehåller ID-nummer för element i den dimensionen.
Du kan antingen välja ankardimension själv, eller låta DB2 OLAP Server välja en automatiskt.
De flesta flerdimensionella databaser du skapar med hjälp av DB2 OLAP Server innehåller en dimension för konton. Om du väljer kontodimensionen som ankardimension blir SQL-frågorna enkla att läsa och förstå. Eftersom kontodimensionen innehåller alla måttenheter i din rörelse, som försäljning, utgifter och lager, är det oftast den dimension som passar bäst som ankardimension. Du kan däremot välja någon annan dimension.
Om du väljer en annan dimension som ankardimension måste den ha följande egenskaper:
M = C-(N-1),
där
M är antalet element i ankardimensionen som lagrar data.
C är det största antalet kolumner som tillåts i en tabell i relationsdatabasen.
N är det totala antalet dimensioner i din databasdisposition.
Exempel: Om gränsen för antalet kolumner i relationsdatabasen är 254, och din databas har 6 dimensioner, får den dimension du anger som ankardimension högst innehålla 249 element. I den siffran ingår inte delade eller virtuella element.
Dessutom bör ankardimensionen ha följande egenskaper:
Välj hellre ut en ankardimension noggrant än att du låter DB2 OLAP Server välja en automatiskt. När du har läst in data till en flerdimensionell databas kan du inte ändra eller ta bort ankardimensionen utan att först rensa alla data i databasen. När du har ändrat eller tagit bort ankardimensionen måste du läsa in alla data igen. Valet av ankardimension kan påverka prestanda för frågor, beräkningar och inläsning av data.
Om DB2 OLAP Server väljer ankardimension åt dig söks först en tät dimension av kontotyp med ett antal element som uppfyller villkoret M = C-(N-1). Om ingen sådan tät dimension påträffas väljs den första täta dimensionen i dispositionen vars elementantal uppfyller villkoret M = C-(N-1). Du kan se vilken dimension som valts till ankardimension. Mer information finns i "Visa körningsparametrar i DB2 OLAP Server".
När du ska ange en ankardimension skapar du ett användardefinierat attribut med namnet RELANCHOR för toppnivåelementet i dimensionen. Toppnivåelementet är det element som står som dimensionsnamn.
DB2 OLAP Server använder elementet med attributet RELANCHOR till att avgöra vilken dimension som ska användas som ankardimension när faktatabellen skapas.
Du kan bara tilldela attributet RELANCHOR till ett element.
Mer detaljerad information om hur du skapar användardefinierade attribut finns i Database Administrator's Guide.
Du kan visa inställningen av ankardimension och andra körningsparametrar med hjälp av Application Manager. Mer information finns i "Visa körningsparametrar i DB2 OLAP Server".
När du skapar en flerdimensionell databas med hjälp av DB2 OLAP Server begränsas antalet dimensioner i databasen endast av det största antalet kolumner som tillåts i en tabell i relationsdatabasen.
Faktatabellen, som är den största tabellen som skapas i relationsdatabasen, innehåller en kolumn för varje element i den ankardimension du anger, och en kolumn för varje annan dimension i databasen. Det innebär att det totala antalet element i ankardimensionen plus det totala antalet ytterligare dimensioner i databasdispositionen, minus ett, inte får överstiga det största antal kolumner som tillåts i tabeller i relationsdatabasen. I den siffran ingår inte delade eller virtuella element.
Så här avgör du det största antalet dimensioner som relationskuben kan innehålla:
Kom ihåg att räkna med toppnivån i dimensionen. Toppnivån i en dimension räknas också som ett element eftersom den kan innehålla ett värde som är en konsolidering av element på lägre nivå.
Exempel: Om ankardimensionen som mest kommer att innehålla 100 element och relationsdatabasen tillåter så många som 254 kolumner kan du ha 153 dimensioner i databasen.
Det finns ingen gräns för hur många element övriga dimensioner får innehålla.
I DB2 OLAP Server och DB2 OLAP Starter Kit finns en funktion för dubbel lagringshantering. Med den funktionen kan du välja om du vill använda flerdimensionell datalagring eller relationsbaserad datalagring när du skapar en tillämpning, eller när en tillämpning skapas i ett klientprogram. Vilken lagringshanterare som används som standard anges i filen ESSBASE.CFG med satsen DATASTORAGETYPE. Som standard används den flerdimensionella datalagringshanteraren. Om det inte finns någon ESSBASE.CFG-fil eller om satsen DATASTORAGETYPE inte finns i filen används den standarden.
Om du uppgraderar från en tidigare version av DB2 OLAP Server och du tidigare använde den relationsbaserade lagringshanteraren som standard kommer installationsprogrammet att lägga till en post i filen ESSBASE.CFG där det anges att den relationsbaserade lagringshanteraren ska vara standard. När du har installerat den nya versionen av DB2 OLAP Server måste du starta och avsluta varje befintlig tillämpning innan du ändrar DATASTORAGETYPE-satser. När du startar en befintlig tillämpning i DB2 OLAP Server används den lagringstyp som angivits i ESSBASE.CFG. Så fort tillämpningen har startats och avslutats kan du ändra satsen DATASTORAGETYPE, och ändringen kommer då att gälla i tillämpningarna nästa gång de startas.
Om du använder Administration Manager kan du antingen välja en flerdimensionell datalagringshanterare eller en relationsbaserad datalagringshanterare när du skapar nya tillämpningar. Den datalagringstyp du väljer kommer att ersätta den standard som angivits i satsen DATASTORAGETYPE.
Så här redigerar du filen ESSBASE.CFG:
Du kan visa följande körningsparametrar med hjälp av Application Manager:
Så här visar du körningsparametrarna:
Den viktigaste faktorn när du ska läsa in data är ordningen för indata. Maximal prestanda får du om du läser in data i omvänd ordning mot dispositionen, förutsatt att dispositionen är ordnad med täta dimensioner först och därefter glesa dimensioner ordnade efter ökad storlek. Läs in den största glesa dimensionen först, sedan den näst största o.s.v, och de täta dimensionerna sist.
När du ordnar indata på det här sättet blir data inläst mycket snabbare, eftersom alla block läses in samtidigt. Dessutom läses blocken in i rätt indexsekvens. Om indata är dåligt ordnade blir indexhanteringen mer komplex. Block skrivs flera gånger när de olika dataelementen blir inlästa, och alla ytterligare åtgärder loggas.
Det finns ytterligare saker du kan göra när du vill förbättra prestanda vid inläsning av data. Läs "Trimma inläsning av data" innan du startar inläsningen. Mer information om inläsning av data hittar du i Database Administrator's Guide.