Foto: Peter Boncz ©Marike van Pagée
En wat de meeste mensen vergeten, is dat er niet één ideale database is, integendeel. “Bij het ontwerpen van een nieuwe database-architectuur begin je met het maken van een wensenlijstje. Dan blijkt al snel dat die wenselijke eigenschappen vaak met elkaar in conflict zijn”, zegt Peter Boncz, hoofd van de onderzoeksgroepen Software Engineering, Database Architecture en Information Access van het Centrum Wiskunde & Informatica (CWI) en hoogleraar Large-Scale Analytical Data Management aan de Vrije Universiteit.
Een database kan idealiter heel erg veel data bevatten en je moet er heel snel in kunnen zoeken. Je moet de data continu kunnen updaten. De opslag moet goedkoop zijn en de database moet makkelijk zijn in gebruik. “Het is een gevecht tussen de verschillende belangen die de data hebben. Wil je snel kunnen zoeken, ga je de data misschien indexeren. Maar als je indexeert, moeten de indexen onderhouden worden. Dan wordt het toevoegen van data weer veel langzamer. Dan zit je eigenlijk al meteen in de knoop. Als het geheel goed schaalbaar moet zijn, moet het op meerdere machines draaien, maar dan heb je ook weer het probleem dat ze met elkaar moeten communiceren.”
Het zijn maar enkele van de conflicten die Boncz opsomt. De oplossingen komen uit de database-architectuur, een vakgebied dat onder de snel veranderende eisen aan databases een stormachtige ontwikkeling doormaakt. “Er bestaat een hele sterke industriële vraag naar de technologie die wij hier in de groepen ontwikkelen. Databasesystemen zijn een miljardenmarkt. Oracle was lange tijd marktleider, maar raakt die positie kwijt aan kleinere bedrijven en een continue veranderd landschap van nieuwe ideeën om de markt beter te bedienen. Er is veel kennisuitwisseling en samenwerking tussen de industrie en academische onderzoeksgroepen.
Verleden
Database-architectuur was eind jaren 80 een specialisme waar in Nederland nog niet veel aandacht voor was. De onderzoeksgroep van Martin Kersten, hoogleraar aan de Universiteit van Amsterdam, was destijds de enige in het veld dat werd gedomineerd door Amerikaanse partijen. Boncz kwam er eigenlijk bij toeval mee in aanraking. “Ik studeerde software engineering aan de Vrije Universiteit en vond operating systems wel sexy, databases niet. Maar ik kwam in contact met Martin Kersten en raakte door een proefschrift uit zijn groep onder de indruk van de complexiteit van databases. Database-systemen zijn complexer dan operating systemen.” Zo startte hij zijn eigen promotie-onderzoek waarbij hij gelijk betrokken raakte bij de eerste startup, Data Distilleries. “Het bedrijf werd opgezet in de tijd dat datamining voor het eerst op het netvlies kwam. Vooral verzekeringsmaatschappijen wilden risicomodellen bouwen op basis van echte data in plaats van intuïtie. Martin Kersten zette Data Distilleries op samen met twee oudere PhD-studenten en ik deed niet veel later mee omdat ik de databaseman was.” Boncz had tijdens zijn promotie de database MonetDB ontwikkeld, een heel snel opensource-databasesysteem. “Datamining is een soort combinatie van statistiek, databases en een beetje AI, in de zin van regels en voorspelende boomstructuren. Ik was toen misschien nog maar twee jaar bezig als PhD-student, maar de early adopters bonkten zo hard op de deur dat ik erin gerold ben.”
Na een paar jaar Data Distilleries lonkte voor Boncz toch de wetenschappelijke uitdaging en koos hij voor een vaste aanstelling als onderzoeker aan het CWI. MonetDB werd verder ontwikkeld waaruit een tweede startup ontstond, genaamd Vectorwise naar de gelijknamige database. “We hebben als groep een aantal belangrijke ideeën in deze wereld geïntroduceerd. Bij MonetDB ging het om de Column Stores, met Vectorwise voegden we daar het vectoriseren van queryverwerking aan toe. Dat wordt toegepast in heel erg veel systemen die nu worden gebouwd, van Google’s BigQuery tot Snowflake en natuurlijk ook onze eigen DuckDB. Ook Databricks heeft een nieuw systeem gemaakt op basis van vectorized query-execution.”
Heden
De snelle opkomst van allerlei toepassingen van kunstmatige intelligentie en meer specifiek machine learning biedt de groep van Boncz weer andere vragen uit de markt en nieuwe onderzoeksrichtingen. “Wij hebben altijd dicht op de hardware gezeten. We volgen de ontwikkelingen in hardware dan ook altijd op de voet en proberen na te denken hoe je die vernieuwingen kunt inzetten voor een betere databaseverwerking. De nieuwe hardware wordt meestal niet gemaakt voor databasetoepassingen, maar bijvoorbeeld voor gaming, of nu om neurale netwerken sneller te kunnen trainen. Dus komen er nieuwe subchips of chips voor smartphones en wij denken dan: ‘Kunnen we die ook voor andere doeleinden gebruiken?’ GPU’s (grafische chips) en TPU’s (Tensor Processing Units, gespecialiseerde chips van Google voor AI-toepassingen, red.) zijn vaak veel sneller dan een gewone processor.”
DuckDB is de meest recente database-ontwikkeling in de groep van Boncz, die heel snel aan populariteit wint, zoals valt af te leiden uit de populariteitsindex DB-Engines.com. Het is een open source in-process databasemanagementsysteem gericht op het verwerken van analytische zoekopdrachten. Rondom deze kern is in Amsterdam de spinoff DuckDB Labs opgezet door Hannes Mühleisen en Mark Raasveldt, twee medewerkers uit de Database Architecture groep van Boncz. Jordan Tigani, de bedenker van Google BigQuery, heeft weer op basis van een samenwerking met Mühleisen, de startup MotherDuck opgezet om DuckDB als een cloudservice aan te bieden. Boncz: “Op al deze populaire ontwikkelingen staat een zwaar CWI-stempel. We hebben ideeën aangedragen voor nieuwe manieren om data op te slaan in de cloud en gewerkt aan columnaire compressie die geschikt is voor vectorized query-executie.”
Boncz werkt nu tijdens een jaar sabattical als software engineer bij MotherDuck. “Ik kan weer zelf programmeren en heb veel bijgeleerd over systeemontwikkeling in DuckDB. Met die vaardigheden kan ik mijn PhD-studenten straks beter helpen. Bovendien zijn de problemen die MotherDuck probeert op te lossen, inspirerend voor toekomstig onderzoek.”
Toekomst
Er dienen zich voor de Amsterdamse teams steeds weer nieuwe uitdagingen aan. “We zijn nu onder meer bezig met compressiemethoden die beter geschikt zijn voor de nieuwe generaties hardware. Dus de GPU’s en de TPU’s. Eigenlijk een heel klassiek onderwerp, opslag op een laag niveau dataopslag.”
Daarnaast werkt Boncz bijvoorbeeld ook aan een oplossingen voor het privacyprobleem op niveau van dataopslag. “Er is een enorme disbalans tussen organisaties en individuen. Organisaties verzamelen veel data en als individu moet je dat maar accepteren als je een app wil gebruiken. Ik wil met gedecentraliseerde data mensen meer controle teruggeven. Op dit moment is er eigenlijk geen technische mogelijkheid, dus je kunt applicatie-ontwikkelaars de huidige manier van werken niet kwalijk nemen.” Boncz denkt aan methoden waarbij de degene die de gegevens maakt ook het beheer daarover behoudt. De gegevens kunnen dan onder bepaalde voorwaarden toegankelijk zijn.
Er zijn meer initiatieven die dat doel nastreven, maar er is toch een duidelijk verschil, benadrukt Boncz. “Een app als IRMA is een standalone app met een bepaalde beperkte functionaliteit. Het leuke van het ontwerpen van een database is dat die generiek moet zijn zodat die voor veel toepassingen gebruikt kan worden. Dat is nog een relatief nieuw terrein.”
Lees het artikel bij AG Connect



