Explorez la base de données Azure pour PostgreSQL

Effectué

Azure Database pour PostgreSQL est un service de base de données entièrement managé pour les charges de travail PostgreSQL sur Azure. Comprendre l’architecture de service, les niveaux de calcul et les fonctionnalités managées vous aide à prendre des décisions éclairées sur la configuration et la planification de la capacité pour vos applications IA.

Qu’est-ce que Azure Database pour PostgreSQL ?

Azure Database pour PostgreSQL est un service de base de données relationnelle entièrement managé basé sur le moteur de base de données PostgreSQL open source. Le service exécute l’édition community de PostgreSQL, fournissant une compatibilité complète avec les applications et outils PostgreSQL existants. Microsoft gère l’infrastructure sous-jacente, notamment l’approvisionnement matériel, la mise à jour corrective logicielle, la gestion des sauvegardes et la configuration de haute disponibilité.

Le service fournit un contrôle granulaire sur la configuration de la base de données tout en conservant les avantages d’une plateforme managée. Vous pouvez personnaliser les fenêtres de maintenance, configurer des options de haute disponibilité et ajuster les ressources de calcul en fonction des besoins de votre charge de travail.

Pour les applications IA qui ont besoin d’un stockage de données relationnelles avec des opérations vectorielles, PostgreSQL offre une combinaison attrayante de fiabilité transactionnelle, de modélisation de données flexible avec JSONB et d’un écosystème d’extension qui inclut des fonctionnalités de recherche de similarité vectorielle.

Options d’architecture et de déploiement

Azure Database pour PostgreSQL sépare le calcul et le stockage en composants indépendants. Le moteur de base de données s’exécute sur une machine virtuelle Linux, tandis que les fichiers de données résident sur Azure stockage managé. Cette séparation permet une mise à l’échelle indépendante des ressources de calcul et de stockage et fournit une durabilité des données intégrée via des réplicas de stockage localement redondants.

Le service offre trois niveaux de calcul pour correspondre à différentes caractéristiques de charge de travail. Chacun fournit des configurations de processeur et de mémoire différentes :

  • Burstable : Fournit des performances CPU de base avec la possibilité de dépasser ce niveau si nécessaire. Idéal pour les environnements de développement, les petites applications et les charges de travail qui n’ont pas besoin d’une capacité de processeur complète continue. Les machines virtuelles de la série B offrent une option économique pour les charges de travail intermittentes.

  • Usage général : Fournit des ressources de calcul et de mémoire équilibrées pour les charges de travail de production. Les machines virtuelles de la série D offrent des performances cohérentes pour les applications nécessitant des temps de réponse prévisibles. Choisissez Usage général pour les applications web et les services principaux classiques.

  • Mémoire optimisée : Offre des ratios de mémoire à processeur virtuel élevés pour les charges de travail qui bénéficient de jeux de données en mémoire volumineux. Les machines virtuelles de la série E excelnt dans la mise en cache de charges de travail lourdes, de requêtes analytiques complexes et d’applications qui doivent conserver des jeux de travail volumineux en mémoire. Les applications IA qui effectuent des calculs en mémoire bénéficient souvent de ce niveau.

Vous pouvez modifier les niveaux de calcul après le déploiement avec un bref redémarrage, ce qui vous permet d’ajuster les ressources à mesure que votre charge de travail évolue.

Fonctionnalités de service managé

Azure Database pour PostgreSQL gère les tâches opérationnelles qui nécessitent autrement un effort d’administration de base de données dédié.

Le service crée automatiquement des sauvegardes de votre base de données et les stocke sur un stockage redondant interzone dans les régions qui prennent en charge les zones de disponibilité ou le stockage localement redondant dans les régions qui ne le font pas. La rétention de sauvegarde par défaut est de sept jours, ce qui vous permet d’étendre jusqu’à 35 jours en fonction de vos besoins de récupération. Les sauvegardes incluent des instantanés complets et des journaux des transactions, ce qui permet une restauration dans le temps à n’importe quelle seconde au cours de la période de rétention. Azure chiffre toutes les sauvegardes à l’aide du chiffrement AES 256 bits, avec des clés gérées par la plateforme par défaut ou gérées par le client pour un contrôle supplémentaire.

