NoSQL-Datenbank: Definition & Erklärung — Glossar
Was ist eine NoSQL-Datenbank?
NoSQL (Not only SQL) bezeichnet eine Klasse von Datenbanken, die keine oder nur eingeschränkte relationale Tabellenstrukturen verwenden. Sie bieten flexible Datenmodelle, horizontale Skalierbarkeit und hohe Schreibgeschwindigkeit — auf Kosten von ACID-Garantien und der Ausdruckstärke von SQL. “NoSQL” ist kein einheitlicher Standard, sondern ein Oberbegriff für sehr unterschiedliche Ansätze.
NoSQL-Datenbanktypen
Dokumentendatenbanken (MongoDB, CouchDB) speichern Daten als JSON-Dokumente ohne fixes Schema. Schlüssel-Wert-Datenbanken (Redis, DynamoDB) bieten extrem schnellen Zugriff über eindeutige Schlüssel. Spaltenfamilien-Datenbanken (Apache Cassandra, HBase) optimieren für Lese-/Schreiboperationen auf großen, verteilten Datensätzen. Graph-Datenbanken (Neo4j) modellieren Beziehungsnetzwerke. Zeitreihendatenbanken (InfluxDB, TimescaleDB) sind für sequentielle Zeitstempeldaten optimiert.
Wann NoSQL, wann SQL?
SQL-Datenbanken sind die richtige Wahl für: strukturierte Daten mit klaren Beziehungen, Transaktionsintegrität (ACID), komplexe Abfragen mit JOINs und Aggregationen. NoSQL empfiehlt sich bei: sehr hohen Schreibraten, flexiblen oder häufig ändernden Schemas, horizontaler Skalierung über viele Nodes, dokumentenorientierten Daten ohne feste Struktur und spezialisierten Zugriffsmustern (Graphen, Zeitreihen, Caching).
Einsatz in modernen Architekturen
Viele Architekturen nutzen heute polyglotte Persistenz: SQL für transaktionale Kerndaten (Bestellungen, Finanzen), Redis als Cache und Session-Speicher, MongoDB für Produktkataloge mit variablen Attributen, Elasticsearch für Volltextsuche und Cassandra für Event-Logs. Die Wahl der Datenbank sollte immer am konkreten Zugriffsmuster orientiert sein, nicht an Trend oder Hype.