Alex - stock.adobe.com

NoSQL-Datenbanktypen erklärt: Schlüssel-Werte-Datenbank

Die Verwendung eines Schlüssel-Werte-Speichers kann die Skalierbarkeit von Datenprozessen verbessern, die keine komplexen Abfragen oder Analysen erfordern.

Die strukturierten Einschränkungen relationaler Datenbanken unterstützen moderne Weiterentwicklungen nicht so gut wie NoSQL-Datenbanken. Die Einfachheit eines NoSQL-Schlüssel-Werte-Speichers (Key-Value Store) bietet eine flexible Architektur zur Verarbeitung unstrukturierter Daten und zur Erfüllung der umfangreichen Datenanforderungen selbst der komplexesten modernen Technologien.

Relationale Datenbanken und strukturierte Datensätze bildeten jahrzehntelang die Grundlage für Geschäftsanwendungen, bevor das Internet erfunden wurde. Die Structured Query Language (SQL) vereinfachte die Datenspeicherung weiter und optimierte die Verwaltung, Verarbeitung und Abfrage von Daten. Die Skalierung und Modernisierung von SQL-Datenbanken hat sich allerdings in den letzten Jahren schwierig gestaltet.

Not-only-SQL-Datenbanken (NoSQL) sind flexiblere Systeme, die verschiedene Datentypen verarbeiten und mit den sich weiterentwickelnden Technologiegenerationen Schritt halten können. Sie können Daten aus Web-Anwendungen, mobilen Apps, dem Internet der Dinge (Internet of Things, IoT), Edge-Geräten, Always-on-Anwendungen, KI-Chatbots, Algorithmen für maschinelles Lernen und großen Sprachmodellen (Large Language Model, LLM) verarbeiten.

NoSQL-Datenbanken lassen sich in vier Hauptgruppen unterteilen: Schlüssel-Werte-Speicher, spaltenorientierte, dokumentorientierte und Graphdatenbanken. Jeder dieser Typen eignet sich für bestimmte Anforderungen und Datentypen. Der einfachste der vier Typen ist der Schlüssel-Werte-Speicher. Er bietet einfache Funktionen für eine effektive Datenverwaltung, eignet sich hervorragend für eine Vielzahl von Anwendungsfällen und bietet Flexibilität und Skalierbarkeit. Seine Einfachheit birgt jedoch potenzielle Nachteile.

NoSQL-Datenbanken im Vergleich
Abbildung 1: Vergleich der wichtigsten NoSQL-Datenbanken.

Was ist ein Schlüssel-Werte-Speicher?

Der Schlüssel-Werte-Speicher verwendet die Schlüssel-Werte-Methode und stellt eine Sammlung zahlreicher Schlüssel-Werte-Paare dar. Die Schlüssel sind eindeutige Kennungen für verschiedene Werte, bei denen es sich um jede Art von Objekt handeln kann – eine Zahl oder eine Zeichenkette oder sogar ein anderes Schlüssel-Werte-Paar. Werte für andere Schlüssel-Werte-Paare machen die Struktur der Datenbank komplexer.

Im Gegensatz zu relationalen Datenbanken haben Schlüssel-Werte-Datenbanken keine festgelegte Struktur. In relationalen Datenbanken werden Daten in Tabellen mit zugewiesenen Datentypen für jede Spalte gespeichert. Schlüssel-Werte-Datenbanken sind eine Sammlung von Schlüssel-Werte-Paaren, die als einzelne Datensätze gespeichert werden. Schlüssel müssen strategisch benannt werden, da dies die einzige Möglichkeit ist, den mit ihnen verbundenen Wert abzurufen.

Schlüsselnamen können Zahlen oder spezifische Beschreibungen des nachfolgenden Werts sein. Eine Schlüssel-Werte-Datenbank ist wie ein Wörterbuch oder ein Verzeichnis: Wörterbücher haben Wörter als Schlüssel und ihre Bedeutungen als Werte. Telefonbücher haben Namen von Personen als Schlüssel und ihre Telefonnummern als Werte. Wenn Sie den Namen der Person, deren Nummer Sie benötigen, nicht kennen, können Sie die richtige Nummer nicht finden. Schlüssel-Werte-Speicher haben die gleiche Einschränkung.

