Datenbanken

KAPITEL 06

Datenbanken

Die Welt der Datenverwaltung – von relationalen SQL-Datenbanken über moderne NoSQL-Systeme bis zu Big-Data-Lösungen. Lernen Sie, wie Unternehmen ihre wichtigsten Assets speichern, verwalten und analysieren.

SQL NoSQL Optimierung Replizierung Big Data

Inhaltsverzeichnis

Schnellübersicht

Auf dieser Seite finden Sie alle Themen des Kapitels Datenbanken:

  • Datenbank-Grundlagen: Relationale Modelle, Normalisierung, ER-Diagramme
  • SQL-Datenbanken: MySQL, PostgreSQL, MSSQL, Oracle
  • NoSQL-Datenbanken: MongoDB, Redis, Cassandra, Elasticsearch
  • SQL-Befehle: SELECT, INSERT, UPDATE, DELETE, JOINs
  • Datenbank-Optimierung: Indizes, Query-Performance, Caching
  • Replizierung: Master-Slave, Master-Master, Sharding
  • Big Data: Hadoop, Spark, Data Lakes
  • Datenbank-Sharding: Horizontale Partitionierung und Skalierung

Worum geht es hier?

Datenbanken sind das Herzstück moderner Anwendungen. Sie speichern, verwalten und organisieren die Daten, die für Unternehmen, Websites und mobile Apps unverzichtbar sind. Ob E-Commerce, soziale Netzwerke, Banking-Systeme oder IoT-Geräte – ohne Datenbanken wäre die digitale Welt undenkbar.

Warum sind Datenbanken so wichtig?

  • Datenpersistenz: Daten bleiben auch nach Neustart erhalten
  • Datenintegrität: Konsistenz und Validierung der Daten
  • Paralleler Zugriff: Mehrere Benutzer können gleichzeitig auf Daten zugreifen
  • Skalierbarkeit: Von kleinen Apps bis zu Big-Data-Systemen
  • Sicherheit: Zugriffskontrolle und Verschlüsselung
7
Hauptthemen
8+
DB-Systeme
100+
SQL-Befehle
40+
FAQ-Fragen

Beliebte Datenbank-Systeme

Die wichtigsten SQL- und NoSQL-Datenbanken im Überblick:

MySQL

Open Source SQL

PostgreSQL

Advanced SQL

SQL Server

Microsoft SQL

Oracle DB

Enterprise SQL

MongoDB

Document DB

Redis

In-Memory KV

Cassandra

Wide Column

Elasticsearch

Search Engine

SQL vs. NoSQL

Die zwei großen Paradigmen der Datenbank-Welt im direkten Vergleich:

SQL (Relational)

Strukturierte Daten

  • Tabellarische Struktur
  • ACID-Transaktionen
  • Striktes Schema
  • Standardisierte Sprache (SQL)
  • Komplexe JOINs möglich
  • Vertikale Skalierung
VS

NoSQL (Non-Relational)

Flexible Daten

  • Flexible Struktur (Document, KV, Graph)
  • BASE-Prinzip (Eventually Consistent)
  • Schema-less oder Schema-flexible
  • Verschiedene Abfragesprachen
  • Denormalisierte Daten
  • Horizontale Skalierung

Die 7 Themen im Überblick

Klicken Sie auf ein Thema, um direkt zur entsprechenden Seite zu gelangen. Die Reihenfolge ist als Lernpfad empfohlen – Sie können aber auch individuell starten.

01

Datenbank-Grundlagen

Das Fundament der Datenverwaltung

Verstehen Sie die grundlegenden Konzepte relationaler Datenbanken, Datenmodelle und Normalisierung.

  • Relationales Modell
  • ER-Diagramme
  • Normalisierung (1NF-3NF)
  • Primär-/Fremdschlüssel
02

SQL-Datenbanken

MySQL, PostgreSQL, MSSQL, Oracle

Die wichtigsten relationalen Datenbanken im Detail – Features, Einsatzgebiete und Vergleich.

  • MySQL & MariaDB
  • PostgreSQL
  • Microsoft SQL Server
  • Oracle Database
