Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

MySQL 5.1 uitgebracht

Het heeft even geduurd maar vandaag heeft MySQL, tegenwoordig onderdeel van Sun Microsystems, een nieuwe versie van MySQL, namelijk MySQL 5.1, uitgebracht. MySQL 5.1 is vooral gericht op betere performance maar bevat ook enkele nuttige nieuwe features.

(more...)

MySQL fork: Drizzle

Opmerkelijk nieuws afgelopen maand, enkele ontwikkelaars - waaronder een co-founder van MySQL A.B. zelf, hebben besloten dat ze MySQL momenteel, sinds 5.1/6.0, te weinig vinden aansluiten bij de eisen van 'het web' en hebben een fork genaamd Drizzle aangekondigd om dit probleem aan te pakken.

(more...)

Een blik op MySQLi IV: Transacties en SSL

In de vorige 3 MySQLi artikelen hebben we het gehad over het basis gebruik van MySQLi, prepared queries en unbuffered queries. In dit artikel zullen we zien hoe je met transacties kunt werken en hoe je een beveiligde verbinding kunt opzetten met MySQL.

(more...)

MySQL kondigt nieuwe storage engine aan: Maria

Het lijkt er op dat Sebastiaan's gebeden in elk geval een beetje zijn verhoord want begin deze week heeft Michael Widenius van MySQL A.B. aangekondigd dat hij een zijn team de laatste tijd gewerkt hebben aan een nieuwe crash-safe storage engine: de Maria Storage Engine.

De features van de Maria Storage engine zijn o.a:

  • Crash-safe (dit voorbeeld illustreert dit)
  • Alles wordt gelogged, incl. CREATE/DROP/RENAME/TRUNCATE statements en het volledige log kan worden terug gespeeld.Je kunt dus een backup maken door het volledige log over te nemen.
  • In latere versies zal Maria o.a. ACID compliant zijn, MVCC en row locking ondersteunen en transacties bieden.

Een van de doelen van Maria is om uiteindelijk de vervanger van MyISAM te worden en standaard met MySQL 6.0 meegeleverd te worden, net als de Falcon storage engine. De Falcon storage engine wordt gepositioneerd als vervanger voor InnoDB maar aangezien de Maria storage engine behoorlijk wat features in gemeen heeft met Falcon vraag ik me dan af wat de veel besproken Falcon storage engine nog extra te bieden heeft.

Je kunt Maria zelf al eens proberen door een binary van de Maria Storage Engine te downloaden. Meer informatie vind je op Maria's homepage op MySQLForge.

Sun neemt MySQL over

Who said Open Source couldn't make any money? In een onverwachte actie hebben MySQL A.B. en Sun Microsystems, bekend van o.a. Java, en OpenSolaris, vandaag bekend gemaakt dat het MySQL A.B, het bedrijf achter de populaire opensource database MySQL, zal overnemen voor het astronomische bedrag van 1 miljard dollar. Hoewel overname geruchten voor MySQL niet vreemd waren, we hebben eerder al eens gehoord dat Oracle MySQL A.B. al eens wilde overnemen, komt dit toch enigzins uit onverwachte hoek. Zeker aangezien Sun ook al het nodige geld in een andere populaire opensource database heeft zitten: PostgreSQL.

Jonathan Schwartz van Sun:

But the biggest news of the day is... we're putting a billion dollars behind the M in LAMP. If you're an industry insider, you'll know what that means - we're acquiring MySQL AB, the company behind MySQL, the world's most popular open source database.

[...]

Both sets of customers confirmed what we've known for years - that MySQL is by far the most popular platform on which modern developers are creating network services. From Facebook, Google and Sina.com to banks and telecommunications companies, architects looking for performance, productivity and innovation have turned to MySQL.

[...]

We've historically worked at arm's length to optimize MySQL on Sun's platforms. Just as we did for Oracle in their early days, our performance engineering teams will sit (virtually) with their counterparts in MySQL and in the community, leveraging technologies such as ZFS and DTrace (which we didn't even have in the Oracle era) to ensure Sakila flies - along with the rest of the LAMP stack (from memcached and php, to the broader ISV community around MySQL).

MySQL A.B. Logo

Hoewel Sun het nu natuurlijk voor het zeggen krijgt, blijft de originele auteur van MySQL en ook de rest van MySQL A.B. eigenlijk gewoon verder gaan zoals ze bezig waren. Dat is, met wat extra hulp, want de Sun Engineers hebben met o.a. Java, ZFS, OpenSolaris en DTrace natuurlijk behoorlijk wat kennis te bieden.

Zolang MySQL verder gaat zoals ze nu bezig zijn, ben ik in elk geval enthousiast en vooral benieuwd wat dit gaat opleveren voor MySQL.

Overstappen van de MySQL naar de MySQLi extensie

