RDBMS durch NoSQL-Datenbanken ersetzen – Doch welche ist die richtige?

Erfüllt eine relationale Datenbank (RDBMS) nicht mehr alle Anforderungen, lässt sie sich etwa durch Cassandra oder andere NoSQL-Datenbanken ersetzen.

Dieser Artikel behandelt

DBMS

Cassandra, MongoDB und HBase sind nur einige der vielen NoSQL-Datenbanken, die es derzeit gibt. Diese sollen Probleme lösen, die bei relationalen Datenbank-Management-Systemen (Relational Database Management System, kurz: RDBMS), dem vorherrschenden Datenbanktyp in Unternehmen, auftreten. Allerdings ist der NoSQL-Markt so lebhaft, dass ein Vergleich verschiedener Produkte eine Herausforderung ist.

Bevor wir uns mit diesem Problem beschäftigen, sollten wie zunächst klären, warum NoSQL-Datenbanken überhaupt relevant sind. Die kurze Antwort darauf: hochskalierte, verteilte Prozesse werden verstärkt in Anwendungen implementiert. RDBMS stößt dabei an seine Grenzen. Sowohl bei Web- als auch Enterprise-Apps sind relationale Datenbanken nicht mehr die beste Lösung.

Argumente gegen RDBMS gibt es viele. Eine relationale Datenbank kann beispielsweise zu teuer sein, um sie für einen breit gestreuten Einsatz zu nutzen. Sie passen aber auch häufig nicht zu den neuen Datentypen, wie zum Beispiel unstrukturierte Daten, die bei Big-Data-Anwendungen auftreten. Relationale Datenbanken haben Probleme mit der großen Datenmenge, die In-the-Field-Sensoren oder Webserver-Logs erstellen.

Anwender finden immer mehr Gründe, um von herkömmlichen relationalen Datenbanken abzurücken. Gleichzeitig steigt die Zahl von NoSQL-Datenbanken, die für bestimmte Zwecke entwickelt wurde, kontinuierlich an.

Cassandra auf der Spur

Apache Cassandra ist ein gutes Beispiel. Wie bei andere Technologien hat die Datenbank durch ein großes Web-Unternehmen Berühmtheit erlangt - in diesem Fall Facebook. Cassandra wurde geschaffen, damit Nutzer des sozialen Netzwerks ihre Posteingänge durchsuchen können. Als die Datenbank 2008 veröffentlicht wurde, unterstützte sie die Replikation von geografisch verteilten Data Centern. Auf diese Weise ließ sich eine schnelle Suche innerhalb von 100 Millionen Mitgliedern umsetzen.

Cassandra ist eine sogenannte „Key-Value-Datenbank“, die ein Reihen-basiertes Speicherschema und eine Peer-to-Peer-Architektur verwendet. Das Design ähnelt in weiten Teilen BigTable von Google und Amazon DynamoDB - zwei frühen und einflussreichen NoSQL-Datenbanken. Mittlerweile unterstützt Cassandra MapReduce, leichtgewichtige Transaktionen sowie Datenbankkomprimierungen und besitzt eine eigene Abfragesprache und –Trigger.

Facebook hat zwar 2011 das Cassandra-basierende Suchsystem durch eine Hadoop- und Hbase-Implementierung ersetzt. Allerdings hat die Firma die Software als Open Source freigegeben. Eine eigene Community treibt die Entwicklung weiter voran und seit 2010 zählt Cassandra zu den Top-Level-Projekten der Apache Software Foundation.

Eine maßgeschneiderte Lösung

Cassandra genügt den Ansprüchen der Internetidentitäten, so Jason Atlas, Vizepräsident der Technologie- und Entwicklungsabteilung des Security-Service-Anbieters Tacoma. Die Firma ist besser bekannt als IID und nennt eine schnell wachsende IP-Adressen-Datenbank ihr eigen, die ursprünglich auf einem MySQL-RDBMS-Cluster basierte. Doch aus Kosten- und Effizienzgründe hat das Unternehmen den MySQL-Pfad verlassen.

IID hat mit seiner MySQL-Datenbank in der Vergangengheit pro Woche rund 600.000 eindeutige IPv4-Adressen und Host-Namen gesammelt. Gleichzeitig wuchs die Zahl der zusammenhängenden Metadaten. „Wir haben daher angefangen, nicht mehr als 30 Tage Informationen zu einem Zeitpunkt zu speichern“, sagt der IID-Mitarbeiter. „Die Probleme traten vor allem bei der Skalierung auf. Cassandra eignet sich dagegen sehr gut für unsere IPv4-Daten, die einen Key-Value-Ansatz bevorzugen.“ IID schwenkte daher auf die DataStax Enterprise-Version von Cassandra um.

Cassandra ist so konstruiert, dass die Software auf handelsüblichen Clustern läuft – wie man es bei einer Datenbank von Google, Amazon und Facebook erwartet. Der Fokus auf Skalierbarkeit trägt bereits Früchte, so Atlas. “Wir können unsere Ressourcen besser linear skalieren als mit anderen bekannten Lösungen.“ Zudem lobt er DataStax für die MapReduce-Integration in Cassandra. Hier erwartet Atlas noch einiges in Zukunft.

Allerdings warnt er davor, Cassandra und andere NoSQL-Datenbanken mit Gewalt auf ein Probleme zuzuschneidern. „Es ist immer besser, die Probleme an die Lösung anzupassen.“, so Atlas Erfahrung.

Wie verwende ich NoSQL?

Die Vielfalt des NoSQL-Universums zu durchsuchen, kann anstrenged sein. Einige NoSQL-Anbieter tun sich bei den Datenbanken besonders hervor. Dazu gehört DataStax, aber auch ein Quartet von anderer NoSQL-Herstellern (Basho Technologies, CouchBase, MarkLogic und MongoDB), die von Gartner im Magic Quadrant-Report als Top-Anbieter von Datenbank-Management-Systemen (DBMS) gelistet sind. Es gibt zudem dutzende NoSQL-Angebote in verschiedenen Produktkategorien. Gleichzeitig richten sich unterschiedliche Datenbanken in der gleichen Kategorie an verschiedene Anwendungsfälle.

In einer Twitter-Diskussion mit Gartner-Analyst Merv Adrian verwies dieser auf eine Leser-Umfrage des Linux Journals, die NoSQL-Datenbanken verglichen hat. Dabei witzelt Adrian: „Das ist wie die Frage: Bevorzugen Sie Äpfel, Cocktails oder Brokkoli?“ Während ich laut lachte, teilt ich ihm per Tweet mit, dass ich seinen Standpunkt verstehe. Darauf hat er geantwortet: „Es ist sinnlos und bedeutungslos, NoSQL-Produkte zu vergleichen, die sich in Struktur und Zielgruppe derart unterscheiden.“

Atlas vertritt einen ähnlichen Standpunkt: „MongoDB und Cassandra haben überhaupt nichts miteinander zu tun. Allerdings nennt man beide NoSQL. Die Anwendungsgebiete sind aber total unterschiedlich.“, sagt Atlas abschließend.

Letztendlich wird sich der Markt für NoSQL lichten. Cassandra zeigt Anzeichen, dass sie zu den Überlebenden gehören wird. Derzeit eignet sich die Technologie vor allem für spezielle Bereiche. Cassandra und andere NoSQL-Produkte müssen aber in allgemeinen Anwendungsfälle beweisen, ob sie erfolgreich sind.

Folgen Sie SearchEnterpriseSoftware auf Twitter @sentsoftwarede.

Artikel wurde zuletzt im April 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Datenbank-Management-Systeme (DBMS)

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close