Die Merkmale einer Schlüssel-Werte-Datenbank

Der Schlüssel-Werte-Speicher ist einer der am wenigsten komplexen Typen von NoSQL-Datenbanken, was das Modell für Benutzer attraktiv macht, die große Mengen an grundlegenden Informationen schnell durchsuchen müssen. Es verwendet einfache Funktionen zum Speichern, Abrufen und Entfernen von Daten.

  • Keine Abfragesprache. Die Datenbank verwendet nur Schlüssel, daher gibt es keine Abfragesprache. Die Daten haben keinen Typ und werden durch die Anforderungen der Anwendung bestimmt, die zur Verarbeitung der Daten verwendet wird. In einem Schlüssel-Werte-Speicher können keine Abfragen durchgeführt werden, aber die Einfachheit kann die Geschwindigkeit von Datenanfragen erhöhen und die Latenz niedrig halten.
  • Schemaloses Design. Im Gegensatz zu relationalen Datenbanken haben Schlüssel-Werte-Speicher kein festes Schema. Sie ermöglichen eine flexible Datendarstellung und verschiedene Datenstrukturen innerhalb einer einzigen Datenbank. Durch diese Flexibilität lassen sich Datenstrukturen im Laufe der Zeit leicht weiterentwickeln oder Schlüssel-Werte-Speicher ohne Architekturänderungen von einem System in ein anderes verschieben.
  • Unterstützung komplexer Datentypen. Schlüssel-Werte-Speicher unterstützen definierte Datentypen und komplexere Datenobjekte, einschließlich semistrukturierter Daten, unstrukturierter Daten, Arrays, Bilder, Videos und komplizierter und verschachtelter Datenstrukturen als Werte. Die Darstellung verschiedener Datentypen ermöglicht eine verbesserte Speicheroptimierung, eine verbesserte Abfrageleistung und eine umfassendere Datenmodellierung.
  • Replikation, Partitionierung und Sharding. Viele Schlüssel-Werte-Speicher unterstützen automatisch die Replikation, das heißt das Speichern von Datenkopien auf mehreren Speicherknoten. Sie unterstützen in der Regel auch Partitionierung und Sharding. Benutzer haben eine genauere Kontrolle über Datenverfügbarkeit und -zuverlässigkeit, Lastverteilung, Ressourcenzuweisung und Leistungsoptimierung. Sie können auch Backups für Daten im Katastrophenfall erstellen.
  • Einzelne Tabellen. In relationalen Datenbanken können Tabellenverknüpfungen Daten abfragen und auf sie zugreifen, indem sie zusammenhängende Daten aus mehreren Tabellen in einer neuen Tabelle kombinieren. Der Prozess kann ineffizient und schwer zu verwalten sein, wenn die Werte nicht richtig übereinstimmen. Schlüssel-Werte-Datenbanken benötigen keine Tabellenverknüpfungen, da sie alle Daten in einer einzigen Tabelle speichern, was zur Optimierung der Leistung und Geschwindigkeit beitragen kann.
  • Unterstützung von Sekundärschlüsseln. Ein Schlüssel pro Wert kann die Abfrageoptionen einschränken. In einigen Schlüssel-Werte-Datenbanken können Sie Sekundärschlüssel für Werte definieren, um das Auffinden von Informationen in der Datenbank zu erleichtern. Beispielsweise können Kundendaten über einen Namen oder eine Telefonnummer aufgerufen werden.

Anwendungsfälle von Schlüssel-Werte-Datenbanken

