Files
Hosting-Backoffice/decisions/0005-database-choice.md
T
2026-05-18 04:37:23 +00:00

2.1 KiB

ADR 0005 — Datenbankwahl

Status

Accepted

Kurz erklärt

Die Datenbank ist der zentrale Speicher für Kunden, Verträge, Domains, Tickets, Dokumente und technische Referenzen.

Die Wahl der Datenbank beeinflusst später besonders:

  • Mandantenfähigkeit
  • Sicherheit
  • Performance
  • Auditierbarkeit
  • Skalierbarkeit
  • Entwicklungsaufwand

Kontext

In der ersten Planung waren MariaDB und PostgreSQL offen.

Das Architekturreview hat kritisiert, dass eine offene Datenbankwahl bei Multi-Tenancy und API-first zu einem kleinsten gemeinsamen Nenner führen würde.

Entscheidung

Hosting-Backoffice verwendet PostgreSQL als primäre Datenbank.

Begründung

PostgreSQL bietet wichtige Funktionen für das Zielbild:

  • Row Level Security
  • starke Datenintegrität
  • JSONB-Unterstützung
  • gute Indexierungsoptionen
  • transaktionale Migrationen
  • gute Grundlage für Mandantenfähigkeit
  • gute Grundlage für spätere SaaS-/Reseller-Strukturen

Row Level Security

Row Level Security bedeutet:

Die Datenbank kann Regeln erzwingen,
welche Datensätze ein Benutzer oder Prozess sehen darf.

Das ist besonders relevant, wenn mehrere Mandanten in einer gemeinsamen Datenbank verwaltet werden.

Nicht gewählt

MariaDB / MySQL

Vorteile:

  • sehr weit verbreitet
  • vielen Hostern bekannt
  • einfacher Einstieg

Nachteile:

  • schwächer für Row-Level-Isolation
  • schwächer als Sicherheitsbasis für Mandantenfähigkeit
  • langfristig weniger geeignet für das geplante SaaS-/Reseller-Modell

Konsequenzen

Positiv

  • bessere Sicherheitsarchitektur
  • bessere Grundlage für Multi-Tenancy
  • bessere technische Zukunftsfähigkeit

Negativ

  • etwas höhere Einstiegshürde
  • nicht jeder kleine Shared-Hosting-Anbieter bietet PostgreSQL gleichwertig an
  • Self-hosted-Installationen benötigen klare Systemvoraussetzungen

Leitlinie

Hosting-Backoffice wird nicht primär für beliebiges Billig-Shared-Hosting optimiert, sondern für eine seriöse, betreibbare Hosting-/Backoffice-Umgebung.

Verwandte ADRs

  • ADR 0004 — Tenancy-Modell
  • ADR 0010 — Secrets-Management
  • ADR 0014 — Audit-Log-Strategie