R20/Consultancy B.V. - The website of Rick F. van der Lans

R20/Consultancy B.V.

The website of Rick F. van der Lans

Home page
Up

Het sterschema ontmaskerd

Auteur: Rick F. van der Lans
Geschreven: december 2001
Gepubliceerd in: BI Quarterly, jaargang 4, nummer 2

Het begrip sterschema is haast niet meer weg te denken uit de wereld van datawarehouses. Er zijn al complete boeken over geschreven en er worden cursussen over gegeven. Het is al zo gemeengoed, dat ze het woord ondertussen wel in de Dikke van Dale kunnen opnemen. Is al deze aandacht eigenlijk wel terecht?

Voor de niet-ingewijden, de term sterschema heeft te maken met het ontwerpen van datawarehouses die ontwikkeld worden met relationele databases, zoals DB2, Oracle en SQL Server. De term verwijst naar de wijze waarop kolommen in tabellen gegroepeerd zijn. Bij een sterschema worden gegevens gedupliceerd samengevoegd in tabellen. Dezelfde gegevens kunnen ook zonder vorm van duplicatie opgeslagen worden, maar dan spreken we van een sneeuwvlokschema. Kortom, een sterschema is een gedenormaliseerde (als u het woord nog kunt herinneren) versie van het equivalente sneeuwvlokschema. Ze bevatten dezelfde gegevens, maar zijn anders gestructureerd. 

De aanhangers van sterschema's geven allerlei argumenten waarom dit het beste alternatief is. Het meest gebruikte argument is dat een dergelijke structuur altijd een betere performance biedt dan het sneeuwvlokschema. De reden die aangedragen wordt, is dat er voor de meeste gebruikersvragen minder tabellen gekoppeld hoeven te worden. Dat klinkt logisch, maar is te simpel gedacht. Alsof een vraag op x tabellen per definitie langzamer is dan die op x-1 tabellen. Die performance is afhankelijk van vele aspecten, waaronder het aantal rijen, het aantal verschillende waarden, het beschikbaar intern geheugen en de distributie van waarden. Het enige dat we kunnen stellen is dat soms de een en soms de ander sneller is.

Men zegt wel eens dat gebruikers moeite hebben met het werken met hiërarchieën. Met een hiërarchie wordt bijvoorbeeld bedoeld dat producten hiërarchisch in klassen gegroepeerd zijn en dat die klassen weer in hoofdklassen geplaatst zijn. Bij een sneeuwvlokschema is die hiërarchie in de tabelstructuur overduidelijk zichtbaar, terwijl die bij een sterschema 'platgeslagen' is. Dus het argument dat we horen is dat sterschema's het de gebruiker makkelijker maakt. Dat hiërarchieën voor gebruikers te ingewikkeld zijn, is nergens op gebaseerd. Zij zijn juist heel vertrouwd met dit soort constructies. Sterker nog, zij hebben ze zelf bedacht en ontworpen, niet de IT-afdeling. We kunnen dit argument dus geheel niet gebruiken.

Je hoort ook wel eens dat de tabelstructuur van een sneeuwvlokschema te ingewikkeld is voor de gebruikers om te bevragen. Daar zit iets in. Echter, gebruikers behoren die tabelstructuur niet te zien, maar, bijvoorbeeld, een multidimensionele interface. Dit is een interface die bestaat uit dimensies, hiërarchieën en elementen. Tabellen, kolommen en sleutels zijn bedoeld voor de programmeurs en databasebeheerders. Dat achter de multidimensionele interface een tabelstructuur zit, is voor de gebruikers oninteressant en onbelangrijk. Sterren of sneeuwvlokken behoren afgeschermd te zijn voor de gebruiker, dit dus kan niet als argument gebruikt worden.

Het enige argument dat voor een sterschema pleit is dat het eenvoudiger is voor het modelleren van historische waarden. Bij een puur sneeuwvlokschema kan dat leiden tot ingewikkelde structuren, terwijl het bij het sterschema relatief eenvoudig is. Maar wederom geldt dat de gebruikers deze tabellaag niet horen te zien. Het is dus een probleem voor de techneuten, niet voor de gebruikers. 

Trouwens, het feit dat historie lastig te implementeren is, mogen de leveranciers van relationele databaseservers zich wel aantrekken. Wordt het niet eens tijd dat ze hun databaseservers standaard uitrusten met functionaliteit hiervoor. Iedereen zit er om te schreeuwen, maar er gebeurt nagenoeg niets. Het zal toch niet zo zijn dat de leveranciers denken dat het implementeren van DATE- en TIME-datatypes met wat datum- en tijdmanipulatie functies voldoende is? Want dan moeten we ze wakker gaan schudden.

We moeten dus concluderen dat de meeste argumenten die pleiten voor sterschema's bediscussieerbaar zijn. Het bekende gezegde "In het land der blinden is eenoog koning", is hier van toepassing geweest. In het begin van datawarehousing moest er nog veel geleerd worden. Maar nu de hype over is, weten we wel beter. Het sterschema heeft enkele voordelen, maar ook zeker nadelen. De hype is voorbij, het wordt tijd dat we er realistisch mee omgaan.

 

If you have any questions or remarks concerning this website, please send us an email: info@r20.nl.
Copyright © 2009 R20/Consultancy B.V.