Sie sind hier: HomeTelekommunikation

Datenbanken: NoSQL läutet die Datenbankzukunft ein

NoSQL-Datenbanken werden künftig in Unternehmen noch stärker etabliert sein. Welche Herausforderungen ergeben sich daraus für das Datenmanagement?

NoSQL SQL Datenbanken Bildquelle: © funtap-123rf

Unternehmen setzen zunehmend auf Architekturen mit skalierbaren, hochgradig verteilten Systemen. Von kleinen Start-ups, die vollständig in der Cloud arbeiten, bis hin zu großen Unternehmen, die neue, kundenorientierte Anwendungen entwickeln, hat der Wechsel zu nicht-relationalen NoSQL-Datenbanken zugenommen. In den letzten fünf Jahren haben sie sich als Basis für die Entwicklung Cloud-nativer Anwendungen etabliert. Herkömmliche relationale Datenbanken konnten nicht mithalten, da sie nicht so agil, flexibel und leistungsfähig sind, wie es die Workloads neuer Anwendungen erfordern. Dies sind insbesondere Big Data, Data-as-a-Service, Data Lakes, Data Science, Echtzeit-Analytik, maschinelles Lernen, Künstliche Intelligenz, das Internet der Dinge sowie anspruchsvolle mobile Anwendungen.

Maß der Dinge für moderne Anwendungen
Seinen Ursprung hatte NoSQL bei Datenbank-Verwaltungssystemen wie MongoDB und Apache Cassandra. Der Trend geht nun zu Suchlösungen wie ElasticSearch und Splunk für operative und analytische Anwendungsfälle sowie zu In-Memory-Datenbankspeichern wie Redis. Wurden NoSQL-Datenbanken bislang oft parallel mit relationalen Datenbanken betrieben, etabliert sich NoSQL nun als das alleinige Maß der Dinge für neue Datenbankanforderungen. Die Blogplattform improgrammer.net listet die aktuelle Top 10 der NoSQL-Datenbanken auf:

  • MongoDB ist eine dokumentenorientierte Open-Source NoSQL-Datenbank. Sie ist in C++ geschrieben und verwendet JSON-ähnliche Dokumente, um beliebige Daten zu speichern.
  • Cassandra wurde bei Facebook für die Posteingangssuche entwickelt. Cassandra ist ein verteiltes Datenspeichersystem für die Verarbeitung sehr großer Mengen an strukturierten Daten.
  • Redis ist der bekannteste Key-Value-Shop. Redis ist in C programmiert und unter BSD autorisiert.
  • HBase ist eine verteilte, nicht-relationale Datenbank, die von Google für die BigTable-Datenbank entwickelt wurde.
  • Neo4j wird als native Diagrammdatenbank bezeichnet, da sie das Eigenschaftsdiagrammmodell bis auf die Speicherebene effektiv implementiert.
  • Die Oracle NoSQL-Datenbank implementiert eine Zuordnung von benutzerdefinierten Schlüsseln zu undurchsichtigen Datenelementen.
  • Amazon DynamoDB verwendet ein NoSQL-Datenbankmodell, das nicht-relational ist und Dokumente, Grafiken und Spalten unter seinen Datenmodellen zulässt.
  • Couchbase Server ist eine NoSQL-Dokumenten-Datenbank für interaktive Webanwendungen. Sie verfügt über ein flexibles Datenmodell, ist leicht skalierbar und bietet eine gleichbleibend hohe Performance.
  • Memcached ist ein Open-Source-basiertes, leistungsstarkes, verteiltes Speicher-Cache-System, das dynamische Webanwendungen durch Reduzierung der Datenbanklast beschleunigen soll.
  • CouchDB ist eine Open-Source-NoSQL-Datenbank, die JSON verwendet, um Informationen und JavaScript als Abfragesprache zu speichern.

Diese und andere NoSQL-Datenbanken haben über die Entwickler- und Open-Source-Community den Weg in die Unternehmen gefunden. Die einfache Erstellung eines NoSQL-Clusters, also einer auf mehrere Rechner verteilten Datenbankanwendung, ermöglicht es innerhalb kurzer Zeit eine Datenbankumgebung für Anwendungen der nächsten Generation zu erstellen. MongoDB ist ein Beispiel für eine NoSQL-Dokumentendatenbank, die als Cluster betrieben werden kann. Hierzu muss ein Shared Cluster und ein Replikationsset oder -cluster erstellt und verwaltet werden. Neuere Angebote wie Couchbase machen die Erstellung und Skalierung von NoSQL-Clustern noch einfacher. Couchbase ist ein Open-Source-Softwarepaket für eine dokumentenorientierte NoSQL-Datenbank mit mehreren Modellen, das für interaktive Anwendungen optimiert ist.

Die NoSQL-Community hat sich der Aufgabe verschrieben, Datenbankumgebungen für komplexe Anwendungen bereitzustellen, wobei die Datenbank selbst mit möglichst wenig Komplexität auskommen soll. Ziel ist es, moderne Anwendungen schneller umzusetzen. Hier punktet die NoSQL-Welt mit maßgeschneiderten Lösungen, die auf Anwendungsfälle und Datenspeicherumgebungen optimal zugeschnitten sind.