La restauration à un point dans le temps vous permet de récupérer votre base de données à tout moment dans la période de rétention de sauvegarde. L’opération de restauration crée une instance de serveur avec des données récupérées à l’horodatage spécifié, ce qui est utile pour remédier à des modifications accidentelles des données ou pour tester un état de base de données historique.

Azure Database pour PostgreSQL inclut pgBouncer intégré, un pool de connexions léger qui réduit la surcharge liée à l’établissement de nouvelles connexions de base de données en conservant un pool de connexions réutilisables. Vous pouvez activer PgBouncer via la configuration du serveur et vous connecter sur le port 6432 au lieu du port PostgreSQL standard 5432. Le regroupement de connexions est utile pour les applications IA qui effectuent de nombreux appels de base de données de courte durée, tels que le stockage de messages individuels ou la récupération du contexte pour chaque demande d’inférence.

Important

PgBouncer est disponible uniquement sur les niveaux de calcul Usage Général et Mémoire Optimisée. Le niveau Burstable ne prend pas en charge la fonctionnalité PgBouncer intégrée.

Les stratégies d’optimisation des connexions sont abordées en détail dans le module « Optimiser les performances, l’indexation et la mise à l’échelle ».

Versions et extensions PostgreSQL prises en charge

Azure Database pour PostgreSQL prend en charge simultanément plusieurs versions majeures de PostgreSQL. Le service prend généralement en charge la version principale actuelle et plusieurs versions précédentes, en suivant la chronologie du support communautaire de PostgreSQL. Vous pouvez vérifier les versions disponibles lors de la création d’un serveur ou interroger le server_version paramètre sur un serveur existant.

Le mécanisme d’extension de PostgreSQL vous permet d’ajouter des fonctionnalités au-delà du moteur de base de données principal. Les extensions peuvent ajouter de nouveaux types de données, fonctions, opérateurs et types d’index sans modifier le code PostgreSQL principal. Plusieurs extensions sont pertinentes pour les applications IA :

  • pgvector : Active les types de données vectorielles et les opérations de recherche de similarité. Vous pouvez stocker des incorporations en même temps que des données relationnelles et effectuer des recherches voisines approximatives. Le module « Implémenter la recherche vectorielle avec Azure PostgreSQL » couvre en détail le pgvector.

  • pg_trgm : Fournit des fonctions de similarité de texte basée sur des trigrammes. Utile pour la correspondance approximative de texte, les fonctionnalités de saisie semi-automatique et la recherche de chaînes similaires sans correspondances exactes.

  • hstore : Ajoute un type de données clé-valeur pour stocker des ensembles de paires clé-valeur au sein d’une valeur PostgreSQL unique. Utile pour les données semi-structurées qui ne nécessitent pas la flexibilité totale de JSONB.

Vous pouvez activer les extensions à l’aide de la CREATE EXTENSION commande après avoir confirmé que l’extension est disponible sur votre instance de serveur.

Points de décision du développeur

Lors de la configuration de Azure Database pour PostgreSQL pour votre application, tenez compte des décisions clés suivantes :

  • Choix d’un niveau de calcul : Sélectionnez en fonction des besoins en processeur et en mémoire de votre charge de travail. Commencez par Burstable pour le développement, les tests et le travail de preuve de concept, où l’optimisation des coûts importe plus que les performances cohérentes. Utilisez "à usage général" pour les charges de travail de production avec des exigences de ressources stables et prévisibles. Choisissez Mémoire optimisée lorsque votre application bénéficie de caches en mémoire volumineux ou effectue des requêtes analytiques complexes. Vous pouvez surveiller l’utilisation du processeur et de la mémoire après le déploiement et ajuster le niveau si nécessaire.

  • Évaluation des extensions : Passez en revue les extensions disponibles au début de la conception de votre application. Déterminez si votre application a besoin d’une recherche de similarité vectorielle (pgvector), de recherche en texte intégral ou de fonctionnalités géospatiales (PostGIS). Vérifiez que les extensions requises sont disponibles sur Azure Database pour PostgreSQL avant de valider une conception. Planifiez les mises à niveau d’extension dans le cadre de votre stratégie de maintenance de base de données.

Ressources supplémentaires