Die Wahl der Datenbank, die eine Organisation verwenden sollte, hängt von ihren Benutzern und deren Anforderungen ab. Eine der häufigsten Anwendungen von Schlüssel-Werte-Datenbanken ist die Aufzeichnung von Sitzungen in Anwendungen, für die eine Anmeldung erforderlich ist.

  • Sitzungsverwaltung. Eine Schlüssel-Werte-Datenbank kann Benutzersitzungen in Anwendungen aufzeichnen. Sie markiert Sitzungen mit Kennungen, zum Beispiel einer Sitzungs-ID-Nummer. Sie sortiert alle über jede Sitzung aufgezeichneten Daten, wie Aktivitäten, Klicks und Aktionen, unter der entsprechenden Kennung. Der Prozess ist eine einfache Möglichkeit, Sitzungsdaten zu speichern, auf sie zuzugreifen und sie zu überprüfen, die möglicherweise das Verhalten und die Muster der Benutzer aufzeigen.
  • Zwischenspeicherung. Schlüssel-Werte-Speicher eignen sich hervorragend zum Speichern und Abrufen temporärer Daten. Beispielsweise kann ein Benutzer, der eine Webanwendung besucht, bestimmte Einstellungen auswählen. Die Datenbank kann die Daten speichern und zwischenspeichern und dann beim nächsten Besuch des Benutzers automatisch auf die Daten zugreifen, was für eine nahtlose Benutzererfahrung sorgt. Im Backend kann sie die Latenzzeit verringern und die Lasten besser ausgleichen.
  • Echtzeit-Empfehlungen und -Analysen. Die Einfachheit von Schlüssel-Werte-Paaren ermöglicht es der Datenbank, Daten schnell abzurufen, was ideal für Technologien ist, die mit Echtzeitdaten arbeiten. Beispielsweise können Schlüssel-Werte-Datenbanken dabei helfen, Sensordaten von IoT-Geräten zu sammeln und Bestandssysteme in Echtzeit zu aktualisieren. Sie können Website-Werbung mit einzigartigen Angeboten und Empfehlungen für Benutzer personalisieren, die auf zwischengespeicherten Daten zum Benutzerverhalten und Echtzeit-Interaktionen auf der Website basieren.
  • Warteschlangen. Schlüssel-Werte-Speicher können Warteschlangensystemen dabei unterstützen, Daten zu organisieren, indem sie Warteschlangenwerte wie Uhrzeit und Datum, Warteschlangenelemente und Warteschlangennamen aufzeichnen. Warteschlangendaten können dabei unterstützen, Aufgaben in der richtigen Reihenfolge auszuführen.
  • Metadatenspeicherung. Schlüssel-Werte-Datenbanken können eine Vielzahl anderer Daten und Metadaten speichern, darunter Daten zu Konfigurationseinstellungen, Benutzerprofilen, Produkten, Bildern, Audio und Videos. Sie können einen höheren Datenzugriff bieten, den Durchsatz skalieren und die Rohleistung verbessern.

Die Rolle, die Schlüssel-Werte-Datenbanken im E-Commerce-Bereich spielen, ist ein praktisches Beispiel für ihre Funktion. Auf einer E-Commerce-Website kann eine Schlüssel-Werte-Datenbank Daten zu einer einzelnen Einkaufssitzung aufzeichnen. Zu diesen Daten gehören beispielsweise, wann sich der Benutzer an- und abgemeldet hat, nach welchen Begriffen er gesucht hat, welche Kategorien und Artikel er angeklickt hat, um sie anzuzeigen, und welche Artikel er seinem Warenkorb hinzugefügt oder daraus entfernt hat. Durch die Aufzeichnung des Benutzerverhaltens kann die Datenbank automatisch Bannerwerbung und Produktempfehlungen auf die jeweilige Person zuschneiden. Wenn der Benutzer auscheckt, kann die Datenbank auf zwischengespeicherte Einstellungen zugreifen, zum Beispiel auf die Kreditkarte, die der Benutzer für Standardkäufe gespeichert hat, und so das Einkaufserlebnis optimieren.

