Die Multi-Tenant-Architektur ist ein Ansatz der Software-Architektur, bei dem eine einzelne Instanz einer Anwendung mehrere Mieter, wie Unternehmen, Gruppen oder einzelne Benutzer, bedient. Jeder Mieter's Daten sind isoliert und angepasst, obwohl sie die gleiche Infrastruktur und Code-Basis teilen. Ein einfaches Beispiel für eine Multi-Tenant-Anwendung ist ein gemeinsames Haus, in dem jeder Mieter sein eigenes abgeschlossenes Zimmer (Daten) und gemeinsame Einrichtungen (Infrastruktur) hat. In einem Cloud-Dienst wie Slack oder Jira verwendet jedes Unternehmen das gleiche System, aber sieht nur seine eigenen Daten und Anpassungen. Die Multi-Tenant-Architektur unterscheidet sich von Benutzerkonten dadurch, dass jeder Mieter seinen eigenen isolierten Raum hat, während Benutzerkonten die gleichen Daten und allgemeinen Konfigurationen teilen. In einer Multi-Tenant-Anwendung kann jeder Mieter unterschiedliche Konfigurationen, Marken oder sogar Funktionalitäten haben. Das Verwalten von Datenbanken in einer Multi-Tenant-Anwendung erfordert die Entscheidung, wie die Datenbank gestaltet werden soll, wie z.B. die Verwendung einer Datenbank und eines Schemas für alle Mieter, eine Datenbank für jeden Mieter oder eine Datenbank mit verschiedenen Schemas für jeden Mieter. Jeder Ansatz hat seine Vorteile und Nachteile, einschließlich Isolation, Anpassung und Ressourcenkosten. Die Multi-Tenant-Architektur wird häufig in SAAS-Anwendungen (Software as a Service) wie Projektmanagement-Tools und Cloud-Diensten eingesetzt. Das Verständnis des Multi-Tenant-Musters kann Entwicklern helfen, effizientere und skalierbarere Anwendungen zu entwerfen und umzusetzen.
dev.to
Multi Tenant Architecture in Software: What Is It and Its Databases Patterns
