CouchDB - angesagter Vertreter der "NoSQL"-Datenbanken

Werkzeuge  –  Kommentare

Die Datenbank-Community diskutiert derzeit intensiv über "NoSQL-Datenbanken". Diese neuen Datenbanken verzichten bewusst auf Funktionen, die in ihren relationalen Pendants inzwischen Standard sind, und konzentrieren sich stattdessen auf Spezialanforderungen insbesondere in Web(-2.0)-Anwendungen, bei denen relationale Datenbanken an ihre (Performance-)Grenzen stoßen. Ein Vertreter der neuen Datenbankgeneration ist CouchDB. Mit ihr erfolgt die Speicherung dokumentenbasiert und ohne explizite Schemadefinition.

Wer zum ersten Mal den Begriff "NoSQL-Datenbanken" zur Kenntnis nimmt, fragt sich möglicherweise, ob mit ihnen die Datenbankwelt vollständig neuerfunden wird und man seine über die vergangenen Jahre gesammelten SQL-Kenntnisse zukünftig nicht mehr verwenden soll oder darf. Vielleicht denkt man an objektorientierte- oder XML-Datenbanken, die ebenfalls mit dem Ziel angetreten sind, relationale Datenbanken dort zu ersetzen, wo sie durch ihre zugrunde liegende tabellenbasierte Speicherung an ihre Grenzen stoßen. Sind NoSQL-Datenbanken nun der nächste Versuch, den "großen bösen" relationalen Datenbanken Marktanteile streitig zu machen? Der Begriff "NoSQL-Datenbanken" mag die Ursache für solche Annahmen sein und wird daher in letzter Zeit auch immer häufiger durch "Not only SQL Databases" ersetzt, was dem eigentlichen Grundgedanken hinter der neuen Datenbank-Generation mehr entspricht.

Derzeit existiert bereits eine Reihe von Datenbanken, die sich der wachsenden NoSQL-Gemeinde zuordnen lassen. Ein guter Marktüberblick befindet sich unter nosql-database.org. Obwohl die Systeme sich in ihren theoretischen Grundlagen teilweise signifikant unterscheiden, zielen alle auf ähnliche Projektanforderungen hinsichtlich Skalierbarkeit, verteilten Datenabfragen sowie flexiblen Speichermodellen für Dateninhalte des Web-2.0-Zeitalters. Einige Systeme entstanden nicht am grünen Tisch, sondern durch Unternehmen der Web-2.0-Szene, die Schwierigkeiten hatten, den mit wachsenden Zugriffszahlen verbundenen Anforderungen bezüglich der Skalierbarkeit mit den am Markt verfügbaren relationalen (Cluster-)Systemen nachzukommen. Da es keine für sie passende Alternative am Datenbankmarkt gab, haben sie sich für die Eigenentwicklung entschieden.

Einen anderen Ursprung hat das CouchDB-Projekt. Seine Historie zeigt, wie schnell eine gute Idee das Interesse von Firmen und Investoren wecken kann. Sein Gründer, Damien Katz, hatte es 2005 ins Leben gerufen. Er führte es zunächst privat, ab 2008 dann als IBM-Angestellter fort. Ende 2009 gründeten Katz und einige Mitstreiter eine Start-up-Firma namens Relaxed Inc., und zwar mit 2 Millionen Dollar Venture-Kapital ausgestattet. Unter ihrem Dach soll die Weiterentwicklung von CouchDB erfolgen. Der Name CouchDB ist übrigens die Abkürzung für "Cluster of unreliable commodity hardware Data Base".