MySQL 5.0 dreht auf
Dass die für private Webseiten und Kleinunternehmen oft genutzte Datenbanklösung MySQL bis heute noch nicht in Großprojekten genutzt wurde, liegt vor allem an der fehlenden SQL 2003 Unterstützung und den damit verbundenen, für den Unternehmenseinsatz notwendigen Funktionen und Prozeduren. Dies soll sich mit der Version 5.0 nun ändern.
Um den Umstieg zu MySQL zu erleichtern, wurde die sich lange in der Testphase befindende Datenbank nun um zum Beispiel „Stored Procedures“, „Triggers“ und „XA Distributed Transactions“ erweitert.
Die Integration von logischen Prozeduren zum Einsatz in Business-Lösungen wird nun von Stored Procedures ermöglicht. Dadurch ist es dem Unternehmen nun offen, festgelegte, dynamische Abläufe unabhängig von der angewandten Programmiersprache, wie PHP, zu speichern und auf Abruf ablaufen zu lassen. Syntaxtechnisch sieht das Ganze wie folgt aus:
CREATE PROCEDURE procedure1 /* name */
(IN parameter1 INTEGER) /* parameters */
BEGIN /* start of block */
DECLARE variable1 CHAR(10); /* variables */
IF parameter1 = 17 THEN /* start of IF */
SET variable1 = 'birds'; /* assignment */
ELSE
SET variable1 = 'beasts'; /* assignment */
END IF; /* end of IF */
INSERT INTO table1 VALUES (variable1); /* statement */
END /* end of block */
Die Triggerfeatures ermöglichen eine komplexere Umsetzung von unter anderem Geschäftslösungen auf Datenbankebene. Um vor Allem mit großen Datenmengen optisch und verständlich besser umgehen zu können, wurden die sogenannten Views eingeführt. Diese lassen sich direkt definieren und beinhalten eine festgelegte SELECT-Klausel, in der dann bestimmte Datenauswahlen fixiert festgelegt werden können:
mysql> CREATE VIEW v AS SELECT column1 FROM t;
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT INTO v VALUES (1);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM v;
+---------+
| column1 |
+---------+
| 1 |
+---------+
1 row in set (0.00 sec)
Mit der neuen „MySQL Pluggable Storage Engine Architecture“ erhöht sich die Flexibilität und Modularität von MySQL. Es können zum Beispiel ohne größeren Aufwand spezielle „Storage Engines“, wie etwa MyISAM, InnoDB und Archive modular an die Datenbank verbunden werden. Dazu kommt ein völlig offenes Storage System, welches unter die interne Definition „Other“ fällt und die Option bietet, eigene, einbindbare Engines zu erstellen:
Es wird deutlich, dass sich bei dem bis dato größten Versions-Neuerungsumfang in der Geschichte von MySQL einiges getan hat, um das Produkt für Großprojekte attraktiv zu machen. Ob sich die Mühen der Entwickler gelohnt haben, wird sich in der nächsten Zeit herausstellen.