Die Datenbanken sind Systeme, die Daten dauerhaft, strukturiert und abfragbar speichern. Sie sind das Rückgrat fast jeder ernsthaften Anwendung — von der einfachen Webseite bis zur unternehmenskritischen Plattform — und übernehmen Aufgaben, die das bloße Schreiben in Dateien nicht zuverlässig leistet: gleichzeitige Zugriffe, Konsistenz bei Fehlern, schnelle Suche, dauerhafte Aufbewahrung.
In der Praxis ist „Datenbank" ein sehr breiter Begriff. Hinter dem Wort stehen sehr unterschiedliche Systeme mit unterschiedlichen Eigenschaften. Welche passt, hängt am konkreten Anwendungsfall.
Hauptkategorien
Datenbanken lassen sich grob nach Datenmodell und Aufgabe einteilen:
- Relationale Datenbanken (SQL) — Daten in Tabellen mit festem Schema, Beziehungen über Schlüssel, Abfragen über SQL. Beispiele: PostgreSQL, MariaDB/MySQL, SQLite, Microsoft SQL Server, Oracle. Standard für strukturierte Geschäftsdaten.
- Dokumentdatenbanken — schemafreie oder lose strukturierte JSON-ähnliche Dokumente. Beispiele: MongoDB, CouchDB. Beliebt für Anwendungen mit variabler Datenform.
- Key-Value-Stores — sehr einfache, sehr schnelle Speicher für Schlüssel/Wert-Paare. Beispiele: Redis, Memcached, DynamoDB. Standard für Caches, Sessions, Queues.
- Spalten-orientierte Datenbanken — auf analytische Auswertungen optimiert. Beispiele: ClickHouse, Apache Cassandra, BigQuery.
- Graph-Datenbanken — Daten als Knoten und Kanten, ideal für stark vernetzte Strukturen. Beispiele: Neo4j, ArangoDB.
- Suchindizes — auf schnelle Volltextsuche und Aggregationen ausgelegt. Beispiele: Elasticsearch, OpenSearch, Meilisearch.
- Zeitreihen-Datenbanken — für Mess- und Telemetriedaten. Beispiele: InfluxDB, TimescaleDB, Prometheus.
In den meisten Anwendungen kommen heute mehrere Datenbanktypen nebeneinander zum Einsatz — eine relationale Datenbank für die Hauptlogik, ein Cache für Performance, ein Suchindex für schnelle Suche.
Was alle gemeinsam haben
Trotz Unterschieden teilen Datenbanken eine Reihe wiederkehrender Themen:
- Schemata und Datenmodelle — wie Daten strukturiert sind und wie sie sich entwickeln.
- Transaktionen und Konsistenz — wie sichergestellt wird, dass parallele Zugriffe keinen Schaden anrichten.
- Indexierung — wie Abfragen beschleunigt werden.
- Replikation und Skalierung — wie Daten ausfallsicher und auf viele Anfragen verteilt werden.
- Backup und Wiederherstellung — wie Daten den Verlust einzelner Systeme überleben.
Praxis im Web-Stack
Im typischen Web-Backend ist die relationale Datenbank der Standard für die eigentlichen Anwendungsdaten — Nutzerkonten, Inhalte, Bestellungen. Ergänzt wird sie häufig durch:
- einen Redis für Sitzungen, Caching, Rate-Limiting, Hintergrund-Queues,
- einen Suchindex wie Elasticsearch oder Meilisearch für komfortable Suche,
- gegebenenfalls eine spezialisierte Datenbank für Analyse oder Telemetrie.
Wer eine neue Anwendung baut, fährt mit PostgreSQL + Redis in der überwiegenden Mehrheit der Fälle gut: relational, ausgereift, breit unterstützt, ergänzt um schnelles Caching dort, wo es nötig ist.