Consol Pressemeldung

Was Sie schon immer über NoSQL wissen wollten

FAQ von Consol zum Einsatz sowie den Vor- und Nachteilen von NoSQL-Datenbanken

München, 14.06.2012, 14.06.2012 – 

Unter dem Begriff NoSQL wird aktuell eine sehr heterogene Menge von Datenverwaltungssystemen mit unterschiedlichen Funktionalitäten zusammengefasst. Gemeinsam ist ihnen vor allem, dass sie für Anwendungsfälle geschaffen wurden, in denen die verfügbaren SQL-basierten Datenbanken an ihre Grenzen stießen und daher nicht oder nur unter sehr großem Aufwand einsetzbar waren. Im Folgenden beantwortet die Consol Software GmbH (www.consol.de), IT-Full-Service-Anbieter mit dedizierter NoSQL-Erfahrung, wo sich der Einsatz von NoSQL-Systemen lohnen kann und was man dabei beachten sollte.

1. Was genau verbirgt sich hinter NoSQL?

Der Name steht für "Not only SQL" („nicht nur SQL“). Bei NoSQL geht es also nicht darum, keine SQL-Datenbanken mehr einzusetzen, sondern nur, sich nicht ausschließlich auf diese zu beschränken. NoSQL ist also keine Anti-SQL-Strömung, sondern eine Alternative bzw. Bereicherung zur SQL-Welt.

2. Worin unterscheiden sich NoSQL- von den klassischen SQL-Datenbanken?

Interessanterweise schließt NoSQL an historische Datenbankmodelle an mit dem Ziel, einige Nachteile der relationalen Datenbankmanagementsysteme (RDBMS) zu beheben. So vereinen sich unter NoSQL eine Reihe von Ideen: Die Architektur vieler NoSQL-Datenbanken setzt auf den Einsatz einer (auch großen) Anzahl kostengünstiger Rechnersysteme zur Datenspeicherung, wobei die meisten (bei einigen Systemen sogar alle) Knoten gleichrangig sind. Eine Skalierung erfolgt dann einfach durch Hinzufügen weiterer Knoten, oft sogar im laufenden Betrieb. Das Aufsetzen von einfachen Key-Value-Stores und die Speicherung unstrukturierter Daten ermöglicht Schema Evolution. Zudem verzichten NoSQL-Datenbanken auf Transaktionen. Einige Systeme unterstützen stattdessen die Idee von „Eventual Consistency“ zum Performancegewinn. Im Unterschied zu den gängigen SQL-Datenbanken unterscheiden sich die NoSQL-Datenbanken jedoch auch untereinander sehr. So gibt es einfache Key-Value-Stores wie z.B. Riak oder Amazon’s Dynamo, aber auch komplexe dokumentorientierte wie CouchDB, MongoDB oder OrientDB, die zusätzlich zu Dokumenten noch Verknüpfungen zwischen Dokumenten anbieten. Eine genaue Prüfung des jeweiligen Anwendungsszenarios auf die bestimmten Eigenschaften der NoSQL-Datenbank ist daher erforderlich. Der Zeiteinsatz jedoch lohnt sich.

3. Wofür eignen sich NoSQL-Datenbanken besonders?

Der Einsatz einer NoSQL-Datenbank sollte überall dort in Erwägung gezogen werden, wo eine SQL-Datenbank an ihre Grenzen stößt oder aufwändige Datenverrenkungen notwendig wären. Mit ihr lassen sich z.B. wesentlich größere Mengen an Daten ablegen, ohne an Performancegrenzen zu stoßen – Stichwort "Horizontale Skalierbarkeit". Bei komplexen Abfrageanforderungen, z.B. im Bereich von unstrukturierten Daten wie Video, Audio oder Bild-Dateien, erlauben einige NoSQL-Datenbanken baumförmige Strukturen der Metadaten und deren flexible Abfrage. Auch wenn es sich um sehr variable Dateien handelt, eignen sich NoSQL-Datenbanken besser, weil sich die Daten nicht länger in das „SQL-Korsett“ pressen lassen müssen.

4. Wie sicher sind NoSQL-Datenbanken?

Für Anwendungen, die eine hohe Ausfallsicherheit für ihre unstrukturierten Daten brauchen, eignen sich NoSQL-Datenbanken hervorragend. Sie sind wesentlich ausfallsicherer als relationale Datenbanken. Der Grund liegt in der Möglichkeit, die Daten auf viele Server zu verteilen und redundant vorhalten zu können – Stichwörter "Sharding und Replication". Dies geht so weit, dass bei einer entsprechenden Auslegung des Gesamtsystems in vielen Fällen auf ein Backup der Datenbank verzichtet wird, da es bei der gespeicherten Datenmenge ohnehin nicht mehr praktikabel durchzuführen wäre.

