Skip to content

Neuer LeitfadenEin Altsystem modernisieren, ohne das Geschäft anzuhalten

Architektur

Das richtige Mandantenmodell für ein B2B-SaaS-Produkt wählen

Gemeinsame Tabellen, getrennte Schemas oder getrennte Datenbanken – und wie man später umschwenkt.

Autor
Eryon Engineering
Veröffentlicht
Aktualisiert
Lesezeit
1 Min.
SaaS-Admin-Dashboard mit Mitgliedschaftstarifen und Abrechnung

Das Wichtigste

  • Die meisten B2B-Produkte sollten mit gemeinsamer Datenbank und Isolation auf Zeilenebene starten.
  • Einzelne Mandanten in eigene Schemas oder Datenbanken verschieben, wenn Compliance oder Größe es verlangen.
  • Den Mandantenkontext in der Datenschicht erzwingen, nicht nur im Anwendungscode.
  • Exporte und Backups pro Mandant von Anfang an einplanen.

Die Mandantenfähigkeit gehört zu den teuersten Entscheidungen, die man in einem SaaS-Produkt rückgängig machen kann. Ein praktischer Vergleich der drei gängigen Modelle und der Signale, die die Wahl bestimmen sollten.

Die drei gängigen Modelle

Mandantenfähige Systeme nutzen meist eines von drei Modellen, die Isolation und Betriebsaufwand jeweils anders gewichten.

  • Gemeinsame Datenbank, gemeinsame Tabellen: Jede Zeile trägt eine Mandanten-ID. Am günstigsten im Betrieb, am einfachsten zu deployen, standardmäßig die schwächste Isolation.
  • Gemeinsame Datenbank, Schema pro Mandant: Tabellen werden pro Mandant in einer Datenbank dupliziert. Bessere Isolation, komplexere Migrationen.
  • Datenbank pro Mandant: stärkste Isolation und einfachstes Backup pro Mandant, höchster Betriebsaufwand.

Eine sinnvolle Standardwahl

Für die meisten jungen B2B-Produkte sind gemeinsame Tabellen mit einer Mandanten-ID in jeder Zeile der richtige Start. Die Infrastruktur bleibt einfach, und mandantenübergreifende Aufgaben – Abrechnung, Analyse, Support – bleiben unkompliziert.

Das Risiko ist ein Datenleck durch einen vergessenen Filter. Begegnen Sie ihm in der Datenbank, nicht nur im Code: Row-Level-Security-Policies in PostgreSQL können zum Beispiel erzwingen, dass jede Abfrage auf den aktuellen Mandanten beschränkt ist – auch wenn ein Entwickler es vergisst.

Signale für mehr Isolation

Stärkere Isolation lohnt sich, wenn bestimmte Bedingungen eintreten. Selten muss sie für jeden Mandanten gelten.

  • Ein Großkunde verlangt vertraglich eigenen Speicher.
  • Regulierung verlangt Datenhaltung in einer bestimmten Region.
  • Das Datenvolumen eines Mandanten beeinträchtigt die Leistung für andere.
  • Kunden brauchen unabhängige Sicherung und Wiederherstellung.

Einen Hybrid einplanen

Das langfristig praktikabelste Design unterstützt mehr als ein Modell: Die meisten Mandanten teilen sich die Infrastruktur, einige große oder regulierte Mandanten erhalten eigene Datenbanken. Das geht nur, wenn die Mandantenzuordnung an einer Stelle passiert – meist in einer Routing-Schicht, die jede Anfrage der richtigen Verbindung zuordnet.

Bauen Sie diese Routing-Schicht früh, auch wenn sie anfangs immer dieselbe Datenbank liefert. Das kostet jetzt wenig und spart später viel.

Betriebliche Details, die zählen

Mandantenfähigkeit betrifft mehr als das Schema. Ratenbegrenzung, Hintergrundjobs, Speicherpfade für Dateien, Caches und Logs brauchen alle den Mandantenkontext. Ebenso kundennahe Funktionen wie Datenexport und Kontolöschung, nach denen Großkunden in der Beschaffung fragen werden.

Passende LeistungSaaS-ProduktentwicklungMandantenfähige Produkte mit Abrechnung, Onboarding und Raum zum Wachsen.

Hat es Ihnen gefallen? Den nächsten Beitrag per E-Mail erhalten.

Eine E-Mail pro Monat. Jederzeit abbestellbar.

Haben Sie ein Produkt,das es wert ist, gebaut zu werden?

Machen wir aus der Idee ein System, das Ihr Unternehmen wirklich nutzen kann.