'Query base', dynamische broertje van de database, waakt of soldaten wel genoeg drinken

De databank die met u meedenkt

Generaals willen graag weten of hun aanvalskracht optimaal is. Als soldaten in de woestijn opereren, is het van belang om te weten of ze wel genoeg drinken. Daarom bevat de veldfles van de moderne Amerikaanse soldaat een sensor die het drinkgedrag registreert. Een database kan niet overweg met dit soort gegevens; de 'query base' doet zijn intrede op het strijdtoneel.

Michael Stonebraker, een van de grondleggers van de relationele database en uitvinder van de Ingres-database, is professor computerwetenschappen aan het vermaarde Massachusettes Institute of Technology. In het project Aurora (mede opgezet door de nabij gelegen Brown University en de Brandeis University) is een run-time-omgeving neergezet voor verwerking van grote volumes gegevens die real-time binnenkomen en meteen actie vergen. De traditionele databases zijn hier niet geschikt voor. Eigenlijk is een systeem nodig dat precies tegengesteld werkt aan de methodiek van een database. Stonebraker noemt het een 'query base'. Anderen spreken van een 'streaming base'.

Verschillen tussen dbms en dsms
Een 'query base' is een beheersysteem van datastromen, dat gebruikt wordt voor een controle-applicatie. De datastromen komen onafgebroken binnen van bronnen als sensoren, satellieten en voorraadbeheerapplicaties. De controle-applicatie haalt data binnen uit de stromen, filtert ze op signalen van abnormale activiteit en bewerkt ze voor eventuele aggregatie, reductie en correlatie. De beheerseisen voor monitoring-toepassingen verschillen grondig van die voor de traditionele databasemanagementsystemen (dbms):
Een traditioneel dbms veronderstelt een passief model waar de meeste gegevensbewerkingen in gang worden gezet door mensen die transacties of vragen (queries) bewerkstelligen. Het beheer van gegevensstromen vereist een actievere aanpak: het in de gaten houden van niet voorspelbare datastromen die binnenkomen van eveneens niet voorspelbare bronnen (zoals sensoren) en het waarschuwen van mensen indien abnormale activiteiten worden waargenomen;
Een traditioneel dbms beheert gegevens die op dat moment liggen opgeslagen in tabellen; het verschil in waarden van een data-element in de loop der tijd is niet van belang. Een datastroommanagementsysteem (dsms) vereist vaak het bewerken van gegevens die begrensd zijn door een beperkte reeks waarden, en verbonden moeten worden met een onbeperkt 'verleden' omdat juist het verschil in status van de waarden van belang is.
Een traditioneel dbms geeft exacte antwoorden op exacte vragen, en is blind voor real-time deadlines. Een dsms moet vaak rekening houden met tijdsgrenzen (zoals militaire applicaties die de posities van vijandelijke stellingen in de gaten houden) en daarom vaak redelijke benaderingen van de gevraagde antwoorden ophoesten.
Een traditionele 'query-processor' optimaliseert alle 'queries'op dezelfde manier (typisch door zich te richten op de responstijd). Een dsms gebruikt applicatiespecifieke criteria voor optimalisatie en biedt daarmee een kwaliteitsdienst.
Een traditioneel dbms hanteert een vraaggestuurde 'query' als norm, terwijl een dsms uitgaat van een aanbodgestuurd dataverwerkingsmodel.
Het Amerikaanse ministerie van defensie zag er meteen brood in, en Stonebraker werkt nu aan diverse projecten om de slagkracht van de VS-troepen te vergroten en verliezen van mens en materieel te verkleinen. Een ervan heeft te maken met de veldflessen die de krijgers bij zich hebben. "Gebleken is dat soldaten in het vuur van de strijd vaak vergeten te drinken. Uitdroging ligt op de loer en dat tast het aanvalsvermogen van de groep aan. De oplossing is alle veldflessen te voorzien van een sensor die voortdurend signalen naar een centraal punt stuurt, waar vervolgens valt te controleren of er wel regelmatig iets uit en in die fles wordt gedaan. Per soldaat is dan na te gaan of hij of zij wel genoeg drinkt. Je kunt ook een piepertje op de fles zelf monteren, zodat de soldaat een geluidje te horen krijgt wanneer hij weer aan de fles moet, maar dat werkt niet. Dat negeren ze gewoon. Je moet de aanvoerder erop aanspreken en dan moet je vervolgens weten wat er in die woestijn gebeurt. Voor de verwerking van die massale stroom gegevens is een 'query base' nodig", legt Stonebraker uit. Gevolgd door de mededeling dat de Amerikaanse troepenmacht nu in het veld met dit systeem experimenteert.
De soldaten zijn ook uitgerust met sensoren die lichaamsfuncties als bloeddruk en hartslag meten en doorgeven. En natuurlijk beschikken zij over chips die hun positie bepalen en melden.

Tanks

