Een reden dat wereldwijd slechts een beperkt aantal groepen databasesystemen ontwikkelt, is dat het duur is. In veel gevallen ligt er onder de bestaande databasesystemen een rigide architectuur, waardoor op termijn de toepasbaarheid en prestaties afnemen.
Leveranciers en onderzoek Enerzijds kent de databasewereld de grote commerciële leveranciers als Oracle, IBM en Microsoft. Anderzijds is er de open source-gemeenschap met systemen als MySQL en PostgreSQ, en een aantal kleinere systemen als SQLite. Wat onderzoek naar database-architecturen betreft gaat het wereldwijd vooral om de Universiteit van Berkeley, de Universiteit van Wisconsin, Carnegy Mellon University en het MIT. In Europa zijn vooral het Nederlandse Centrum voor Wiskunde en Informatica en de Zweedse Uppsala University belangrijk. |
|
Opkomst Azië
Dit legacy-probleem geldt ook voor open source-systemen als MySQL. “Dat systeem bestaat uit twee lagen: de SQL-laag en de ‘storage engines’ (fysieke opslagmethoden, bijvoorbeeld InnoDB, MaxDB, Berkeley DB en NDBcluster). De SQL-laag is op dezelfde leest geschoeid als de commerciële systemen. Wanneer voor één ‘storage engine’ is gekozen, is het bijna onmogelijk om over te stappen naar een ander. Het vereist zowel een ‘dump/reload’ van de database als een aanpassing van de applicaties om de verschillende (SQL-) functionaliteiten te kunnen benutten. Dat leidt tot beperkingen met betrekking tot de prestaties op het gebied van analytische verwerking.”
Een mogelijkheid om deze verouderingsproblemen snel op te lossen is er niet. Grote bedrijven zitten vast aan hun klantenbestand en hebben daardoor moeite met het uitbrengen van nieuwe versies. Het nieuwe systeem moet immers wel bij bestaande klanten werken zonder drastische ingrepen in de bedrijfsapplicaties. Daarnaast kijken de financieel sterke bedrijven veelal naar de korte termijn. “Je zou verwachten dat de frontlinie bij dat soort bedrijven te vinden is. Het tegendeel is waar, de dynamiek ligt bij onderzoeksinstituten”, zegt Kersten.
Nederland doet het in dat opzicht goed en heeft wereldwijd een erkende positie veroverd op databasegebied. Toch is er een verschuiving merkbaar. De Europese activiteiten op het gebied van databasetechnologie zwakken af en er is een opkomst te zien van onderzoeksgroepen in Azië. Veel Europese universiteiten zien, mede door financiële oorzaken, zich
Centrum voor Wiskunde en Informatica Het CWI (Centrum voor Wiskunde en Informatica) werd in 1946 onder de naam Stichting Mathematisch Centrum opgericht. Het is hét Nederlandse onderzoeksinstituut op het gebied van wiskunde en computertechnologie. De missie van het CWI is enerzijds vooruitstrevend onderzoek te doen op wiskundig en technologisch gebied, en anderzijds de verkregen kennis op deze gebieden over te brengen naar de maatschappij, vooral de handel en industrie. |
Publiek eigendom
Het CWI heeft als onderzoeksinstituut de vrijheid om nieuwe wegen in te slaan. “Wij volgen die wegen totdat het bruikbaar wordt”, zegt Kersten. Dat leverde onder meer de open source-database MonetDB op, een database vol innovaties, zoals standaardisatie op tweekoloms tabellen, optimaal gebruik van de geheugeninfrastructuur, een systeem dat de dba-rol (database administrator) overneemt en een database die ‘één tot twee ordes van grootte’ sneller is dan traditionele systemen (zie benchmark-tabel).
Eén van de oorzaken daarvan is dat bij de legacy-architecturen ieder ‘update statement’ moet worden veiliggesteld en dat dit op een veel te laag niveau in de architectuur gebeurt, aldus Kersten. Bij MonetDB is dit niet het geval. Hetzelfde geldt voor het verwerken van de SQL-queries. In MonetDB wordt niet gewerkt met een stapsgewijze benadering van afzonderlijke records, maar is de software optimaal geconfigureerd voor het verwerken van grote verzamelingen gegevens.
De open source-database is ontwikkeld met publiek geld (het CWI wordt grotendeels gefinancierd door het NWO, Nederlandse Organisatie voor Wetenschappelijk Onderzoek), en is dus publiek eigendom. Hij is na ontwikkeling ter toetsing aangeboden aan Data Distilleries, een spin-off van het CWI die in ‘analytische crm’ (het destilleren van klantprofielen) voor callcenters doet. “Het draait dus ook al acht jaar bij een aantal financiële instellingen die het product van Data Distilleries hebben aangeschaft.” De ontwikkeling van de database blijft doorgaan binnen en buiten het CWI. Op dit moment zijn er twintig ontwikkelaars wereldwijd bezig met nieuwe versies en toepassingen op basis van MonetDB. De nieuwste versie (5) wordt volgend jaar verwacht.< BR>
MonetDB
De open source-database MonetDB is ontwikkeld om hoge prestaties te leveren bij complexe zoekvragen aan grote databases, zoals het combineren van tabellen met honderden kolommen en miljoenen rijen. Het systeem draagt de ervaring van drie verschillende generaties relationele databasekernels in zich, van een kernel voor 16-bit processoren via een voor 32-bit naar de huidige, die geschikt is voor 64-bit processoren. De database is geschikt voor publiek gebruik. De back-end server kan zowel SQL-99 als de relationele algebrataal MIL aan. Applicatie-interfaces zijn er van Odbc en Jdbc tot Perl/DBI. De grafische frontend heet Mknife. Het systeem kent ook frontends voor Xquery, Odmg en gis’en, en wordt gebruikt in experimenten met ‘multimedia information retrieval’. MonetDB wordt dagelijks getest op zeventien verschillende platformen verspreid over diverse sites.
Benchmark
Een essentieel onderdeel van het onderzoek is het evalueren van nieuwe technologie. Een eenvoudig voorbeeld is het construeren van een tabel met twee kolommen met behulp van een ‘SQL transaction script’, opgebouwd uit duizend ‘insert statements’, n keer een ‘bulk insert’ van de eerste stap, en een paar keer een ‘bulk update’ op de tweede kolom. De resulterende database kan variëren van een paar kilobyte tot een paar honderd megabyte. Een omvang waarvoor de meeste dbms’en (database management systeem) hun neus zouden ophalen, totdat duidelijk wordt dat met een ‘out-of-the-box’ gebruik van het pakket immense prestaties worden verkregen.
Het CWI heeft de responstijd gemeten van zijn MonetDB in vergelijking met een aantal andere open source-databases draaiend op een tweeweg server met Athlon 1400-processoren, 1 GB ram en 3,5 GB vrije ruimte. Let wel, dit is slechts een indruk van de verwerkingskracht van de systemen. De responstijd is weergegeven in seconden.MonetDB/SQL MySQL 4.0.18 PostgreSQL 7.4 SQLite 2.8.12 1K 0.2 0.2 2.0 5.0 100K 0.9 12.1 69.6 30.7 1M 6.1 122.9 1060.4 335.2 10M 59.9 1582.7 4377.0 > 7200.0 20M 124.6 3190.6 Full disk aborted 30M 295.2 4740.6 40M 414.8