03

NoSQL-Datenbanken

MongoDB, Redis, Cassandra, Elasticsearch

Moderne NoSQL-Systeme für flexible Datenstrukturen und horizontale Skalierung.

  • Document Stores (MongoDB)
  • Key-Value Stores (Redis)
  • Wide Column (Cassandra)
  • Graph & Search (Neo4j, ES)
04

SQL-Befehle

DDL, DML, DQL, JOINs & Subqueries

Die wichtigsten SQL-Befehle von SELECT bis Stored Procedures – mit praktischen Beispielen.

  • SELECT, INSERT, UPDATE, DELETE
  • JOINs (INNER, LEFT, RIGHT, FULL)
  • Aggregatfunktionen & GROUP BY
  • Subqueries & CTEs
05

Datenbank-Optimierung

Indizes, Query-Tuning, Caching

Wie Sie Datenbanken schneller machen – von der richtigen Indexierung bis zum Query-Tuning.

  • Index-Typen (B-Tree, Hash, GIN)
  • EXPLAIN & Query-Analyse
  • Query-Tuning-Techniken
  • Caching-Strategien
06

Replizierung

HA, Sharding, Master-Slave

Hochverfügbarkeit und Skalierung durch Replizierung, Sharding und Cluster.

  • Master-Slave-Replizierung
  • Master-Master-Replizierung
  • Sharding & Partitionierung
  • CAP-Theorem
07

Big Data

Hadoop, Spark, Data Lakes

Verarbeitung riesiger Datenmengen mit modernen Big-Data-Technologien.

  • Die 5 V's von Big Data
  • Hadoop & MapReduce
  • Apache Spark
  • Data Lakes & Warehouses
08

Datenbank-Sharding

Horizontale Partitionierung & Skalierung

Horizontale Partitionierung für massive Skalierung – Sharding-Strategien und verteilte Datenbanken.

  • Range-Based Sharding
  • Hash-Based Sharding
  • Directory-Based Sharding
  • Shard Key Selection

Empfohlener Lernpfad

Sie sind unsicher, wo Sie anfangen sollen? Folgen Sie einfach diesem bewährten Lernpfad – er führt Sie Schritt für Schritt durch die Welt der Datenbanken.

In 8 Schritten zum Datenbank-Profi

1
Grundlagen

Konzepte verstehen

2
SQL-DBs

Systeme kennenlernen

3
NoSQL

Alternativen entdecken

4
SQL-Befehle

Praxis lernen

5
Optimierung

Performance tunen

6
Replizierung

Skalieren lernen

7
Big Data

Großes meistern

8
Sharding

Skalierung

Tipp für Einsteiger

Beginnen Sie mit den Datenbank-Grundlagen, um die Konzepte zu verstehen. Dann lernen Sie SQL mit einer einfachen Datenbank wie MySQL oder PostgreSQL. Üben Sie mit kleinen Projekten (z.B. eine Bibliotheks-DB), bevor Sie zu fortgeschrittenen Themen wie Optimierung und Replizierung übergehen.

FAQ – Häufige Fragen & Antworten

Häufige Fragen zu Datenbanken

Was ist der Unterschied zwischen SQL und NoSQL?

SQL (relational): Strukturierte Daten in Tabellen mit festem Schema, ACID-Transaktionen, komplexe JOINs möglich. Ideal für transaktionale Anwendungen (Banking, E-Commerce).

NoSQL (nicht-relational): Flexible Schemata, horizontale Skalierung, verschiedene Modelle (Dokument, Key-Value, Column, Graph). Ideal für Big Data, Echtzeit-Anwendungen und unstrukturierte Daten.

Beispiele: SQL: MySQL, PostgreSQL, MSSQL | NoSQL: MongoDB, Redis, Cassandra

Welche Datenbank soll ich für mein Projekt wählen?

