Het is de afgelopen jaren tamelijk onrustig geweest rondom de vooral bij webontwikkelaars populaire open source database MySQL. Precies 2 jaar geleden kondigde Oracle aan Sun Microsystems over te nemen inclusief MySQL, dat eigenlijk nog maar net bekomen was van de overname door Sun. Het duurde uiteindelijk tot januari 2010 totdat de overname ook door de Europese Commissie werd goedgekeurd. Ondertussen werd er volop gespeculeerd over wat Oracle, zelf marktleider in relationele database software, zou gaan doen met populaire gratis te gebruiken MySQL.

De oorspronkelijk MySQL oprichter, Michael Widenius, wachtte het allemaal niet af en kondigde in mei 2009 MariaDB aan, zijn eigen MySQL-fork. MySQL werd eerder in juli 2008 al [url-http://news.oreilly.com/2008/07/mysql-forks-could-drizzle-be-t.html]geforked[/url] onder de naam drizzle door Brian Aker, voormalig hoofarchitect van MySQL.

Grotere diversiteit

Behalve van forking lijkt MySQL steeds vaker concurrentie te ondervinden van niet-relationele NoSQL oplossingen. Maar Oracle heeft intussen niet stil gezeten: eind 2010 verscheen MySQL 5.5, de eerste release sinds de overname door Oracle. MySQL 5.5 is gewoon beschikbaar als open source onder de GPL, en ook kwalitatief lijkt de laatste release goed uit te pakken, maar of dit nu zo is ondanks of juist dankzij de toegenomen competitie om het MySQL marktaandeel, is op dit moment nog niet goed uit te maken.

Een gevolg van de toegenomen diversiteit in het MySQL landschap is dat het programma van O'Reilly's MySQL Conference, die deze week wordt gehouden, aanmerkelijk veelzijdiger en minder exclusief op MySQL gericht dan de voorgaande jaren. Zo wordt de conferentie voorgezeten door de eerder genoemde Brian Aker en Colin Charles (van MariaDB), en is het thema van dit jaar "The ecosystem and beyond". Behalve MySQL zelf zijn ook de MariaDB en drizzle forks goed vertegenwoordigd. Er is zelfs een aparte PostgreSQL track, inclusief keynote, en verder zijn er opvallend veel sessies over NoSQL-oplossingen zoals Hadoop, MongoDB en CouchDB, al dan niet in combinatie met MySQL.

Oprichter van drizzle

Op de conferentie praatten we met Brian Aker, ex-hoofdarchitect van MySQL, oprichter van drizzle en voorzitter van O'Reillys MySQL Conferentie 2011:

WW: Brian, je bent dit jaar voorzitter van de MySQL Conferentie 2011. Kun je iets meer vertellen over het thema van dit jaar, "MySQL, the ecosystem and beyond"? Het lijkt alsof het dit jaar minder over MySQL gaat dan in voorgaande jaren.

BA: Eigenlijk zijn er juist veel overeenkomsten met vorige jaren. Het is en blijft een typische O'Reilly conferentie. Oracle heeft natuurlijk z'n keynote, maar ook de andere MySQL forks zijn goed vertegenwoordigd. Bedrijven als Amazon en Rackspace bieden professionele MySQL hosting vanuit de cloud, en het gebruik van MySQL is daarmee groter dan ooit.

WW: Maar dit jaar is er zelfs een PostgreSQL track. Hoe past dat bij het MySQL ecosyteem?

BA: Ik wilde zelf graag een PostgreSQL track. In voorgaande jaren waren er wel hier en daar wat losse sessies over PostgreSQL, maar als geheel ontbrak het bij de conferentie wel eens wat aan diversiteit. Ik vind PostgreSQL een interessant product met vele mogelijkheden. Een goed voorbeeld is bijvoorbeeld hun GIS (red: geografisch informatiesysteem) extensie. Ik wil de MySQL gebruikers graag hiermee laten kennis maken, omdat het hen een beter beeld kan geven over MySQL. Wat dat betreft kun je de PostgreSQL track vergelijken met hoe we in voorgaande jaren producten als Memcached (red: een web caching laag) hebben gepromoot.

WW: Je bent de oprichter van de MySQL-fork drizzle. Kun je de MySQL gebruikers uitleggen hoe drizzle verschilt van MySQL?

BA: Toen we MySQL 5.0 uitbrachten, merkte ik dat veel van de traditionele MySQL gebruikers niet tevreden waren met nieuwe "enterprise" features zoals views en stored procedures. Vooral grote websites waren meer geïnteresseerd in verbeteringen van de bestaande functionaliteit. Drizzle is begonnen met het verwijderen van deze enterprise features, en richt zich vooral op het vergroten van de betrouwbaarheid, schaalbaarheid en gebruiksgemak.

WW: Welke MySQL gebruikers zouden volgens jou moeten overwegen om over te stappen naar drizzle? Zijn er ook gebruikers die je het zou afraden?

BA: In het algemeen zou ik niemand adviseren om van de ene naar de andere database te migreren. Anders is het als je een nieuwe applicatie gaat maken, dan moet je zeker kijken om welke database je die het beste heen kunt bouwen. Als je afhankelijk bent van replicatie, dan moet je zeker eens naar drizzle kijken. In drizzle sluiten transacties op database niveau en replicatie beter op elkaar aan, waardoor replicatie een stuk robuuster is in vergelijking met MySQL.

WW: Drizzle noemt zich een lichtgewicht database voor gebruik in de cloud. Wat voor features heeft drizzle die het speciaal geschikt maken voor de cloud?

BA: Drizzle is ontworpen om gemakkelijk geïntegreerd te kunnen worden in de webstack. Het is meer een deel van de infrastructuur dan een aparte database server, zoals MySQL dat wel is. Daarom is drizzle gebaseerd op een plug-in architectuur. Functionaliteiten zoals authenticatie en logging, die ingebouwd zijn in MySQL zijn in drizzle uitgevoerd met behulp van plug-ins. Dit maakt zaken als LDAP authenticatie mogelijk, en logging naar file, of naar de syslog, precies zoals het je uitkomt.

WW: Kun je iets zeggen over hoe het drizzle ontwikkelenproces verschilt van dat bij MySQL?

BA: MySQL's opvatting van open source was en is vooral gebaseerd op het openbaar maken van de broncode, en weinig meer dan dat. Voor ontwikkelaars buiten MySQL is het enorm moeilijk om code bij te dragen. De patches die vanuit de community zijn aangeboden zijn maar mondjesmaat en uiterst langzaam aan MySQL toegevoegd. Bij drizzle is dit helemaal anderson: er is niet een bepaald bedrijf dat eigenaar is van de drizzle broncode. Drizzle is echt een project waar ontwikkelaars van meerdere bedrijven aan werken. Afgelopen jaar bijvoorbeeld hebben we patches van Rackspace, Akiban, Percona en nog vele anderen geaccepteerd en verwerkt.