Een andere 'defensieve' toepassing is het volgen van de bewegingen van bijvoorbeeld een tank. Daarmee is te voorkomen dat het voertuig per ongeluk een mijnenveld inrijdt, omdat de bestuurder meer let op de vliegtuigen die hem bestoken dan op de zandverstuivingen waardoorheen hij zich een weg moet banen.
Tienduizend voertuigen zijn inmiddels voorzien van dergelijke, stevig ingepakte sensoren om op afstand zicht te houden op alle bewegingen, en de bestuurder -indien nodig- te waarschuwen als blijkt dat hij dreigt een vijandelijke fuik in te rijden. Maar ook om het brandstofpeil te controleren. Door alle signalen over de brandstofspiegel in al die vloeistoftanks te verzamelen, is het mogelijk een efficiënt programma op te zetten voor de aanvoer van brandstof. Het bijvullen van de voertuigen kan doelmatiger gebeuren.
Hoewel het militaire apparaat -vooral in de VS, die enorm veel geld aan defensie uitgeven- voorop lopen bij invoering van nieuwe informatiesystemen (zie ook 'Oorlog als motor van de it', Computable, 16 november 2001), zijn er tal van toepassingen voor 'query base's' te bedenken in de 'andere wereld'.
In logistieke systemen in fabriekshallen dragen veel producten en halffabrikaten een sticker met barcode. Dat is een passief systeem. Steeds vaker zullen zij een sensor krijgen opgeplakt, waardoor zij veel meer signalen kunnen doorgeven.
Zo hebben pakken met havermout op de lopende band een sensor ter grootte van een cent om aan te geven tot welk niveau ze moeten worden gevuld. De operator in de fabriek krijgt een signaal als een bepaalde voeler te hoge waarden registreert. In de productieketen is zo ook makkelijker na te gaan of die week nog duizend pakken havermout extra zijn te maken.
Een andere toepassing van 'query base's' heeft niets met sensoren te maken, maar alles met tijdgevoelige informatie en grote hoeveelheden steeds veranderende gegevens. Neem een financieel analysesysteem dat in staat moet zijn stromen van koerswaarden, afkomstig van verscheidene beurzen, in de gaten te houden om de handelaar te waarschuwen als er iets 'vreemds' aan de hand is. Of juist als het loopt zoals was gehoopt; kwestie van regels opstellen en invoeren.

Bibliotheek

Een verhuurbedrijf wil graag weten waar zijn apparatuur ('beamers', auto's) staat of rijdt. Gps-systemen en sensoren aan de plafonds van opslagruimten genereren een enorme stroom aan gegevens, die tijdgerelateerd zijn. Op zoek naar een bepaalde laptop voor verhuur, wil de beheerder misschien ook nog weten hoe het met de servicebeurten van het apparaat staat. Daarmee doet hij een beroep op historische gegevens. Voor dit soort toepassingen is een 'query base' wel uitgerust en een database niet (zo goed).
Stonebrakers stoet aan voorbeelden die de behoefte aan 'query base's' moeten aangeven, lijkt onuitputtelijk. Hij vertelt van een universiteitsbibliotheek dat Aurora toepast. "Niet om te voorkomen dat boeken worden gestolen of om vergeten boeken weer binnen te halen. Nee, om al die drukwerken die verkeerd worden teruggezet weer terug te vinden. De boeken hebben sensoren die aangeven waar ze zich bevinden. Jaarlijks gaan honderden boeken verloren doordat niet meer te achterhalen is waar ze staan. Dat kost niet alleen veel geld, omdat ze moeten worden aangevuld, maar ook veel plankruimte."

Nog niet af

Volgens Stonebraker heeft een controlesysteem behoefte aan een methode die precies tegengesteld is aan die van de traditionele relationele databases. In plaats van alle data op te slaan, moet het systeem juist alle queries opslaan. Het belang van de queries is groot, vandaar dat hij het een 'query base' noemt. Anderen leggen juist de nadruk op het feit dat de 'kaartenbak' overweg moet kunnen met dynamische gegevensstromen, en prefereren de naam 'streaming base'.
Het Aurora-systeem bestaat uit een op Java gebaseerde gui-ontwikkelomgeving, waarbinnen tuple-structuren en Aurora route-netwerken (flow networks) zijn gedefinieerd; een server zet een Aurora-netwerk in werking. De inbreng en uitkomst van de server zijn stromen 'tuples', geleverd via tcp/ip-sockets. En ten slotte een op Java gebaseerde gui-prestatiecontroleur die op een gewenst moment laat zien met welke dienst de server bezig is.
Stonebraker en zijn team hebben veel nieuwe dingen moeten ontwikkelen, zoals de stroom-georiënteerde 'query operators', omdat met de traditionele talen (zoals SQL) niet oneindige stromen data te verwerken zijn. 'Quality of service' is een ander nieuw element. En dan de vuilnisbak: omdat in korte tijd een beslissing nodig is, heeft het team een methode ontwikkeld die bepaalt welk deel van de gegevens niet nodig is voor de verwerking om tot een redelijk aanvaardbaar antwoord te komen. Om de harde schijf te ontzien, is een real-time rooster ontwikkeld. Ten slotte is er veel aandacht gegaan naar opslagbeheer.
Maar het werk is nog niet af. De wetenschappers hebben nu Aurora* onder handen, de gedistribueerde versie. Die moet het mogelijk maken dat gebruikers dichter bij de data (en hun verwerking) komen te zitten.
De relationele database zal blijven bestaan, maar duidelijk is dat hij er een broertje bij heeft gekregen. Elke database dient zijn specifieke doel.

 
Teus Molenaar, freelance medewerker

x

Om te kunnen beoordelen moet u ingelogd zijn:

Dit artikel delen:

Stuur dit artikel door

Uw naam ontbreekt
Uw e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×
article 2003-02-21T00:00:00.000Z Teus Molenaar
Wilt u dagelijks op de hoogte worden gehouden van het laatste ict-nieuws, achtergronden en opinie?
Abonneer uzelf op onze gratis nieuwsbrief.