Datenbank
Organisierte Sammlung von Daten, die elektronisch gespeichert und abgefragt werden kann. Relationale Datenbanken nutzen Tabellen, NoSQL flexible Datenmodelle.
Datenbanken sind das Gedächtnis jeder Software. Ob Kundendaten, Bestellungen, Sensormesswerte oder Chatverläufe – alles wird in Datenbanken gespeichert, organisiert und abgefragt. Die richtige Datenbank-Wahl ist eine der wichtigsten Architekturentscheidungen und beeinflusst Performance, Skalierbarkeit und Kosten über die gesamte Lebensdauer einer Anwendung.
Was ist Datenbank?
Eine Datenbank ist ein organisiertes System zur elektronischen Speicherung, Verwaltung und Abfrage von Daten. Ein DBMS (Database Management System) stellt die Software bereit, die Datenbankoperationen ausführt. Relationale Datenbanken (RDBMS) wie PostgreSQL, MySQL und SQL Server organisieren Daten in Tabellen mit Zeilen und Spalten, verbunden durch Beziehungen (Foreign Keys). SQL (Structured Query Language) ist die Standard-Abfragesprache. NoSQL-Datenbanken wie MongoDB (Dokument), Redis (Key-Value), Cassandra (Wide-Column) und Neo4j (Graph) nutzen flexible Datenmodelle für spezielle Anwendungsfälle. NewSQL-Datenbanken wie CockroachDB vereinen SQL-Komfort mit horizontaler Skalierung.
Wie funktioniert Datenbank?
Eine relationale Datenbank speichert Daten in normalisierten Tabellen: Eine Kunden-Tabelle, eine Bestellungen-Tabelle und eine Produkte-Tabelle werden über Foreign Keys verknüpft. SQL-Abfragen (SELECT, INSERT, UPDATE, DELETE) lesen und verändern Daten. Transaktionen (ACID: Atomicity, Consistency, Isolation, Durability) garantieren Datenkonsistenz. Indizes beschleunigen Abfragen. ORMs (Object-Relational Mappers) wie Prisma, TypeORM oder SQLAlchemy abstrahieren SQL-Abfragen in Programmiersprachen. Datenbank-Replikation verteilt Daten auf mehrere Server für Ausfallsicherheit und Leseperformance.
Praxisbeispiele
PostgreSQL für eine SaaS-Plattform: Multitenantfähig mit Row-Level Security, JSON-Unterstützung für flexible Datenstrukturen und Full-Text-Search für die Suchfunktion.
MongoDB für einen Content-Hub: Flexible Dokumente für verschiedene Content-Typen (Artikel, Videos, Podcasts) ohne rigides Schema – ideal für sich ändernde Datenstrukturen.
Redis für Caching: Zwischenspeicher für häufig abgefragte Daten (Session-Daten, API-Responses), reduziert Datenbankabfragen und verbessert die Antwortzeit von Millisekunden auf Mikrosekunden.
Neo4j für Empfehlungen: Graph-Datenbank modelliert Beziehungen zwischen Nutzern, Produkten und Käufen – die Basis für Empfehlungssysteme wie bei Amazon oder Netflix.
Typische Anwendungsfälle
Webanwendungen: PostgreSQL oder MySQL als Backend-Datenbank für Nutzer, Inhalte und Geschäftsdaten
E-Commerce: Produktkatalog, Bestellungen, Kundendaten und Bestandsverwaltung
Analytics: Data Warehouses (BigQuery, Redshift) für Business Intelligence und Reporting
Echtzeit-Anwendungen: Redis und MongoDB für Chat, Gaming-Scores und IoT-Sensordaten
Suchfunktionen: Elasticsearch oder Meilisearch für Volltextsuche und Facetten-Filter
Vorteile und Nachteile
Vorteile
- Datenintegrität: ACID-Transaktionen in relationalen Datenbanken garantieren konsistente Daten
- SQL-Standard: SQL ist die universelle Abfragesprache, die seit 50 Jahren bewährt ist
- Skalierung: Replikation, Sharding und Managed Services ermöglichen horizontale Skalierung
- Flexibilität: NoSQL-Datenbanken passen sich an verschiedene Datenstrukturen und Zugriffsmuster an
- Managed Services: Cloud-Anbieter (AWS RDS, Supabase, PlanetScale) übernehmen Betrieb und Backup
Nachteile
- Schema-Rigidität: Relationale Datenbanken erfordern Schema-Migrationen bei Strukturänderungen
- Skalierungsgrenzen: Vertikale Skalierung hat ein physisches Limit, horizontale Skalierung ist komplex
- ORM-Overhead: Abstraktion durch ORMs kann zu ineffizienten Queries führen (N+1 Problem)
- Betriebsaufwand: Self-Hosted-Datenbanken erfordern Backup, Monitoring, Updates und Tuning
Häufig gestellte Fragen zu Datenbank
PostgreSQL oder MySQL?
Wann SQL und wann NoSQL?
Was kostet eine Datenbank?
Verwandte Begriffe
Datenbank in Ihrem Projekt einsetzen?
Wir beraten Sie gerne zu Datenbank und finden die optimale Lösung für Ihre Anforderungen. Profitieren Sie von unserer Erfahrung aus über 200 Projekten.