Freigeben über


Leitfaden für die Verwendung von Azure Database for PostgreSQL in einer Multitenant-Lösung

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:

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:

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:

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:

Beitragende

Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.

Hauptautor:

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.