Het juweeltje Netezza

frank

Dat IBM iets heeft met data en de analyse ervan moge duidelijk zijn. In de afgelopen jaren is er voor een duizelingwekkend bedrag aan acquisities op dit terrein gedaan. In alle eerlijkheid moet ik ook altijd weer even diep gaan om het overzicht te houden in al die aankopen. Natuurlijk zijn Cognos en SPSS een paar in het oog springende, maar er zijn er die een stuk minder zeggen. Er is één aankoop, die zweeft er een beetje tussen, maar is wel zeer veel belovend. Het gaat over Netezza. De naam heb ik al op vele manieren horen uitspreken. Pick your choose.

Deze versie van mijn blog gaat dan ook over dit juweeltje en – zoals te doen gebruikelijk – moet er eerst een probleem geschetst worden om vervolgens als een ‘Reddende Engel’ onder trompetgeschal met een oplossing aan te komen draven.

SQL-achtige databases
Het probleem is als volgt. Er is data in de wereld. Veel data. Een significant gedeelte van die data staat in databases. Daarvan heb je er een groot aantal smaken en versies maar de grote gemene deler is dat het SQL-achtige databases zijn. DB2 – om maar een willekeurige smaak te noemen (hehe) – val je aan met mooie SQL statements a la SELECT * FROM lekkers WHERE item = ‘taart’. Zo’n statement heet in database-taal een query. Bij een goed geformuleerde query krijg je de gewilde selectie uit de tabel van de database terug die aan die criteria voldoet.

Dat is mooi, maar net zoals één gek méér kan vragen dan tien geleerden kunnen beantwoorden, is dat ook zo met businessmensen. Die kunnen, gedreven door het succes van een goede query, nóg meer vragen en nóg meer. Want wat zal de uitkomst zijn van bovengenoemde query als je er nog meer criteria aan toevoegt: Wat als ik wil weten welke klanten taart hebben gekocht. En als ik dát dan weet wil ik natuurlijk weten wat de relatie is met het weer, dag van de week, postcode gebieden etc, etc…

Indexeren
Op zich prima vragen maar lastig voor de databases. Om snel door een grote database te ploegen moet je een index aanleggen. Net als bij papieren naslagwerken. Als je daarin de naam Zurburg zoekt begin je ook niet bij de ‘A’ maar kijk je in de index en dan blijkt dat het kleinnood alfabetisch geordend is. Handig. In de digitale wereld worden op databases indexen gemaakt zodat je niet door de hele database hoeft te worstelen (full table scan). Echter het indexeren kost tijd en kan je niet straffeloos op elke tabel doen. Bovendien zijn dit zaken die je aan de IT moet overlaten. De businessfunctie kan dat niet. Ziehier een probleem. Behalve de grote werkdruk die het oplevert, moet het ook nog onderhouden en gedocumenteerd worden.

Joins
Daar komt nog eens bij dat er niet zoiets is als één tabel in de database waar alles in staat. Historisch én hysterisch zijn er vele databases ontstaan, met allemaal tabellen erin met op hun beurt weer hun eigen indexen. Om over die verschillende entiteiten heen een query te maken is lastig en moeilijk maar ook technisch gezien een zware opgave. Als je gegevens uit één database wil gaan zoeken in andere databases moet je zogenaamde ‘joins’ maken. Zonder ‘t’!

Probleem van indexen omzeilen
Netezza is dan het ‘Reddende Engeltje’ omdat juist het probleem van indexen omzeild wordt. Een Netezza is een brok hardware in de vorm van servers en opslag aangevuld met een pittig stuk software die in staat is een traditionele SQL-database leeg te slurpen en dat op een vernuftige manier op te slaan. Zonder indexen. Jawel! Door een uitgekiend algoritme aangevuld met razendsnelle en voornamelijk parallelwerkende processoren wordt het indexeren overbodig gemaakt. Er worden slimme programmeerbare diskcontrollers gebruikt, welke data tegenhoudt als het niet deelneemt aan de query. Dat scheelt enorm in de verwerkingssnelheid.

De eindgebruiker kan queries afvuren waarbij er niet meer rekening gehouden hoeft te worden met indexen of het initiëren van technische trucks om queries sneller te maken. En dat is natuurlijk wat je wilt. Als er elke keer weer een nieuwe vraag wordt opgeworpen omdat het resultaat van de vorige query dat uitlokte, kan de business functie zélf aan de gang en hoeft niet via IT. Voor hen is een Netezza wellicht wat bedreigend omdat het een appliance is in de juiste zin des woords. Neerzetten, kabeltjes erin en aansteken. Off you go.

Als ik er zo over schrijf moet ik andermaal tot de conclusie komen: Netezza: Prachtig spul!

Laat een bericht achter