Partager via


Conseils pour l’utilisation d’Azure Database pour PostgreSQL dans une solution mutualisée

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. Cet article décrit les fonctionnalités d’Azure Database pour PostgreSQL qui sont utiles lorsque vous travaillez avec des systèmes multilocataire. L’article contient également des liens vers des conseils et des exemples sur l’utilisation d’Azure Database pour PostgreSQL dans une solution multilocataire.

Modes de déploiement

Les modes de déploiement suivants sont disponibles pour Azure Database pour PostgreSQL et conviennent à une utilisation avec des applications mutualisées :

  • Le serveur flexible Azure Database pour PostgreSQL est un bon choix pour la plupart des déploiements multilocataire qui ne nécessitent pas la scalabilité élevée que fournit Azure Cosmos DB pour PostgreSQL.

  • Le serveur flexible Azure Database pour PostgreSQL avec des clusters élastiques (préversion) fournit une mise à l’échelle horizontale au sein d’un service managé. Il convient aux applications mutualisées qui doivent passer de quelques locataires à un nombre élevé de locataires. Cette fonctionnalité est en préversion et n’est pas recommandée pour une utilisation en production. Toutefois, vous pouvez commencer à l’évaluer pour une implémentation ultérieure.

  • Azure Cosmos DB pour PostgreSQL est un service de base de données géré par Azure conçu pour les solutions qui nécessitent un niveau élevé de mise à l’échelle, comme les applications mutualisées. Ce service fait partie de la famille de produits Azure Cosmos DB.

Remarque

Le serveur unique Azure Database pour PostgreSQL est sur le chemin de mise hors service et est prévu pour la mise hors service d’ici le 28 mars 2025. Il n’est pas recommandé pour les nouvelles charges de travail mutualisées.

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

Lorsque vous utilisez Azure Database pour PostgreSQL pour créer une application mutualisée, les fonctionnalités suivantes peuvent améliorer votre solution.

Remarque

Certaines fonctionnalités sont disponibles uniquement dans les modes de déploiement spécifiques. Les instructions suivantes décrivent les fonctionnalités disponibles.

Sécurité au niveau des lignes

La 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, vous implémentez la sécurité au niveau des lignes en appliquant des stratégies de sécurité de ligne aux tables pour restreindre l’accès aux lignes par locataire.

L’implémentation de la sécurité au niveau des lignes sur une table peut affecter les performances. Vous devrez peut-être créer d’autres index sur des tables sur lesquelles la sécurité au niveau des lignes est activée pour vous assurer que les performances ne sont pas affectées. Lorsque vous utilisez la sécurité au niveau des lignes, il est important d’utiliser des techniques de test des performances pour vérifier que votre charge de travail répond à vos exigences de performances de référence.

Pour plus d’informations, consultez Sécuriser votre serveur Azure Database pour PostgreSQL.

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 ont besoin d’un niveau élevé de mise à l’échelle peuvent utiliser Azure Cosmos DB pour PostgreSQL. Ce mode de déploiement permet le partitionnement horizontal des locataires sur plusieurs serveurs ou nœuds. Utilisez des tables distribuées dans des bases de données mutualisées pour vous assurer que toutes les données d’un locataire sont stockées sur le même nœud. Cette approche améliore les performances des requêtes.

Remarque

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

Pour plus d’informations, consultez les articles suivants :

Clusters élastiques (préversion)

Les clusters élastiques sont une fonctionnalité du serveur flexible Azure Database pour PostgreSQL. Ils fournissent des fonctionnalités de mise à l’échelle horizontale au sein d’un seul service managé. Cette option de déploiement utilise la fonctionnalité de table distribuée pour les charges de travail multitenant qui nécessitent des capacités de scale-out.

Dans les solutions mutualisées, les clusters élastiques activent le partitionnement des données client sur plusieurs nœuds. Vous pouvez distribuer des tables par ID de locataire pour vous assurer que les données du locataire colocalisent sur des nœuds spécifiques. Cette approche peut améliorer les performances des requêtes pour les requêtes spécifiques au locataire.