Die Wahl hängt von Ihren Anforderungen ab:

  • Transaktionale Anwendungen (E-Commerce, Banking): SQL (PostgreSQL, MySQL)
  • Content Management, Blogs: SQL (MySQL) oder NoSQL (MongoDB)
  • Real-Time Analytics, IoT: NoSQL (Cassandra, InfluxDB)
  • Caching, Session-Storage: Key-Value (Redis, Memcached)
  • Soziale Netzwerke, Beziehungen: Graph-Datenbank (Neo4j)
  • Big Data, Data Lakes: Hadoop, Spark, S3
Was ist das CAP-Theorem?

Das CAP-Theorem besagt, dass ein verteiltes Datenbanksystem nur zwei der drei Eigenschaften gleichzeitig garantieren kann:

  • C (Consistency): Alle Knoten sehen zur gleichen Zeit dieselben Daten
  • A (Availability): Jede Anfrage erhält eine Antwort (auch bei Fehlern)
  • P (Partition Tolerance): Das System funktioniert auch bei Netzwerk-Partitionen

Beispiele: SQL-Datenbanken: CA (strenge Konsistenz) | NoSQL-Datenbanken: AP oder CP (verfügbar oder konsistent)

Was ist Datenbank-Indexing und warum ist es wichtig?

Indexing ist eine Datenstruktur, die schnelle Abfragen ermöglicht – ähnlich wie ein Buchindex. Ohne Index muss die Datenbank jede Zeile durchsuchen (Full Table Scan), was bei großen Tabellen sehr langsam ist.

Vorteile: Deutlich schnellere SELECT-Abfragen, besonders bei WHERE, JOIN und ORDER BY

Nachteile: Mehr Speicherplatz, langsamere INSERT/UPDATE/DELETE (Index muss aktualisiert werden)

Best Practice: Indizes auf häufig abgefragte Spalten setzen, aber nicht übertreiben!

Was ist der Unterschied zwischen Replizierung und Sharding?

Replizierung: Kopien derselben Daten auf mehreren Servern für hohe Verfügbarkeit und Leseskalierung. Alle Replikate enthalten dieselben Daten.

Sharding: Aufteilung der Daten auf mehrere Server (Shards). Jeder Shard enthält einen Teil der Daten. Ermöglicht horizontale Skalierung für Schreiboperationen und große Datenmengen.

Kombination: Oft werden beide Techniken kombiniert – Replizierung für Verfügbarkeit, Sharding für Skalierung.

Was ist Normalisierung und warum brauche ich sie?

Normalisierung ist ein Prozess zur Reduzierung von Datenredundanz und Verbesserung der Datenintegrität. Es gibt mehrere Normalformen:

  • 1NF: Atomare Werte, keine wiederholten Gruppen
  • 2NF: 1NF + keine partiellen Abhängigkeiten
  • 3NF: 2NF + keine transitiven Abhängigkeiten
  • BCNF: Strengere Version von 3NF

Vorteile: Weniger Redundanz, bessere Konsistenz, einfachere Wartung

Nachteile: Mehr JOINs nötig, kann Performance beeinträchtigen (manchmal Denormalisierung besser)

Was ist ACID und warum ist es wichtig?

ACID definiert die Eigenschaften von Datenbank-Transaktionen:

  • A (Atomicity): Transaktionen sind atomar – entweder ganz oder gar nicht
  • C (Consistency): Transaktionen bringen die DB von einem konsistenten Zustand in einen anderen
  • I (Isolation): Gleichzeitige Transaktionen beeinflussen sich nicht gegenseitig
  • D (Durability): Nach Commit sind Änderungen permanent (auch bei Stromausfall)

Wichtig für: Banking, E-Commerce, Buchhaltung – überall wo Datenintegrität kritisch ist

Wie sichere ich meine Datenbank?

