Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Viele mehrinstanzenfähige Lösungen in Azure verwenden das Open-Source-Managementsystem für relationale Datenbanken Azure Database for PostgreSQL. In diesem Artikel werden die Features von Azure Database for PostgreSQL beschrieben, die nützlich sind, wenn Sie mit multitenant-Systemen arbeiten. Der Artikel enthält auch Links zu Anleitungen und Beispielen für die Verwendung von Azure Database for PostgreSQL in einer Multitenant-Lösung.
Bereitstellungsmodus
Die folgenden Bereitstellungsmodi sind für Azure Database für PostgreSQL verfügbar und eignen sich für die Verwendung mit multitenant-Anwendungen:
Azure Database for PostgreSQL flexible Server ist eine gute Wahl für die meisten multitenant-Bereitstellungen, die nicht die hohe Skalierbarkeit erfordern, die Azure Cosmos DB für PostgreSQL bereitstellt.
Azure Database for PostgreSQL flexible Server mit flexiblen Clustern (Vorschau) bietet horizontale Skalierung innerhalb eines verwalteten Diensts. Es eignet sich für mehrinstanzenfähige Anwendungen, die von einigen Mandanten auf eine hohe Anzahl von Mandanten skaliert werden müssen. Dieses Feature befindet sich in der Vorschau und wird nicht für die Produktionsverwendung empfohlen. Sie können sie jedoch für die zukünftige Implementierung auswerten.
Azure Cosmos DB für PostgreSQL ist ein von Azure verwalteter Datenbankdienst, der für Lösungen entwickelt wurde, die ein hohes Maß an Skalierung erfordern, z. B. multitenant-Anwendungen. Dieser Dienst ist Teil der Azure Cosmos DB-Produktfamilie.
Hinweis
Azure Database for PostgreSQL Single Server befindet sich auf dem Abwicklungspfad und soll bis zum 28. März 2025 außer Betrieb genommen werden. Es wird nicht für neue mehrinstanzenfähige Workloads empfohlen.
Azure-Datenbank für PostgreSQL-Features, die mehrinstanzenfähige Funktionen unterstützen
Wenn Sie Azure Database for PostgreSQL verwenden, um eine mehrinstanzenfähige Anwendung zu erstellen, können die folgenden Features Ihre Lösung verbessern.
Hinweis
Einige Features sind nur in bestimmten Bereitstellungsmodi verfügbar. In den folgenden Anleitungen wird beschrieben, welche Features verfügbar sind.
Sicherheit auf Zeilenebene
Sicherheit auf Zeilenebene ist nützlich, um die Isolation auf Mandantenebene zu erzwingen, wenn Sie freigegebene Tabellen verwenden. In PostgreSQL implementieren Sie die Sicherheit auf Zeilenebene, indem Sie Zeilensicherheitsrichtlinien auf Tabellen anwenden, um den Zugriff auf Zeilen nach Mandant einzuschränken.
Die Implementierung der Sicherheit auf Zeilenebene in einer Tabelle kann sich auf die Leistung auswirken. Möglicherweise müssen Sie andere Indizes für Tabellen erstellen, für die die Sicherheit auf Zeilenebene aktiviert ist, um sicherzustellen, dass die Leistung nicht beeinträchtigt wird. Wenn Sie die Sicherheit auf Zeilenebene verwenden, ist es wichtig, Leistungstesttechniken zu verwenden, um zu überprüfen, ob Ihre Workload Ihre grundlegenden Leistungsanforderungen erfüllt.
Weitere Informationen finden Sie unter Secure your Azure Database for PostgreSQL server.
Horizontale Skalierung mit Sharding
Mit dem Shardingmuster können Sie Ihre Workload auf mehrere Datenbanken oder Datenbankserver skalieren.
Lösungen, die ein hohes Maß an Skalierung benötigen, können Azure Cosmos DB für PostgreSQL verwenden. Dieser Bereitstellungsmodus ermöglicht das horizontale Sharding von Mandanten über mehrere Server oder Knoten hinweg. Verwenden Sie verteilte Tabellen in mehrinstanzenfähigen Datenbanken, um sicherzustellen, dass alle Daten für einen Mandanten auf demselben Knoten gespeichert sind. Dieser Ansatz verbessert die Abfrageleistung.
Hinweis
Im Oktober 2022 wurde die Azure-Datenbank für PostgreSQL Hyperscale (Citus) als Azure Cosmos DB für PostgreSQL umbenannt und in die Azure Cosmos DB-Produktfamilie umgestellt.
Weitere Informationen finden Sie in den folgenden Artikeln:
- Entwerfen einer mehrinstanzenübergreifenden Datenbank mithilfe von Azure Cosmos DB für PostgreSQL
- Verteilte Tabellen
- Auswählen von Verteilungsspalten
- Verwenden von Citus für Mehrinstanzenanwendungen
Elastische Cluster (Vorschau)
Flexible Cluster sind ein Feature von Azure Database für flexiblen Server für PostgreSQL. Sie bieten horizontale Skalierungsfunktionen innerhalb eines einzelnen verwalteten Diensts. Diese Bereitstellungsoption verwendet verteilte Tabellenfunktionen für mehrinstanzenfähige Workloads, die Skalierungsfunktionen erfordern.
In multitenant-Lösungen ermöglichen elastische Cluster mandantendatensharding über mehrere Knoten hinweg. Sie können Tabellen nach Mandanten-ID verteilen, um sicherzustellen, dass Mandantendaten auf bestimmten Knoten colocates. Dieser Ansatz kann die Abfrageleistung für mandantenspezifische Abfragen verbessern.
Hinweis
Flexible Cluster befinden sich in der Vorschau und sind nur in Azure Database für flexiblen Server für PostgreSQL verfügbar.
Weitere Informationen finden Sie unter Elastic Clusters in Azure Database for PostgreSQL flexiblen Server (Vorschau).
Verbindungspooling
Postgres verwendet ein prozessbasiertes Modell für Verbindungen. Dieses Modell macht es ineffizient, eine große Anzahl von Verbindungen im Leerlauf beizubehalten. Einige mehrinstanzenfähige Architekturen erfordern viele aktive Verbindungen, die sich negativ auf die Leistung des Postgres-Servers auswirken.
Verbindungspooling über PgBouncer wird standardmäßig in Azure Database for PostgreSQL flexible Server installiert.
Weitere Informationen finden Sie in den folgenden Artikeln:
- PgBouncer in Azure-Datenbank für Flexible Server für PostgreSQL
- Verbindungs-Pooling in Azure Cosmos DB für PostgreSQL
- Steps to install and set up PgBouncer connection pooling proxy with Azure Database for PostgreSQL (Schritte zum Installieren und Einrichten des PgBouncer-Verbindungspoolingproxys mit Azure Database for PostgreSQL)
Microsoft Entra-Authentifizierung
Azure Database for PostgreSQL flexible Server unterstützt die Verbindungsauthentifizierung mithilfe der Microsoft Entra ID. Mit diesem Feature können Anwendungsworkloads in einer mehrinstanzenfähigen Umgebung mithilfe eines mandantenspezifischen Dienstprinzipals oder einer verwalteten Identität bei der Datenbank authentifiziert werden. Der Datenbankzugriff kann auf einen einzelnen Mandanten erweitert werden. Indem Sie die Authentifizierung von Microsoft Entra ID zusammen mit mandantenspezifischen Richtlinien für die Sicherheit auf Zeilenebene nutzen, senken Sie das Risiko, dass eine Anwendung aus einer mehrinstanzenfähigen Datenbank Zugriff auf die Daten eines anderen Mandaten erlangt.
Weitere Informationen finden Sie in den folgenden Artikeln:
- Microsoft Entra-Authentifizierung in Azure-Datenbank für PostgreSQL
- Herstellen einer Verbindung mit verwalteter Identität mit azure Database für flexiblen Server für PostgreSQL
Vertrauliches Azure Computing (Vorschau)
Azure Database for PostgreSQL flexible Server unterstützt Azure Vertraulich Computing über vertrauenswürdige Ausführungsumgebungen (TEEs), die hardwarebasierten Schutz für die verwendeten Daten bieten. Dieses Feature schützt Mandantendaten vor unbefugtem Zugriff durch das Betriebssystem, den Hypervisor oder andere Anwendungen.
Für multitenantische Lösungen, die vertrauliche Daten verarbeiten, bietet vertrauliches Computing während der Verarbeitung Schutz auf Hardwareebene. Verwenden Sie vertrauliches Computing, wenn Mandanten strenge Datenschutzanforderungen oder gesetzliche Complianceanforderungen haben oder wenn Sie sicherstellen müssen, dass der Anwendungsanbieter nicht auf Mandantendaten zugreifen kann.
Hinweis
Vertrauliche Computer befinden sich derzeit in der Vorschau und erfordern bestimmte SKUs für virtuelle Computer.
Weitere Informationen finden Sie unter Azure Confidential Computing für Azure Database for PostgreSQL (Vorschau).
Verschlüsselung
Daten, die in Azure Database für PostgreSQL flexible Server gespeichert sind, werden standardmäßig mithilfe von Microsoft verwalteten Schlüsseln verschlüsselt, sie können aber auch kundenverwaltete Schlüssel (CMKs) verwenden, damit Mandanten ihre eigenen Verschlüsselungsschlüssel angeben können.
Wenn Sie CMKs verwenden, können Sie Ihre eigenen Verschlüsselungsschlüssel bereitstellen, die in Azure Key Vault gespeichert sind. In mehrinstanzenfähigen Umgebungen können Sie mit diesem Ansatz unterschiedliche Verschlüsselungsschlüssel für unterschiedliche Mandanten verwenden, auch wenn ihre Daten auf demselben Datenbankserver gespeichert sind. Diese Funktion bietet Mandanten auch die Kontrolle über ihre eigenen Verschlüsselungsschlüssel. Wenn sich ein Mandant entscheidet, sein Konto zu deaktivieren, stellt das Löschen des zugehörigen Schlüssels sicher, dass auf ihre Daten nicht mehr zugegriffen werden kann.
Azure Database for PostgreSQL flexible Server unterstützt automatische Aktualisierungen der Schlüsselversion für CMKs. Dieses Feature wird automatisch nach der Drehung in Key Vault auf neue Schlüsselversionen aktualisiert und erfordert keine manuelle Verwaltung der Schlüsselversion. In mehrinstanzenfähigen Umgebungen, in denen die Einhaltung gesetzlicher Vorschriften eine regelmäßige Schlüsseldrehung erfordert, reduziert diese Automatisierung manuelle Betriebsaufgaben und verwaltet den Datenschutz ohne Dienstunterbrechung.
Weitere Informationen finden Sie in den folgenden Artikeln:
- Ruhende Datenverschlüsselung
- Konfigurieren der Datenverschlüsselung
- Automatische Aktualisierungen der Schlüsselversion
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautor:
- Daniel Scott-Raynsford | Partner Solution Architect, Data & AI
Andere Mitwirkende:
- John Downs | Principal Software Engineer, Azure Patterns & Practices
- Arsen Vladimirskiy | Principal Customer Engineer, FastTrack für Azure
- Paul Burpo | Principal Customer Engineer, FastTrack für Azure ISVs
- Assaf Fraenkel | Senior Engineer/Data Architect, Azure FastTrack für ISVs und Start-ups
Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.