Datenbank
Ein abstraktes Modell zur strukturierten Speicherung, Abfrage und Verwaltung persistenter Daten über Zeit und Systeme hinweg.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeReif
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Dateninkonsistenzen bei unsauberer Transaktionshandhabung
- Single Point of Failure bei fehlender Replikation
- Fehlende Governance führt zu Datenqualitätsproblemen
- Eindeutige Datenverantwortung und Governance definieren
- Schemaänderungen kontrolliert und migrationsgestützt durchführen
- Regelmäßige Backups und Wiederherstellungstests
I/O & Ressourcen
- Datenmodell und Entity‑Definitionen
- Workload‑Profile (Lese/Schreib‑Verhältnisse)
- Sicherheits-, Compliance‑ und Datenschutzanforderungen
- Persistente, abfragbare Datensätze
- Backup‑ und Recovery‑Artefakte
- Monitoring‑Metriken und Betriebskennzahlen
Beschreibung
Datenbanken sind strukturierte Systeme zum Speichern, Abfragen und Verwalten persistenter Daten. Sie bieten Modelle zur Organisation von Datensätzen, sichern Konsistenz und Dauerhaftigkeit und ermöglichen effiziente Zugriffsmuster. Datenbanken bilden die Grundlage für Analysen, transaktionale Anwendungen, Integrationsschichten in modernen Softwaresystemen und Betrieb.
✔Vorteile
- Strukturierte, persistente Speicherung mit definierten Zugriffsmechanismen
- Unterstützung von Transaktionen und Datenintegrität
- Bessere Grundlage für Analyse, Reporting und Integration
✖Limitationen
- Komplexität bei Schemaänderungen und Migrationen
- Skalierungsgrenzen je nach Modell und Implementierung
- Betriebsaufwand für Backup, Recovery und Performance‑Tuning
Trade-offs
Metriken
- Latenz (p95)
95. Perzentil der Antwortzeiten für typische Abfragen.
- Durchsatz (TPS)
Transaktionen oder Abfragen pro Sekunde unter Produktionslast.
- Wiederherstellungszeit (RTO)
Zeit bis zur Wiederherstellung nach Ausfall.
Beispiele & Implementierungen
Relationale OLTP‑Datenbank (PostgreSQL)
Einsatz einer ACID‑fähigen Datenbank zur Abwicklung von Bestellungen und Zahlungen.
Spaltenorientiertes Data Warehouse
Bereitstellung analytischer Abfragen und Aggregationen für Business Intelligence.
NoSQL‑Key‑Value‑Store für Sitzungsdaten
Speicherung kurzlebiger Sitzungsinformationen mit hoher Lese-/Schreib‑Performance.
Implementierungsschritte
Anforderungen sammeln und Datenmodell entwerfen
Datenbanktyp und Betriebskonzept wählen (Managed vs Self‑hosted)
Backup, Replikation, Monitoring und Sicherheitsmaßnahmen einrichten
⚠️ Technische Schulden & Engpässe
Tech Debt
- Alte, nicht migratierte Schemata und redundante Felder
- Nicht entfernte temporäre Indizes und Abfragen
- Unzureichend dokumentierte Datenmodelle und Mappings
Bekannte Engpässe
Beispiele für Missbrauch
- Verwendung einer transaktionalen Datenbank als primäres Data‑Warehouse ohne Anpassungen
- Speichern großer Binärdaten direkt in Tabellen statt in spezialisierten Stores
- Ignorieren von Indizes und Partitionierung bei wachsendem Datenvolumen
Typische Fallen
- Fehlende Planung für Schema‑Migrationen und Downtime
- Unzureichendes Monitoring führt zu spät entdeckten Performanceproblemen
- Vertrauen auf Defaults ohne Validierung der Konfiguration
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Regulatorische Anforderungen an Datenspeicherung und -zugriff
- • Hardware‑ und Infrastrukturgrenzen
- • Kompatibilität mit bestehenden Systemen