Mit MySQL Fabric erweitert Oracle die mit Sun übernommene Datenbank MySQL in Sachen Hochverfügbarkeit (High Availability, HA) und Scale-out - die Software erleichtert die Verwaltung großer Cluster durch automatisches Erkennen von Ausfällen mit Failover sowie automatisiertes Sharding. Solche Features nutzen große Internetfirmen wie Facebook und Google für ihre internen Entwicklungen. Aber auch neuere Datenbanksysteme wie Cassandra, Riak oder MongoDB haben sie teilweise und sind gerade deswegen (und nicht unbedingt wegen NoSQL-Document-Stores) für Web- und Telco-Kunden interessant.
MySQL Fabric kann die Master-Datenbank laufend überwachen. Fällt der Server aus, wählt Fabric einen der Slaves aus und macht diesen zum neuen Master, auf den dann für die Anwendung transparent Transaktionen und Load-Balancing umgeleitet werden. Derzeit funktioniert das nach Angaben von MySQL-Entwicklungschef Tomas Ulin gegenüber dem Branchendienst "The Register" noch relativ einfach, indem die Server regelmäßig angepingt werden. Das Verfahren soll aber schnell weiterentwickelt, verfeinert und damit reaktionsschneller werden.
Beim Sharding wird die Gesamtheit aller Datensätze einer Relation auf mehrere Tabellen aufgeteilt. Diese horizontale Skalierung ermöglicht die Skalierung einer Datenbank auf Commodity-Hardware ohne signifikante Leistungseinbußen. Bei MySQL Fabric kann man wählen, welche Tabellen fragmentiert werden und welche Spalten als Sharding-Keys dienen sollen; der Anwender hat dabei die Wahl zwischen Hash- und Range-basiertem Mapping. Überdies lassen sich bestehende Shards auf neue Server verschieben und in mehrere Shards aufteilen. Oracle bietet passende Erweiterungen für die Skriptsprachen PHP und Python sowie Java-Konnektoren an, die Transaktionen und Abfragen gleich auf den richtigen MySQL-Server routen.
MySQL Fabric dürfte dafür sorgen, dass weniger Nutzer dem populären MySQL den Rücken kehren und Oracle weiter großen Einfluss auf die Landschaft quelloffener Datenbanken behält. Ulin erwartet eine rasche Weiterentwicklung. "Das ist unser erstes Release", sagt der MySQL-Mann. "Wir glauben, dass es schon eine Menge Use Cases abdecken kann." Oracle hoffe, etwa alle sechs Monate eine neue Version herausbringen zu können.