2008 betekent het einde van PHP4. In augustus is het gedaan. Een van de dingen uit PHP4 die een beetje onderbelicht is gebleven bij de verschillende upgrade artikelen is het feit dat de MySQL extensie nogal oud is. De PHP ontwikkelaars zijn hier uiteraard ook mee bezig en op enkele fora kwam ik vervolgens geruchten tegen over dat de mysql extensie, de extensie die o.a. de welbekende mysql_query() functie levert, verwijderd zou worden - wat natuurlijk de nodige paniek op leverde.

(more...)

PHP6 komt met nieuwe MySQL client library: MySQLNG.

Enkele mensen uit de PHP wereld waren iets minder blij met het feit dat MySQL A.B. besloten heeft om de client library van MySQL uit te brengen onder de GPL licentie, dit onder andere omdat deze GPL licentie in principe incompatible is met de BSD-style licentie van PHP:

Now why would we care? One boring, yet important aspect, is that mysqlnd will be licensed under the PHP license. So this will solve any legal concerns or hickups and its definitely a nicer solution than the FLOSS exception

Ze hebben dus besloten om voor PHP6 en nieuwer een nieuwe MySQL client library te ontwikkelen welke onder een BSD style licentie wordt vrijgegeven. Als je mysqli gebruikt (zie ook de MySQLI artikelen hier op Scriptorama) veranderd er verder niet veel. De wijziging zit voornamelijk achter de schermen en mysqli werkt zoals vanouds. MySQLNG wordt uitgebracht als een toevoeging en niet als een vervanging voor de reeds bestaande libmysql client library. Dus als je de mysql of MySQLi extensie toch liever met de officiele libmysql client library wilt gebruiken is dat geen enkel probleem.

Update: Het is toch het plan om ook met een PHP5 versie van MySQLNG te komen
(more...)

Database gotcha’s

Elk stukje software dat je gebruikt heeft zo z'n eigenaardig heden en als je deze software vaak gebruikt of bijvoorbeeld voor belangrijke dingen gebruikt is het wel belangrijk dat je je realiseert wat deze eigenaardigheden zijn en wat voor effect ze hebben.

De gotcha's van je programmeer taal die je gebruikt zijn belangrijk, daar had Tri Pham het al eens over gehad. Databases zijn uiteraard ook erg belangrijk dus hierbij een lijst van MySQL Gotcha's.. Voordat iedere anti-mysql adept nu begint te juichen en "zie je wel" begint te roepen: er is ook een lijst van PostgreSQL gotcha's, al is hij wel een stukje korter dan die voor MySQL ;-)

Database performance test door Tweakers.net

Vandaag staat op Tweakers.net een interessant artikel over hoe verschillende versies van MySQL zich performance-gewijs gedragen op verschillende processoren. Het doel van het artikel is meer het testen van de processoren dan de databases zelf maar ook op het vlak van de database software kregen ze nog wel de nodige verassingen.

Zo kelderde de performance MySQL 4.1 op bepaalde Intel Xeon processoren wanneer een bepaalde concurrency bereikt werd. Na onderzoek door o.a. Intel zelf bleek dat MySQL 4.1 niet op de meest optimale manier gebruik maakt van threads die dit probleem beschrijven.

De performance van MySQL 5.0 daarintegen was een grote verrassing. In veel gevallen was deze vele malen beter dan die van 4.1. Bij bepaalde Opteron processoren bleek zelfs dat de processor niet volledig gebruikt kon worden, terwijl de server die de testqueries op de database afvuurde op z'n maximum liep. Uiteindelijk blijkt de AMD Opteron dan ook in de meeste gevallen op dit moment de grote koning van MySQL databases.

All in all een interessant artikel!

Tweakers.net Databaseserver en -software vergelijking

MySQL sluit overeenkomst met SolidDB

Okay dan, Oracle kan de overname gesprekken weer starten. Er is een nieuw doelwit gesignaleerd!

Eerder schreef ik al dat MySQL met Jim Starkey, destijds een ontwikkelaar op het Firebird project, in zee ging om een nieuwe storage engine te ontwikkelen voor MySQL die InnoDB zou kunnen vervangen.

Vandaag op Tweakers.net zien we echter dat MySQL een nieuwe overkomst heeft gesloten met Solid Information Technology waarbij deze akkoord gaat om haar database product, SolidDB, onder de GPL bij MySQL te leveren. SolidDB zal waarschijnlijk (strategisch) fungeren als de InnoDB "vervanger". InnoDB zelf zal natuurlijk niet snel verdwijnen.

Je zult er snel naar kunnen kijken want op 24 april ziet een eerste prototype het levenslicht, in Juli wordt de eerste beta verwacht en aan het eind van het jaar moet de complete software algemeen beschikbaar zijn.

Rest mij nog de vraag wat Jim Starkey's nieuwe storage engine precies gaat worden dan. Het heeft er alle schijn van dat meneer Starkly aan de MySQL integratie van SolidDB heeft gewerkt, maar als we dan dit bericht lezen zien we dat Jim Starkly ook het een en ander gaat presenteren maar dan op 27 april.

Als er nog een aparte engine bij komt wordt het wel een flinke lijst van storage engines die MySQL ondersteund, wat verwarrend kan werken, maar ik ben zeker benieuwd.