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

Databaseservers voor OLAP-queries

Auteur: Rick F. van der Lans
Geschreven: februari 2001
Gepubliceerd in: CM Corporate.Net, nummer 165

Ook al bestaan er vele verschillen tussen databaseproducten als DB2, Informix, Oracle, SQL Server en Sybase, toch hebben ze ook vaak heel veel gemeen. Ze kampen bijvoorbeeld met dezelfde problemen bij het verwerken van complexe OLAP-queries. Zulke problemen kent een aantal fonkelnieuwe database-servers niet. Producten als Nucleus (wordt in Europa gedistribueerd onder de naam CeNucleus) van Sand Technology en Super Select van Bull zijn gericht op het snel en efficiënt verwerken van OLAP-queries.

Als je onder de motorkap van de bekende relationele databases kijkt, herken je een ontwerp van zo'n twintig jaren geleden. In die tijd kenden we maar twee soorten applicaties: online transacties (OLTP) en batch rapportage. Online queries waren geen aandachtspunten en er werd zeker geen rekening gehouden met het soort online queries dat door OLAP tools afgevuurd wordt.

Zowel Nucleus als Super Select zien er aan de buitenkant 'gewoon' uit: met SQL en ODBC geeft u uw opdrachten aan de databaseserver door. Maar intern verschillen ze wel degelijk. Ik zal twee verschillen toelichten.

Ze gebruiken een totaal verschillende opslagstructuur. Beide slaan hun gegevens kolomsgewijs op. Volgens die aanpak wordt een tabel met tien kolommen en één miljoen rijen niet als één miljoen records op een harde schijf opgeslagen, maar worden tien zeer smalle tabellen gecreëerd. Elke smalle tabel bevat een lijst met voorkomende waarden plus een indicatie in welke rijen die waarde gebruikt is. Voor een typische OLTP-transactie, zoals 'voeg een nieuwe klant toe', is een recordsgewijze opslagstructuur de meest ideale. Voor OLAP-queries werkt een kolomsgewijze opslagstructuur sneller, omdat queries meestal betrekking hebben op alle waarden van een kolom en niet op alle waarden van een rij.

Door die afwijkende opslagstructuur wordt de database een stuk kleiner. En dat past prima bij het concept om zoveel mogelijk data in het interne geheugen vast te houden. Hoe kleiner de database, hoe groter de kans dat het in het geheugen past. Bij een lastige OLAP-query wordt dus eerder het interne geheugen gelezen dan dat er I/O wordt uitgevoerd. 

De twee producten zijn zeker geen kopieën van elkaar. NuCleus is een volledig softwarematige oplossing, terwijl Super Select een combinatie is van software en speciale hardware. Bij laatstgenoemde worden de data parallel in het geheugen gelezen.

Natuurlijk doe ik deze producten tekort door er maar zo kort bij stil te staan, maar hopelijk geeft het u een idee van hun mogelijkheden. Heeft u een datawarehouse met performance-problemen, dan doet u er goed aan deze producten minstens eens te bestuderen. De huidige gebruikers melden dat ze hun OLAP-queries twintig tot honderd maal versneld hebben.

Als deze technologie een commercieel succes wordt, kan de discussie 'sterschema versus sneeuwvlokschema' wel de kast in. Beide leveranciers melden dat de schemakeuze nagenoeg geen invloed heeft op de performance.

Deze nieuwe database-servers zullen direct concurreren met de zogenaamde multi-dimensionele systemen. Die producten hebben altijd een goede performance geboden wat betreft OLAP-queries, maar toch waren er ook nadelen. Vele gebruikten een proprietary taal en de meeste konden niet met grote hoeveelheden data omgaan. De nieuwe relationele database-servers kennen die nadelen niet.

NuCleus en Super Select vertegenwoordigen kortom een nieuwe generatie relationele database-servers met veel potentie voor de datawarehouse-omgeving. De technologie oogt veelbelovend, nu maar afwachten of ze de producten verkocht krijgen. Ik wens ze hierbij succes!

 

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