Het relationele concept van de gangbare databases begint te wringen nu gegevensverzamelingen steeds geavanceerdere toepassingen krijgen. Het is tijd voor een hele nieuwe opzet van databases waarin informatie automatisch gerelateerd is en tabellen en indices overbodig zijn.
De bedenker van het relationele concept, dr. Codd, wees al op de povere implementaties van zijn model in commerciële databases, die overigens tot op de dag van vandaag de markt domineren. Databases die boven het gangbare niveau (‘derde normaalvorm’) worden genormaliseerd, kennen nog altijd zodanig heftige prestatieproblemen c.q. toenemend bronnengebruik, dat zij moeilijk economisch verantwoord te bouwen zijn. Vanuit een oogpunt van datakwaliteit, betrouwbaarheid en onderhoudbaarheid ongewenst, maar onvermijdelijk. In de huidige tijd voldoet dit niet langer. Databases behoren maximaal te normaliseren te zijn zonder dat de prestaties afnemen of het allemaal te duur wordt.
Principiële problemen
Het is de vraag of betere implementaties van het relationele concept ook meer principiële problemen zullen verhelpen. Relationele databases zijn in oorsprong gericht op administratieve registraties, waarin bouwstenen en hun relaties goed worden gedefinieerd zodat zij volgens een vooraf vastgelegde structuur kunnen worden samengevoegd tot informatieproducten.
Dit soort databases zijn niet ontworpen en dus minder geschikt om op basis van de waarde van interactie alternatieve ‘beelden’ te genereren en grote dynamische gegevensstromen uit allerlei ‘spatial’ – en audiovisuele toepassingen op te slaan en te manipuleren. Het concept is evenmin ontworpen om resultaten van research-achtige activiteiten te bewerken, waarbij op basis van waarnemingen of informatiefragmenten een structuur moet worden ontdekt. Het relationele concept begint hier en daar te wringen. Gegevensstromen van observatiesatellieten, internet, telecominfrastructuren en grootschalige rfid-implementaties vergen te veel van het beperkte opname- en weergavevermogen en de beperkte interactiviteit van bestaande databases.
In relationele databases moet de opslag en manipulatie van gegevens aan strikte regels gebonden zijn, want de gegevens ‘weten’ zelf niet waar ze bijhoren. Zij zijn ‘steriel’ opgeborgen in tabellen die onder bepaalde voorwaarden aan elkaar zijn geknoopt. Die voorwaarden komen voort uit het gewenste gebruik van de gegevens, zodat dit gebruik ook in de structuur van de opslag wordt weerspiegeld. Het datamodel, de daarop gebaseerde tabelstructuur en de toepassing bepalen de context voor de data-elementen, hun betekenis. Is of gaat er iets mis met de structuur, dan is de betekenis van de gegevens verloren. Vandaar de regelgeving. Dit alles heeft mede tot gevolg dat wanneer we de gegevens voor een ander dan het oorspronkelijke doel willen hergebruiken, ook een andere opslagstructuur noodzakelijk is en de uitgenormaliseerde productiedatabases niet voldoen. De gegevens worden overgepompt naar een structuur waarin de normalisatie tenietgedaan is en redundantie vaak juist gewenst is: het datawarehouse. Dit gesleep met gegevens is ingewikkeld, duur en voegt principieel geen waarde toe. Konden we het maar achterwege laten!
Het gewenste gebruik van gegevens mag niet worden weerspiegeld in de structuur van de opslag. Moeizaam hergebruik noodzaakt ook tot het steeds opnieuw opslaan van identieke gegevens, als waren zij nog nooit opgeslagen. Een gevolg is dat we langzamerhand ook last krijgen van de schier eindeloze omvang van onze gegevensverzamelingen die een enorme fysieke redundantie kennen.
Fysieke redundantie kan worden opgeheven door een systeem waarin alleen de bouwstenen van gegevens worden vastgelegd (de letters van deze tekst bijvoorbeeld). Uit verwijzingen naar de bouwstenen kunnen vervolgens woorden of ingewikkelder constructies worden gevormd, waarbij iedere bouwsteen zijn ‘vorige’ en zijn ‘volgende’ kent en bovendien weet dat hij onderdeel uitmaakt van deze tekst en ook alle andere teksten waarin hij voorkomt. Dat zou de redundantie tot nul reduceren. Een slimme methode om de relaties te leggen doet dan de rest.
Functie en structuur
Dit alles staat minder ver van ons af dan het misschien in eerste instantie lijkt. Een parallel: in klassieke machines was de functie nog verknoopt met de structuur en bouw van het apparaat. In hedendaagse computers is al een scheiding tussen functie en structuur aangebracht. Het huidige machineconcept kan vele functies vervullen. Peter Wegner en Dina Goldin hebben in hun boek ‘Church-Turing Thesis: Breaking the Myth’ aanpassingen van het machineconcept voorgesteld die de dynamische mogelijkheden en interactiviteit verder zouden kunnen vergroten. Voor een nieuwe vorm van gegevensopslag is de analogie dat de structuur niets zegt over het gebruik én de gegevens de eigen contexten ‘kennen’.
Nu denkt u misschien: dit is een gecomprimeerde en wel erg populaire weergave van bevindingen in het Lowell-rapport, een blik in de toekomst. Of u denkt: het is een manifest, maar er is geen theoretisch kader of product wat dit alles kan realiseren. Of u denkt: Verhoeff is gek. Van deze drie zijn in ieder geval de eerste twee niet juist: zowel theorie als implementatie bestaan. De toekomst is nu!
De combinatie van een context los van de structuur van opgeslagen informatie, c.q. meerdere gelijktijdig geldige contexten en een tot nul gereduceerde fysieke redundantie van gegevens, betekent dat we eigenlijk op zoek zijn naar een logica, gekoppeld aan een machine die in staat is op enig moment de werkelijkheid vanuit meer dan één gezichtspunt weer te geven. De Polylogica van met name Gotthard Guenther kan worden opgevat als fundament voor een dergelijke benadering. In de jaren zestig en zeventig hebben de filosofen van deze stroming in hun laboratoria geprobeerd hun concepten naar machines te vertalen. Onder invloed van de opkomende en aanvankelijk veelbelovende Artificial Intelligence (AI) droogde de financiering voor hun radicaal andere aanpak op. Het bleef bij gedachten en publicaties. AI is inmiddels verleden tijd.
En de praktijk….
Enkele tientallen jaren later en zonder de theorieën van Guenther en de zijnen te kennen, is een Israëlische uitvinder met een filosofische inslag, Erez Elul, begonnen software te schrijven waarin hij zijn eigen tamelijk moeilijk te begrijpen filosofieën probeerde te communiceren. Het resultaat lijkt verbluffend veel op een technische implementatie van de ideeën van Guenther en de zijnen. Het is uitgemond in een product, Pile, waarin gegevens niet meer bestaan, maar vervangen zijn door verwijzingen naar bouwstenen. Constructies worden gemaakt door verwijzingen naar verwijzingen. Een veelheid aan structuren kan zo worden afgebeeld. Alle informatie wordt automatisch gerelateerd en tabellen en indices zijn onnodig om de gegevensruimte te definiëren of in stand te houden.
Het product bevindt zich in een post-laboratoriumfase en heeft een Spartaans ogende interface, maar doet het prima en is bliksemsnel. Een tekst (met of zonder spaties tussen woorden) kan worden ingelezen en vervolgens met zoekcriteria van onbeperkte omvang doorzocht. Dit lijkt betrekkelijk simpel, maar is het niet: Google staat niet meer dan 13 zoekcriteria per actie toe en het aantal karakters is ook zeer beperkt. Bovendien werkt deze machine zonder indexering: alle mogelijke toegangspaden zijn reeds bij de opname van de data automatisch in de verwijzingsstructuur vastgelegd. De gegevens vormen een onderling verbonden netwerk, waardoor complexe navigatiestructuren mogelijk zijn. Fysieke redundantie is inderdaad nul: bij grotere bestanden neemt de omvang van bestanden nog maar zeer beperkt toe, omdat de ‘mogelijke’ constructies dan allemaal wel langs zijn geweest en een enkele referentie aan de betreffende constructie voldoende is voor de vastlegging.
Het demoproduct is voorzien van diverse logging spreadsheets waarin de gebruiker allerlei performance indicatoren zelf kan nameten. Nu wordt gewerkt aan het distributierijp maken van de eerste versie, waarin bijvoorbeeld ook beeld en geluid niet-redundant opgeslagen moet kunnen worden. Dat belooft wat. De website van dit piepkleine bedrijfje geeft ruime informatie over het concept en de uitwerking. Uit de antwoorden op mijn vragen blijkt dat met deze aanpak alle eerdergenoemde eisen worden vervuld!
En de bedenker…
De uitvinder doet de zakelijke kant niet. Daar is het bedrijf Peter Krieg verantwoordelijk voor. Maar er wordt weinig verdiend, dus geheel in romantische stijl wordt er in soberheid verder gewerkt. Veel onderzoekslaboratoria, bedrijven en wetenschappers zijn bezocht, niemand reageert tot dusver. Door een mengeling van ongeloof en onbegrip blijft de koelkast van Elul voorlopig dan ook leeg. Het deert hem niet, hij gaat rustig door. Die hele it-industrie zal hem een zorg zijn. Dat hij en passant de heilige graal van de ict op een presenteerblaadje aanreikt, een markt van miljarden openlegt, de bestaande status quo in databaseland ingrijpend kan veranderen en voor dit alles geen aandacht, laat staan erkenning krijgt, vindt hij niet belangrijk. Onthoudt die naam: Erez Elul, te Berlijn. Het spreekwoordelijke individu met de briljante ideeën, dat in staat is een hele industrie te veranderen.
Gotthard Guenther:
Pile: http://www.pilesys.com
Lowell-rapport: http://research.microsoft.com/~gray/lowell/
Jelte Verhoeff