Relationale Datenbanken sind im Allgemeinen besser für die Verwendung mit Zahlungsvorgängen geeignet. Sitzungsaufzeichnungen vor der Zahlung sind in einem Schlüssel-Werte-Speicher besser aufgehoben, da mehr Menschen dazu neigen, ihre Einkaufswagen zu füllen und anschließend ihre Meinung über den Kauf der ausgewählten Artikel zu ändern, als Menschen, die zur Zahlung übergehen.

Ein Schlüssel-Werte-Speicher kann Daten schnell gleichzeitig aufzeichnen und abrufen. Seine integrierte Redundanz stellt sicher, dass kein Artikel aus einem Warenkorb verloren geht. Die Skalierbarkeit von Schlüssel-Werte-Speichern hilft in Spitzenzeiten wie Feiertagen oder während des Schlussverkaufs und bei Sonderaktionen aufgrund des starken Anstiegs der Verkäufe und des noch stärkeren Anstiegs des Datenverkehrs auf der Website. Die Skalierbarkeit des Schlüssel-Werte-Speichers stellt sicher, dass die erhöhte Belastung der Datenbank nicht zu Leistungsproblemen führt.

Vorteile von Schlüssel-Werte-Datenbanken

Es gibt verschiedene Datenbanktypen für unterschiedliche Zwecke, was die Wahl des zu verwendenden Datenbanktyps erleichtern kann. Die Einfachheit einer Schlüssel-Werte-Datenbank ist einer von mehreren Vorteilen, die sie den Benutzern bietet:

  • Einfachheit. Die unkomplizierten Befehle und das Fehlen von Datentypen können Programmierern die Arbeit erleichtern. Daten können bei Bedarf jeden Typ oder sogar mehrere Typen annehmen. Der Schlüssel-Werte-Speicher ist eine der am wenigsten komplexen NoSQL-Datenbanken, was das Modell attraktiv macht. Er verwendet einfache Funktionen zum Speichern, Abrufen und Entfernen von Daten.
  • Geschwindigkeit. Aufgrund ihrer Einfachheit reagieren Schlüssel-Werte-Datenbanken in der Regel schnell, vorausgesetzt, sie befinden sich in einer gut aufgebauten und optimierten Umgebung. Sie erleichtern auch das systematische Sortieren von Schlüsseln, zum Beispiel alphabetisch, numerisch, chronologisch, nach Dateityp und Datengröße. Eine systematische Organisation erleichtert das schnelle Auffinden der gewünschten Daten.
  • Skalierbarkeit. Im Gegensatz zu relationalen Datenbanken, die nur vertikal skalierbar sind, sind Schlüssel-Werte-Datenbanken auch horizontal unbegrenzt skalierbar. Sie können große Datenmengen in großem Umfang und über verteilte Systeme hinweg verarbeiten, was Wachstum und Wandel im Laufe der Zeit unterstützen kann.
  • Flexibilität und Mobilität. Da es keine Abfragesprache und kein striktes Datenschema gibt, kann die Datenbank zwischen verschiedenen Systemen verschoben werden, ohne dass die Architektur geändert werden muss. Ihre Flexibilität erleichtert die Speicherung einer Vielzahl von Datentypen und die Weiterentwicklung der Datenstruktur, wenn sich Anforderungen und Technologien ändern.
  • Zuverlässigkeit und Stabilität. Schlüssel-Werte-Datenbanken mit integrierter Redundanz können einen verlorenen Speicherknoten ersetzen, sodass verlorene Daten durch duplizierte Daten ersetzt werden können. Die Möglichkeit, Daten über Knoten zu verteilen und Lasten auszugleichen, kann dazu beitragen, eine optimale Leistung und Datenverfügbarkeit sicherzustellen. Die Datenverteilung kann zu einer höheren Zuverlässigkeit und Stabilität führen, was in der heutigen, ständig vernetzten Welt besonders wichtig ist.

Nachteile von Schlüssel-Werte-Datenbanken

