Wie wird ein Multi-Tenant-Datenmodell für eine B2B-SaaS-Plattform hinsichtlich Isolation und Performance optimiert?

Wir unterscheiden bei der Implementierung der Mandantenfähigkeit primär drei Architekturmuster, die unterschiedliche Trade-offs zwischen Isolation und Performance bieten:

ModellIsolationPerformance-SkalierungWartungsaufwand
Database-per-TenantMaximalHoch (pro Instanz)Hoch
Schema-per-TenantHochMittelMittel
Shared SchemaGeringHoch (aggregiert)Gering

Beim Database-per-Tenant-Modell erhält jeder Kunde eine eigene physische Datenbank. Dies garantiert die höchste Isolation und vereinfacht individuelle Backups sowie die Einhaltung strenger Datenschutzrichtlinien. Der administrative Aufwand steigt jedoch linear mit der Anzahl der Mandanten. Das Schema-per-Tenant-Modell nutzt eine gemeinsame Datenbank, trennt die Daten jedoch auf Schema-Ebene, was einen Kompromiss aus Isolation und Ressourcenverbrauch darstellt. Der Shared-Schema-Ansatz speichert alle Mandanten in denselben Tabellen, wobei eine tenant_id die logische Trennung übernimmt.

Zur Performance-Optimierung setzen wir folgende technische Maßnahmen ein:

  1. Indexierung: Wir implementieren zusammengesetzte Indizes, bei denen die tenant_id als führende Spalte fungiert. Dies stellt sicher, dass die Datenbank-Engine den Suchraum sofort auf den spezifischen Mandanten einschränkt und Full-Table-Scans vermeidet.
  2. Partitionierung: Bei großen Datenmengen nutzen wir horizontales Partitioning (Sharding). Daten werden physisch nach Mandantengruppen verteilt, um die I/O-Last zu streuen und die Abfragegeschwindigkeit zu halten.
  3. Tenant-aware Caching: Wir setzen Caching-Layer ein, die Daten explizit pro Mandant versionieren, um Cache-Polluting zu verhindern und schnelle Zugriffe auf mandantenspezifische Konfigurationen zu ermöglichen.

Im Bereich Data Engineering optimieren wir die Datenflüsse so, dass Cross-Tenant-Queries auf Applikationsebene durch strikte Filter-Interceptoren unterbunden werden, was sowohl die Sicherheit als auch die Performance erhöht.

Für B2B-SaaS-Plattformen mit hohen Compliance-Anforderungen und mittlerem bis hohem Kundenwachstum empfehlen wir das Schema-per-Tenant-Modell, da es die optimale Balance zwischen strikter Datenisolation und operationaler Effizienz bietet.

Sergej Wiens

Sergej Wiens

Gründer & Software Architekt