Best Practices für Datenbank-Sicherheit:

  • Starke Passwörter: Komplexe Passwörter für DB-Admins
  • Least Privilege: Minimale Berechtigungen für Anwendungen
  • Verschlüsselung: Daten in Transit (TLS) und at Rest (AES-256)
  • Firewall: Nur autorisierte IPs auf DB-Port
  • Regelmäßige Backups: 3-2-1-Regel (3 Kopien, 2 Medien, 1 extern)
  • Auditing: Alle Zugriffe loggen und überwachen
  • Updates: DB-Software und Patches aktuell halten
  • SQL Injection Schutz: Prepared Statements verwenden
Was ist ein Data Lake und wie unterscheidet er sich von einem Data Warehouse?

Data Lake: Speicher für rohe, unstrukturierte oder semi-strukturierte Daten in ihrem nativen Format. Schema-on-Read – Struktur wird erst bei der Analyse angewendet.

Data Warehouse: Speicher für strukturierte, verarbeitete Daten mit festem Schema. Schema-on-Write – Struktur wird vor dem Speichern definiert.

Beispiele: Data Lake: AWS S3, Azure Data Lake | Data Warehouse: Snowflake, BigQuery, Redshift

Verwendung: Data Lake für Big Data Analytics und Machine Learning | Data Warehouse für Business Intelligence und Reporting

Wie skaliere ich meine Datenbank bei wachsenden Datenmengen?

Skalierungsstrategien:

  • Vertikal (Scale Up): Mehr CPU, RAM, schnellere SSDs – einfach, aber begrenzt
  • Horizontal (Scale Out): Mehr Server hinzufügen – komplexer, aber unbegrenzt skalierbar
  • Replizierung: Read-Replikate für Leselast verteilen
  • Sharding: Daten auf mehrere Server aufteilen
  • Partitionierung: Große Tabellen in kleinere Teile aufteilen
  • Caching: Häufig abgefragte Daten im Cache halten (Redis, Memcached)
  • Connection Pooling: Wiederverwendung von Datenbankverbindungen

Empfehlung: Beginnen Sie mit vertikaler Skalierung, dann Replizierung, dann Sharding wenn nötig.

Zusammenfassung

Die wichtigsten Punkte

  • 7 Hauptthemen: Grundlagen, SQL-DBs, NoSQL, SQL-Befehle, Optimierung, Replizierung, Big Data
  • SQL vs. NoSQL: SQL für strukturierte Daten mit Transaktionen, NoSQL für flexible, skalierbare Systeme
  • Top SQL-DBs: PostgreSQL, MySQL, SQL Server, Oracle
  • Top NoSQL-DBs: MongoDB, Redis, Cassandra, Elasticsearch
  • Normalisierung: Reduziert Redundanz, bis 3NF ist Standard
  • Indizes: Beschleunigen SELECTs, verlangsamen Writes
  • CAP-Theorem: Verteilte Systeme können max. 2 von 3 Eigenschaften (C, A, P)
  • Sharding: Horizontale Skalierung durch Aufteilung – aber komplex
  • Lernpfad: Grundlagen → SQL → NoSQL → Befehle → Optimierung → Replizierung → Big Data

Bereit durchzustarten?

Datenbanken sind eine der wichtigsten Fähigkeiten in der IT. Nehmen Sie sich Zeit, lernen Sie die Grundlagen gründlich und üben Sie mit echten Projekten. Danach sind Sie perfekt vorbereitet für Backend-Entwicklung, Data Engineering oder DevOps!

Jetzt mit Grundlagen starten

Weiterführende Kapitel

04 – Programmierung

Programmiersprachen, die mit Datenbanken arbeiten: Python, Java, PHP, Node.js.

Zum Programmier-Kapitel
10 – Enterprise IT

Datenbanken im Enterprise-Einsatz: Hochverfügbarkeit, Backup, Monitoring.

Zum Enterprise-Kapitel
07 – Sicherheit

Datenbanksicherheit: Verschlüsselung, Zugriffskontrolle, SQL-Injection-Prävention.

Zum Security-Kapitel
08 – Cloud & Infrastruktur

Datenbanken in der Cloud: AWS RDS, Azure SQL, Google Cloud Spanner.

Zum Cloud-Kapitel