Remarque

Les clusters élastiques sont en préversion et disponibles uniquement dans le serveur flexible Azure Database pour PostgreSQL.

Pour plus d’informations, consultez Clusters élastiques dans un serveur flexible Azure Database pour PostgreSQL (préversion).

Regroupement de connexions

PostgreSQL utilise un modèle basé sur un processus pour les connexions. Avec ce modèle, il est inefficace de maintenir un grand nombre de connexions inactives. Certaines architectures mutualisées nécessitent de nombreuses connexions actives, ce qui affecte négativement les performances du serveur Postgres.

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

Pour plus d’informations, consultez les articles suivants :

Microsoft Entra Authentification

Le serveur flexible Azure Database pour PostgreSQL prend en charge l’authentification de connexion à l’aide de l’ID Microsoft Entra. Cette fonctionnalité permet aux charges de travail d’application dans un environnement multilocataire 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. 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.

Pour plus d’informations, consultez les articles suivants :

Informatique confidentielle Azure (préversion)

Le serveur flexible Azure Database pour PostgreSQL prend en charge l’informatique confidentielle Azure via des environnements d’exécution approuvés (TEE), qui fournissent une protection basée sur le matériel pour les données en cours d’utilisation. Cette fonctionnalité protège les données de locataire contre l’accès non autorisé par le système d’exploitation, l’hyperviseur ou d’autres applications.

Pour les solutions mutualisées qui gèrent des données sensibles, l’informatique confidentielle fournit une protection des données au niveau matériel pendant le traitement. Utilisez l’informatique confidentielle lorsque les locataires ont des exigences strictes en matière de protection des données ou de conformité réglementaire, ou lorsque vous devez vous assurer que le fournisseur d’applications ne peut pas accéder aux données du locataire.

Remarque

L’informatique confidentielle est actuellement en préversion et nécessite des références SKU de machine virtuelle spécifiques.

Pour plus d’informations, consultez l’informatique confidentielle Azure pour Azure Database pour PostgreSQL (préversion).

Chiffrement

Les données stockées dans un serveur flexible Azure Database pour PostgreSQL sont chiffrées au repos par défaut à l’aide de clés gérées par Microsoft, mais vous pouvez également utiliser des clés gérées par le client (CMK) pour permettre aux locataires de spécifier leurs propres clés de chiffrement.

Lorsque vous utilisez des clés CMK, vous pouvez fournir vos propres clés de chiffrement stockées dans Azure Key Vault. Dans les environnements multilocataires, cette approche vous permet d’utiliser différentes clés de chiffrement pour différents locataires, même quand leurs données sont stockées dans le même serveur de base de données. Cette fonctionnalité permet également aux locataires de contrôler leurs propres clés de chiffrement. Si un locataire choisit de désactiver son compte, la suppression de la clé associée garantit que ses données ne sont plus accessibles.

Le serveur flexible Azure Database pour PostgreSQL prend en charge les mises à jour automatiques des versions de clés pour les clés CMK. Cette fonctionnalité est automatiquement mise à jour vers de nouvelles versions de clés après la rotation dans Key Vault et ne nécessite pas de gestion manuelle des versions de clé. Dans les environnements multilocataires où la conformité réglementaire nécessite une rotation régulière des clés, cette automatisation réduit les tâches opérationnelles manuelles et gère la protection des données sans interruption de service.

Pour plus d’informations, consultez les articles suivants :

Contributeurs

Microsoft gère cet article. Les contributeurs suivants ont écrit cet article.

Auteur principal :

Autres contributeurs :

  • John Downs | Ingénieur logiciel principal, modèles Azure & Pratiques
  • Arsen Vladimirskiy | Ingénieur client principal, FastTrack for Azure
  • Paul Burpo | Ingénieur client principal, Microsoft FastTrack for Azure pour les éditeurs de logiciels indépendants
  • 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.