Partager via


Architecture mutualisée et base de données Azure Database pour PostgreSQL

De nombreuses solutions mutualisées sur Azure utilisent le système de gestion de base de données relationnelle open source Azure Database pour PostgreSQL. Dans cet article, nous allons examiner les fonctionnalités d’Azure Database pour PostgreSQL qui sont utiles lors de l’utilisation de systèmes mutualisés. L’article contient également des liens vers des conseils et des exemples d’utilisation d’Azure Database pour PostgreSQL dans une solution mutualisée.

Modes de déploiement

Il existe deux modes de déploiement disponibles pour Azure Database pour PostgreSQL qui conviennent pour une utilisation avec des applications multilocataires :

  • Azure Database pour PostgreSQL - Serveur flexible : c'est un choix judicieux pour la plupart des déploiements mutualisée qui ne nécessitent pas l'évolutivité élevée fournie par Azure Cosmos DB pour PostgreSQL.
  • Azure Cosmos DB for PostgreSQL : un service de base de données gérée Azure conçu pour les solutions nécessitant un niveau élevé de mise à l’échelle, qui incluent souvent des applications multilocataires. Ce service fait partie de la famille de produits Azure Cosmos DB.

Notes

Azure Database pour PostgreSQL : serveur unique en voie d’être mis hors service, dont la mise hors service est prévue d’ici le 28 mars 2025. Il n’est pas recommandé pour les nouvelles charges de travail multilocataires.

Fonctionnalités d’Azure Database pour PostgreSQL qui prennent en charge l’architecture mutualisée

Lorsque vous créez une application multilocataire à l’aide d’Azure Database pour PostgreSQL, vous pouvez utiliser un certain nombre de fonctionnalités pour améliorer la solution.

Notes

Certaines fonctionnalités sont disponibles uniquement dans les modes de déploiement spécifiques. Ces fonctionnalités sont indiquées dans le guide ci-dessous.

Sécurité au niveau des lignes

Une sécurité au niveau des lignes est utile pour appliquer l’isolation au niveau du locataire lorsque vous utilisez des tables partagées. Dans PostgreSQL, la sécurité au niveau des lignes est implémentée en appliquant des stratégies de sécurité au niveau des lignes aux tables pour limiter l’accès aux lignes par locataire.

Il peut y avoir un léger impact sur les performances lors de l’implémentation de la sécurité au niveau des lignes sur une table. Par conséquent, il peut être nécessaire de créer des index supplémentaires sur les tables avec une sécurité au niveau des lignes activée pour garantir que les performances ne sont pas affectées. Il est recommandé d’utiliser des techniques de test de performances pour vérifier que votre charge de travail répond à vos exigences de performances de base lorsque la sécurité au niveau des lignes est activée.

Plus d’informations :

Mise à l’échelle horizontale avec partitionnement

Le modèle de partitionnement vous permet de mettre à l’échelle votre charge de travail entre plusieurs bases de données ou serveurs de base de données.

Les solutions qui nécessitent un niveau très élevé de mise à l’échelle peuvent utiliser Azure cosmos DB for PostgreSQL. Ce mode de déploiement permet une partitionnement horizontal des locataires sur plusieurs serveurs (nœuds). En utilisant des tables distribuées dans des bases de données mutualisées, vous pouvez vous assurer que toutes les données d’un locataire sont stockées sur le même nœud, ce qui augmente les performances des requêtes.

Notes

À partir d’octobre 2022, Azure Database pour PostgreSQL Hyperscale (Citus) a été renommé Azure Cosmos DB for PostgreSQL et a été déplacé dans la famille de produits Cosmos DB.

Plus d’informations :

Regroupement de connexions

PostgreSQL utilise un modèle basé sur un processus pour les connexions. Grâce à ce modèle, il est plus efficace de conserver un grand nombre de connexions inactives. Certaines architectures mutualisées requièrent un grand nombre de connexions actives, ce qui aura un impact négatif sur les performances du serveur PostgreSQL.

Le regroupement de connexions via PgBouncer est installé par défaut dans le Azure Database pour PostgreSQL - Serveur flexible.

Plus d’informations :

Authentification Microsoft Entra

Azure Database pour PostgreSQL - Serveur flexible prend en charge l’authentification des connexions à l’aide de Microsoft Entra ID. Cette fonctionnalité permet aux charges de travail d’application dans un environnement mutualisé de s’authentifier auprès de la base de données à l’aide d’un principal de service spécifique au locataire ou d’une identité managée. Ainsi, l’accès à la base de données peut être étendu à un locataire individuel. En combinant l’authentification Microsoft Entra ID avec des stratégies de sécurité au niveau de la ligne, vous pouvez réduire le risque qu'une application accède aux données d'un autre locataire à partir d'une base de données mutualisée. Plus d’informations :

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Autres contributeurs :

  • John Downs | Ingénieur logiciel principal
  • Arsen Vladimirskiy | Ingénieur client principal, FastTrack for Azure
  • Paul Burpo | Ingénieur client principal, éditeurs de logiciels indépendants FastTrack for Azure
  • Assaf Fraenkel | Ingénieur senior/Architecte de données, Azure FastTrack pour les éditeurs de logiciels indépendants et les start-ups

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes

Passez en revue les approches de stockage et de données pour l’architecture multilocataire.