Snellere databasetechnologie met MonetDB/X100

De prestaties van moderne computers nemen in hoog tempo toe. Databasetechnologie maakt echter nog onvoldoende gebruik van de enorme verbeteringen in de hardware. Marcin Zukowski van het Centrum Wiskunde & Informatica (CWI) in Amsterdam ontwierp nieuwe methodes om data te verwerken en implementeerde deze in het MonetDB/X100 databasesysteem. De prestatie van databasesystemen kan hiermee met een factor 10 of meer worden verbeterd.

Zukowski promoveert op 11 september 2009 aan de Universiteit van Amsterdam op zijn proefschrift ‘Balancing Vectorized Query Execution with Bandwith-Optimized Storage’. Zijn onderzoek vormt de basis voor het CWI-spin-off bedrijf VectorWise, waar Zukowski momenteel werkzaam is. Dit bedrijf kwam onlangs in het nieuws door de samenwerking met het open-source databasemanagement bedrijf Ingres Corporation.

Algemene methode

Moderne databasesystemen kunnen worden gebruikt voor bijvoorbeeld credit card analyses, onderzoek naar miljarden klantgegevens van grote winkelketens (datamining) of het verwerken van belgegevens bij telefoonmaatschappijen. Toch worden databases op sommige gebieden nog niet ingezet omdat ze te langzaam zijn. Hiervoor worden gespecialiseerde systemen gebruikt. Marcin Zukowski ontwierp nu een algemene methode die niet alleen voordelig is voor bestaande databasetoepassingen, maar die – dankzij de grote performanceverbetering – ook het gebruik van databasetechnologie in nieuwe gebieden mogelijk maakt. Een voorbeeld daarvan is het zoeken naar trefwoorden in grote hoeveelheden ongestructureerde informatie, zoals bij information retrieval.

Flesjes en kratten

Het belangrijkste deel van Zukowski’s systeem is een nieuwe benadering om data te verwerken: het vectorized in-cache execution model. Dit haalt in de hardware interne vertragingen weg tijdens de dataverwerking. "Vergelijk het maar met het halen van bier voor een feestje," zegt de promovendus. "Iemand kan één flesje bier halen in de winkel, dat thuis in de koelkast stoppen en dan steeds opnieuw naar de winkel gaan voor het volgende flesje. Wat wij doen kun je vergelijken met iemand die in een keer twee kratten bier ophaalt. Dat is veel efficiënter." Hiertoe maakte hij wijzigingen voor het operator pipeline model dat in de meeste databases voorkomt. Voordelen zijn de verbeterde schaalbaarheid en de hoge prestaties bij bulkverwerking van data. "Uit benchmark test bleek dat de performance toenam met ordes van grootte, vaak met een factor 100 of meer", aldus Zukowski. Het beheersen van de data-explosie is een van de speerpunten van het CWI. Dit onderzoek is daar een goed voorbeeld van.