Je nach Situation kann der größte Vorteil von Schlüssel-Werte-Speichern auch gleichzeitig ihr größter Nachteil sein. Ein Mangel an Komplexität schränkt die Möglichkeiten von Organisationen mit komplexeren Datenanforderungen ein:

  • Einfachheit. Schlüssel-Werte-Speicher sind nicht ausgereift. Einige Benutzer können sich eingeschränkt fühlen, wenn es keine Sprache oder einfache Mittel gibt, um die Datenbank mit etwas anderem als dem Schlüssel abzufragen.
  • Keine Abfragesprache. Ohne eine einheitliche Abfragesprache können Abfragen aus einer Datenbank möglicherweise nicht in eine andere Schlüssel-Werte-Datenbank übertragen werden. Wenn Sie einen Schlüssel verlieren, haben Sie keine Möglichkeit, den zugehörigen Wert zu ermitteln. Sekundärschlüssel helfen, das potenzielle Problem zu beheben.
  • Keine Filterung von Werten. Die Datenbank sieht Werte als Blobs. Sie kann nicht viel Sinn aus dem machen, was sie enthalten. Sie gibt auf Anfrage ganze Werte zurück, anstatt eine bestimmte Information. Um Daten zu aktualisieren, muss der gesamte Wert aktualisiert werden.
  • Einschränkungen bei der Analyse. Schlüssel-Werte-Datenbanken können die Echtzeit-Datenspeicherung und den Echtzeit-Datenzugriff verbessern, aber ihre spezifischen Abfragefunktionen können die Analysefunktionen einschränken. Sie unterstützen in der Regel einfachere Analysefunktionen, aber für komplexere Analysen ist möglicherweise eine Datenbank erforderlich, die Daten auf der Grundlage einer Vielzahl von Abfragen abrufen kann.
  • Dateninkonsistenz. Die fehlende Standardisierung kann zu einer schlechten Datenqualität, -konsistenz und -integrität bei der Speicherung unstrukturierter Daten führen. Der potenzielle Kompromiss für eine höhere Datenverfügbarkeit ist eine geringere Datengenauigkeit, was sich auf die Entscheidungsfindung auswirken kann.

Beliebte Schlüssel-Werte-Datenbanken

Es gibt mehrere Optionen für Schlüssel-Werte-Speicher, die in Betracht gezogen werden können. Zu den am besten bewerteten Optionen aus seriösen Quellen wie G2, Gartner und Capterra gehören unter anderem:

  • Amazon DynamoDB. DynamoDB ist eine vollständig verwaltete, serverlose Datenbank mit integrierten Sicherungs- und Sicherheitsoptionen. Sie kann hohe Lasten aushalten und täglich Billionen von Anfragen verarbeiten.
  • Aerospike. Die Echtzeitplattform ermöglicht Milliarden von Transaktionen. Sie kann dazu beitragen, den Server-Fußabdruck zu reduzieren und eine hohe Leistung von Echtzeitanwendungen zu ermöglichen.
  • Couchbase. Diese NoSQL-Datenbank kann als Schlüssel-Werte-Speicher und als dokumentenorientierte Datenbank fungieren. Ihr primäres Design unterstützt personalisierte Kunden- und Mitarbeitererfahrungen.
  • DataStax. DataStax Astra DB ist eine Schlüssel-Werte-Datenbank, die auf dem Open-Source-Projekt Apache Cassandra basiert. Sie unterstützt eine Vielzahl von KI-Tools, einschließlich generativer KI-Anwendungen.
  • Redis. Redis ist eine Open-Source-Schlüssel-Werte-Datenbank. Redis ist als Datenstrukturserver bekannt und verfügt über Schlüssel, die Listen, Hashes, Zeichenketten und Mengen enthalten.

Bevor Sie sich für eine Datenbank entscheiden, sollten Sie Ihre Anforderungen und den Zweck Ihrer Daten sorgfältig abwägen. Angesichts der sich schnell entwickelnden Technologielandschaft ist es von entscheidender Bedeutung, sicherzustellen, dass Ihre Datenbank es Ihnen ermöglicht, Ihre Daten optimal zu nutzen, ohne die Leistung zu beeinträchtigen.

Erfahren Sie mehr über Datenbanken