De meeste datawarehouses worden voornamelijk periodiek ververst. Bij veel organisaties worden nieuwe gegevens een keer per dag, een keer per week of zelfs maar een keer per maand overgeheveld van de productiesystemen naar het datawarehouse. Met klassieke ETL-tools of zelfgeschreven scripts worden die nieuwe gegevens gekopieerd, getransformeerd en geladen.
Is een lage verversingsfrequentie voor iedere organisatie wel voldoende? Sommige organisaties hebben behoefte aan wat wel eens realtime of near realtime datawarehouses genoemd worden. Indien de databases van de productiesystemen gewijzigd worden, worden deze mutaties zo snel mogelijk in het datawarehouse doorgevoerd.
Ook al kopiëren we zeer frequent, het kan nog steeds enkele minuten duren voordat gegevens uit de productiesystemen gehaald, in het datawarehouse opgeslagen en bereikbaar zijn voor de BI-gebruikers.
Vandaar dat nu een nog snellere vorm ontworpen is; de formule 1 onder de business intelligence oplossingen. We spreken dan niet meer van realtime datawarehouses, maar van realtime business intelligence. Gegevens zijn op het moment dat ze de organisatie binnenkomen direct beschikbaar om beslissingen op te nemen. In feite gebeurt dit nog voordat de gegevens in de database van een productiesysteem of datawarehouse zijn opgeslagen.
Hiervoor kunnen we databaseservers inzetten die de gegevens benaderen als ze nog ‘onderweg’ zijn. De gegevens stromen nog van de ene naar de andere applicatie en wij kunnen er al analyses op loslaten. Dit worden ook wel streaming databaseservers genoemd. Voorbeelden hiervan zijn Lava Analytics Server van CeleQuest en StreamBase van het gelijknamige StreamBase Systems.
Normaliter zou een stroom berichten door een applicatie verwerkt moeten worden. Deze slaat de berichten dan eerst in een database op voordat er rapporten gecreëerd kunnen worden. Als een streaming databaseserver gebruikt wordt, ontvangt de databaseserver alle berichten. De gesommeerde en geaggregeerde gegevens worden dan doorgeheveld naar de applicatie die deze alleen nog maar hoeft te presenteren.
Het voordeel van het product StreamBase is dat deze nu is uitgerust met een SQL-interface waardoor het eenvoudiger is voor leveranciers van BI-tools om hun producten voor deze geavanceerde databaseserver geschikt te maken.
Dit betekent letterlijk dat we SQL-instructies niet loslaten op gegevens die in tabellen liggen opgeslagen, maar op gegevens die net zijn binnengekomen. Uiteraard zijn al deze databaseservers in staat om de binnenkomende gegevens ook op te slaan.
Maar wie zit er op realtime BI te wachten? Sommigen zullen al denken: haastige spoed is zelden goed. Toch zijn er omgevingen voor wie deze vorm van BI onontbeerlijk is. Sterker nog, sommigen hebben al hun eigen oplossingen gebouwd om aan deze behoefte te voldoen. Hiervoor moet dan zelf zeer complexe software ontwikkeld en onderhouden worden. Het zijn die omgevingen waar elke seconde telt, denk bijvoorbeeld aan de handel in aandelen.
Deze organisaties ontvangen een constante stroom van duizenden berichten per seconde. Deze moeten direct geanalyseerd worden om te bepalen of er aandelen gekocht of verkocht moeten worden. Eén seconde te laat kan miljoenen kosten. Ook voor de militaire, medische en telecommunicatiewereld is het eenvoudig om voorbeelden te bedenken. StreamBase wordt ook gebruikt door een bedrijf dat online internet games draait. Daar wordt continu geanalyseerd hoe goed spelers het doen en of ze geholpen moeten worden. Lukt het ze niet, dan moet direct de moeilijkheidsgraad aangepast worden om te voorkomen dat ze uitloggen. Als dit bedrijf de gegevens eerst in een productiedatabase moet opslaan om ze vervolgens over te hevelen naar een datawarehouse, is de betreffende gebruiker allang uitgelogd als ontdekt wordt dat hij een probleem heeft.
Uiteraard zal niet iedereen realtime BI nodig hebben. Toch opent deze nieuwe generatie databaseservers deuren. Er kunnen nu BI-toepassingen gebouwd worden waarvan voorheen alleen maar gedroomd werd.
Rick van der Lans