Wer mehr Leistung für seine Datenbank braucht, hat heute nicht viele Möglichkeiten. In der Regel heißt es: Aufsetzen auf einen stärkeren Rechner. Dieses Verfahren passt nicht besonders gut zu neuen, flexiblen Rechenzentrumskonzepten - und noch weniger zu den exponentiell steigenden Datenmengen, die Fachleute mit dem Einsatz von "Big Data" erwarten. Nuodb hat eine Datenbankarchitektur entwickelt, die sich vom bisher üblichen, monolithischen Ansatz verabschiedet. Verteilte Intelligenz soll dafür sorgen, dass sich Datenbanken nahezu beliebig viele Standard-Server nutzbar machen. Auf diese Weise sollen sie elastisch mit wachsenden Anforderungen und Datenmengen skalieren.
„In der Natur gibt es auf großer Skalierung nichts, das zentral gesteuert wird“, erklärt uns Barry Morris, Gründer und CEO von Nuodb bei unserem Besuch in der Bostoner Unternehmenszentrale – unweit der berühmten Stanford-University. „Betrachten Sie sich etwa einen Vogelschwarm oder gar die Organisation des Weltalls – nirgends gibt es so etwas wie einen zentralen Lenker“. Mit dieser Erkenntnis machte sich Morris zusammen mit seinem Partner Jim Starkey, der in der Szene seit Interbase-/Borland-Zeiten (Firebird-Projekt) als eine Art Datenbankgenius gilt, an die Schaffung einer von Grund auf neuen Architektur für relationale Datenbanken. Zunächst ging es darum, die genaue Ursache der mangelnden Skalierbarkeit traditioneller Datenbanken zu analysieren. Auf SQL-Ebene schien alles ok – intern entwickelte Testverfahren bei Nuodb hätten bewiesen, dass SQL perfekt skaliere. Als Flaschenhals wurden schließlich die Transaktionen identifiziert, die mit ihren Lock-Mechanismen „jedes Mal im Grunde den ganzen Betrieb aufhalten“, so Barry. „Die Datenbank als Dateisystem zu betrachten – das ist also das Problem“.
Kern der neuen Architektur ist ein Peer-to-Peer-System, das sich wie eine Datenbank verhält. Daten, Indizes und Transaktionsstatus werden in mehreren Nodes vorgehalten und auf Anfrage an den Nodes zur Verfügung gestellt, die diese Informationen benötigen. Nur einige spezielle Nodes speichern Daten dauerhaft. Dabei kommunizieren die Peers über ein spezielles Protokoll, das Multi Version ConcurrencyLockingunterstützt. Das Prinzip: Daten werden nicht gelöscht und auch nicht aktualisiert – jede Operation erzeugt eine neue Version der Daten, mit Zeigern auf die Vorversion. Traditionelle Locks sind nicht erlaubt, stattdessen gibt es ein asynchrones, verteiltes Permission-System.„Das Grundkonzept einer Datenbank zu ändern, ist ein heikles Unterfangen“, erinnert sich Barry. Unternehmen speichern hier die Essenz ihres Business – von daher mussten wir ausführlich und über einen längeren Zeitraum hinweg immer wieder untersuchen, ob unser Konzept den hohen Stabilitäts- und Konsistenzanforderungen standhält. Neben der elastischen Skalierbarkeit und der einfachen Administration gehörte daher strikte ACID-Konformität zu den Designzielen“. ACID steht für Atomicity, Consistency, Isolation and Durability. Diese Eigenschaften gelten in der Datenbankwissenschaft für die Verlässlichkeit von Systemen als unabdingbar.
Inzwischen steht Nuodb nur noch wenige Monate vor der Veröffentlichung seiner ersten kommerziell verfügbaren Version der Datenbank-Software. Erst am 3. Oktober hat das Unternehmen, das übrigens noch vor einem Jahr Nimbus DB hieß, mit Beta 9 die letzte geplante Betaversion veröffentlicht. „Ja, wir haben lange getestet und immer wieder die Anregungen der Nutzer im System umgesetzt“, so Barry stolz. „Inzwischen sind es bereits mehr als 1800 Unternehmen, die unser System testen und auf die offizielle Verfügbarkeit warten. Wir freuen uns darauf, einen 35-Milliarden-Dollar-Markt aufzumischen“. Wenn alles glatt geht, sollen im November der Release Candidate 1 und im Dezember schließlich die Verkaufsversion 1.0 folgen. Bis dahin steht die Beta-Version auf der Homepage von Nuodb (www.nuodb.com) kostenfrei zum Download zur Verfügung.