5. NoSQL ist grundsätzlich offen. Welche Vor- oder Nachteile hat dies?

Die NoSQL-Bewegung ist nicht proprietär an einen Hersteller gebunden, sondern ein Produkt der Open Source Community bzw. einer Bewegung, die sich der Entwicklung nicht-relationaler Datenbanken verschrieben hat. Das hat den Vorteil, dass die Entwicklungen grundsätzlich offen und ihre Dokumentationen frei verfügbar sind. So haben es Entwickler leicht, sich einen Einblick zu verschaffen, um die passende Datenbank auszuwählen. Die Kehrseite der Medaille ist, dass dieser Einblick manchmal sehr ernüchternd sein kann, weil die Dokumentationen oder Tutorials teilweise unübersichtlich oder unvollständig sind. Hier sind manchmal Ausdauer und Geduld gefragt.

6. Sind NoSQL-Datenbanken kostengünstiger?

Bei besonderen Anforderungen, insbesondere bei der Skalierbarkeit und der Verfügbarkeit von Daten, stellen NoSQL-Datenbanken sinnvolle und kostengünstige Alternativen dar. Vor allem die problemlose horizontale Skalierbarkeit und der Verzicht auf ein festes Datenbanken-Schema ermöglichen Anpassungen und Erweiterungen vergleichsweise einfach. Allerdings unterschieden sich die NoSQL-Konzepte nicht nur deutlich von RDBMS, sondern auch untereinander, sodass ihr Verstehen äußerst komplex sein kann. Datenbankentwickler und Administratoren müssen daher oftmals trainiert werden, was mit Zeit- und damit monetärem Aufwand verbunden ist. Hinzu kommt, dass es nur wenig kommerziellen Support für NoSQL-Datenbanken gibt, was bei einem Einsatz in einer produktiven Umgebung eine entscheidende Rolle spielen kann.

7. Wie sieht es mit dem Installations- und Anpassungsaufwand aus?

Hier lassen sich pauschale Aussagen leider schwer treffen. Einige NoSQL-Datenbanken wie MongoDB sind sehr schnell und einfach installiert und benutzt. Bei CouchDB gibt es zum Beispiel benutzerfreundliche Webtools für einen schnelleren Einstieg. Andere wie Cassandra werden üblicherweise auf mehrere Knoten aufgesetzt. Dabei erfolgt die Bedienung über Kommandozeilen (CLI, command line interface) oder eine Weboberfläche (web interface). Insgesamt lässt sich sagen, dass im Vergleich eine relationale Datenbank häufig einfacher zu installieren ist, da sie oftmals schon bei der Betriebssystem-Installation dabei ist. Aber auch hier kann es ja größeren Aufwand geben, wenn man z.B. einen ausfallsicheren Cluster installieren möchte.

8. Wie sieht es bei NoSQL-Datenbanken mit Wartung und Updates aus?

Da die NoSQL-Bewegung noch relativ jung ist, ist ihre Entwicklung noch nicht abgeschlossen, hier passiert sehr viel. Neue Versionen, die meist auch neue Features bieten, werden daher fast monatlich herausgegeben. Dadurch ist der Aufwand, up-to-date zu bleiben, höher als bei relationalen Datenbanken. Da eine NoSQL-Installation üblicherweise auf vielen Knoten läuft, ist die Wartung schon aufwändiger. Die Software selbst scheint ausgereift, daher ist der Aufwand mit dem von normalen Datenbanken vergleichbar.

Download von FAQ und Bildmaterial: http://bit.ly/Consol_Pressemitteilung

Pressekontakt Consol

ConSol Software GmbH
Isabel Baum
Franziskanerstraße 38
D-81669 München
Tel.: +49 (0)89 45841-101+49 (0)89 45841-101
E-Mail: Isabel.Baum@consol.de

Kontakt PR-Agentur

Schwartz Public Relations
Sendlinger Straße 42A
D-80331 München

Jörg Stelzer
Tel.: +49 89 211871-34
E-Mail: js 'at' schwartzpr 'punkt' de

Marita Bäumer
Tel.: +49 40 76974450
E-Mail: mb 'at' schwartzpr 'punkt' de