Een beetje databasebeheerder lacht altijd wat schamper bij het horen van de naam My SQL: “Ja, leuk productje, maar niet geschikt voor het grote werk. Zeker als het om grote databases en vele gebruikers gaat, dan moet je toch echt bij de bekende drie zijn.”
Maar de minachtende glimlachjes kunnen we achterwege gaan laten. My SQL heeft in korte tijd enkele serieuze groeispurten doorgemaakt, met als meest recente My SQL Cluster. Deze speciale versie van My SQL is een zogenaamde ‘main memory’ databaseserver voor clusters. In versie 4.0 was de eerste grote groeispurt te zien. Het magere SQL-dialect werd fors uitgebreid. In feite is het SQL-dialect nu veel ruimer en orthogonaler dan dat van enkele bekende SQL-producten. Ook de prestatie werd opgeschroefd door nieuwe en verbeterde ‘storage engine’s te leveren. Dit begrip ‘storage engine’ is belangrijk voor My SQL. Elke databaseserver bestaat globaal uit twee lagen. De onderste laag is de ‘storage engine’, verantwoordelijk voor het opslaan en terugvinden van de gegevens. De efficiëntie van deze laag bepaalt grotendeels de prestatie en schaalbaarheid van de databaseserver. De bovenste laag vertaalt de binnenkomende database-instructies naar de simpelere interface van de ‘storage engine’. Bij de meeste databaseservers zijn deze twee lagen onlosmakelijk met elkaar verbonden, maar niet bij My SQL. Bij My SQL kan er een andere ‘storage engine’ onder de onderste laag geschroefd worden. Bekende ‘storage engine’s zijn Innodb, My Isam en Heap. De tweede groeispurt is de nieuwe ‘storage engine’ genaamd NDB (Network Data Base). De combinatie My SQL server met NDB wordt My SQL Cluster genoemd. My SQL Cluster werd op 14 april geannonceerd. NDB is bij Ericsson ontwikkeld en door My SQL gekocht. My SQL Cluster is te zien als een speciale versie van My SQL. NDB is ontwikkeld om volledig gebruik te kunnen maken van de hardware mogelijkheden van vandaag, zoals clusters, 64-bits architecturen en grote interne geheugens. Op elk knooppunt worden één of meer ‘storage engines’ gestart. Elke ‘storage engine’ beheert een deel van de database. Gegevens worden volledig gekopieerd naar een andere ‘storage engine’ in het cluster. Als een knooppunt uitvalt, blijft de gehele database nog steeds beschikbaar. Als gegevens gemuteerd worden, worden deze ook synchroon verwerkt in de andere ‘storage engines’. Het is ook een ‘main memory’ ofwel ‘in memory’ databaseserver. De gehele database wordt in het geheugen geladen. De mutaties en vragen worden volledig in het geheugen uitgevoerd, wat een enorme prestatieverbetering oplevert. Alleen voor het loggen wordt er daadwerkelijk naar schijf geschreven. Indexen worden niet op schijf opgeslagen, maar in het geheugen opgebouwd wanneer de database geladen wordt. Uiteraard vereist deze aanpak veel intern geheugen. Zeker als de gegevens omwille van de beschikbaarheid gedupliceerd moeten worden, wordt dit kostbaar. Stel dat een organisatie een 100 GB grote My SQL-database op een 32-bit Windows-platform heeft draaien. Als zij zouden willen overstappen op My SQL Cluster kunnen de servers met tientallen tegelijk naar binnen gereden worden. Vanwege de duplicatie van gegevens groeit de database naar 200 GB. Globaal kan één server 2 GB aan geheugen herbergen, dus hebben ze ongeveer 100 servers nodig. De overstap naar 64-bit platformen ligt voor de hand. Let wel, al het nieuwe zit aan de binnenkant. Aan de buitenkant ziet iedereen nog steeds het vertrouwde My SQL. Bestaande applicaties kunnen dus eenvoudig gebruikmaken van deze nieuwe technologie. My SQL Cluster is nog een jong product; op het gebied van ‘workload balancing’ en andere zaken zijn er nog diverse wensen, maar voor een eerste versie is dit een interessant product. Kortom, My SQL met NDB als ‘storage engine’ is een combinatie die zich steeds beter kan meten met de grote jongens. Het product moet zich nog in de praktijk gaan bewijzen, maar een schamper lachje over de kleinste in de klas, is niet meer terecht. Het kleintje is sterk gegroeid.
Tot slot nog een rectificatie. In plaats van de bedrijfsnaam Compuware gebruikte ik in mijn column van 26 maart abusievelijk de naam Uniface. En om het nog erger te maken verruilde ik hun productnaam Optimal J met Jdeveloper. De kenners weten dat dat van Oracle is. < BR>
Rick F. van der Lans is onafhankelijk adviseur, een internationaal bekend spreker en auteur van diverse boeken, tevens gespecialiseerd in softwareontwikkeling, datawarehousing en internet.