Zum Inhalt springen
Zum Hauptinhalt springen
Grundlagen

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

1

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.

2

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.

3

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.

4

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?

PostgreSQL bietet: bessere SQL-Standard-Konformität, JSON-Unterstützung, Arrays, Full-Text-Search, und erweiterte Features (CTEs, Window Functions). MySQL ist: leichter einzurichten, schneller bei einfachen Lese-Workloads und weit verbreitet (WordPress, Laravel). Für neue Projekte empfehlen wir PostgreSQL wegen der größeren Flexibilität und Feature-Tiefe. Beide sind als Managed Services verfügbar (AWS RDS, Supabase, PlanetScale).

Wann SQL und wann NoSQL?

SQL wenn: Daten strukturiert und relational sind, Transaktionssicherheit wichtig ist (Finanzen, E-Commerce), komplexe Abfragen mit JOINs nötig sind. NoSQL wenn: das Schema flexibel sein muss (CMS, IoT), horizontale Skalierung über viele Server nötig ist, Echtzeit-Performance bei einfachen Zugriffsmustern gefordert ist. Viele Anwendungen nutzen beide: SQL für Geschäftsdaten, Redis für Caching, Elasticsearch für Suche.

Was kostet eine Datenbank?

Self-Hosted: Kostenlos (PostgreSQL, MySQL sind Open Source), plus Serverkosten. Managed Services: Supabase ab 0 EUR (Free Tier), AWS RDS ab ca. 15 EUR/Monat, PlanetScale ab 29 USD/Monat. Enterprise: MongoDB Atlas, AWS Aurora oder Google Cloud SQL ab 50-500 EUR/Monat je nach Größe. Für die meisten Startups reicht ein Free Tier oder eine kleine Managed-Instanz.

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.

Nächster Schritt

Gemeinsam finden wir den besten Ansatz für Ihr Vorhaben.

Innerhalb weniger Tage wissen Sie, wie Ihr Projekt am besten starten kann.

30 Min. Strategiegespräch – 100% kostenlos & unverbindlich

Was ist eine Datenbank? SQL, NoSQL & Typen erklärt