AlloyDB pour PostgreSQL est un service de base de données entièrement géré compatible avec PostgreSQL. Il associe un moteur de base de données Google et une architecture cloud multinœud pour offrir des performances, une fiabilité et une disponibilité de niveau entreprise pour vos applications les plus exigeantes.
Cas d'utilisation d'AlloyDB
AlloyDB constitue une alternative évolutive à PostgreSQL autogéré. Utilisez AlloyDB si vous souhaitez consacrer moins de temps à la gestion de l'infrastructure et plus de temps à la création d'applications.
AlloyDB est conçu pour les charges de travail exigeantes, y compris :
- Traitement hybride transactionnel et analytique (HTAP) : exécutez des requêtes analytiques complexes sur vos données transactionnelles en temps réel sans impacter les performances ni la disponibilité.
- Applications d'IA à faible latence : créez des applications d'IA générative en tirant parti d'AlloyDB AI, qui intègre la recherche vectorielle et l'invocation de modèles de machine learning directement dans le moteur de base de données, ce qui élimine le besoin de déplacer des données externes à forte latence.
- Charges de travail critiques de niveau Enterprise : déployez des applications qui nécessitent les plus hauts niveaux de performances, de fiabilité et de disponibilité, grâce à une architecture de calcul et de stockage dissociée qui s'étend sur plusieurs zones de disponibilité.
Ce qu'offre AlloyDB
AlloyDB offre de nombreux services. Vous n'avez donc pas à les créer vous-même. Vous pouvez vous concentrer sur vos données et laisser AlloyDB gérer les opérations suivantes :
- Sauvegardes : protégez vos données grâce à des sauvegardes à la demande et automatiques planifiées, ainsi qu'à un système de récupération continue qui permet la récupération à un moment précis.
- Haute disponibilité : assurez la continuité du service grâce à des nœuds redondants situés dans différentes zones, avec basculement automatique entre eux.
- Gestion des ressources : optimisez les performances et l'efficacité grâce à des systèmes qui allouent et libèrent automatiquement la mémoire et l'espace de stockage selon les besoins.
- Optimisation des requêtes : améliorez les performances de la base de données à l'aide d'un conseiller d'index qui suggère des améliorations de schéma et d'un moteur de données en colonnes qui accélère les requêtes analytiques.
- Sécurité et chiffrement : protégez les données au repos à l'aide du chiffrement par défaut de Google ou de clés de chiffrement gérées par le client (CMEK), et gérez les accès à l'aide d' Google Cloud Identity and Access Management (IAM) intégré.
Administration des bases de données
AlloyDB gère l'infrastructure sous-jacente de votre base de données, comme les sauvegardes automatiques, les correctifs de sécurité et l'allocation des ressources. Toutefois, AlloyDB n'est pas un outil d'administration de base de données autonome. Vous aurez toujours besoin d'outils d'administration pour gérer les schémas, les données et les utilisateurs de vos bases de données.
Vous pouvez utiliser les outils suivants pour vous connecter à vos bases de données et les gérer :
- AlloyDB Studio : outil Web intégré directement à la console Google Google Cloud qui vous permet d'explorer et de gérer vos données à l'aide d'une interface SQL interactive.
- Clients PostgreSQL : comme AlloyDB est entièrement compatible avec PostgreSQL, vous pouvez utiliser des clients administratifs et des outils en ligne de commande standards, tels que psql et pgAdmin, pour travailler avec votre base de données.
Tarifs d'AlloyDB
AlloyDB utilise un modèle de tarification basé sur la consommation, ce qui signifie que vous êtes facturé en fonction des ressources que vous utilisez. Les tarifs d'AlloyDB varient en fonction de vos paramètres de configuration et dépendent des facteurs suivants :
- Ressources d'instance : type de machine (nombre de processeurs virtuels et quantité de RAM) sélectionné pour vos instances de pool principal et de lecture.
- Stockage : quantité de données stockées dans la couche de stockage flexible de votre cluster.
- Mise en réseau : volume de trafic réseau sortant de vos instances.
Pour en savoir plus, consultez la page Tarifs d'AlloyDB pour PostgreSQL.
Fonctionnement d'AlloyDB
Une application se connecte aux instances AlloyDB à l'aide des protocoles PostgreSQL standards.
En arrière-plan, AlloyDB utilise une architecture désagrégée et une hiérarchie de ressources conçues pour maximiser la disponibilité et les performances.
Différences architecturales par rapport à PostgreSQL standard
Dans PostgreSQL traditionnel, le moteur de base de données qui traite les requêtes est associé au stockage sur le même serveur. AlloyDB utilise une architecture désagrégée, dans laquelle les couches de calcul et de stockage sont séparées et évoluent indépendamment.
- Calcul : machines virtuelles ou nœuds qui traitent vos requêtes.
- Stockage : moteur de stockage distribué et natif du cloud qui conserve vos données dans plusieurs zones de disponibilité et s'adapte automatiquement à la croissance de vos données.
Hiérarchie des ressources AlloyDB
AlloyDB organise ses ressources en trois niveaux : clusters, instances et nœuds.
Le schéma suivant illustre la hiérarchie des ressources AlloyDB, avec un cluster mis à l'échelle avec une instance principale et plusieurs instances de pool de lecture à équilibrage de charge :
- Cluster : ressource de premier niveau qui sert de conteneur logique pour vos bases de données, journaux et autres métadonnées dans une région. Vous pouvez créer plusieurs clusters dans le même projet et la même région.
- Instance : un cluster contient une ou plusieurs instances. Une instance fournit le point de connexion pour vos applications.
- Nœud : une instance est alimentée par un ou plusieurs nœuds. Un nœud est une machine virtuelle (VM) dédiée à l'exécution du moteur de base de données.
Qu'est-ce qu'une instance AlloyDB ?
Une instance AlloyDB est le point d'accès à votre base de données. Chaque instance possède une adresse IP privée et statique dans votre VPC. Lorsque votre application envoie une requête à cette adresse IP, l'instance achemine la requête vers ses nœuds sous-jacents pour traitement.
AlloyDB utilise deux types d'instances :
Instance principale : fournit un accès en lecture et en écriture à vos données. Chaque cluster ne comporte qu'une seule instance principale. Une instance principale peut être disponibilité élevée (HA) ou de base.
Haute disponibilité : contient deux nœuds, un nœud actif et un nœud de secours, situés dans des zones différentes pour le basculement automatique.
Instance de base : contient un seul nœud pour les environnements hors production qui ne nécessitent pas de haute disponibilité. Une instance de base ne comporte qu'un seul nœud, sans nœud de secours. Pour en savoir plus, consultez Réduire les coûts à l'aide d'instances de base.
Instance de pool de lecture : fournit un accès en lecture seule pour faire évoluer vos charges de travail. Vous pouvez ajouter une ou plusieurs instances de pool de lecture, chacune contenant jusqu'à 20 nœuds au total dans le cluster. AlloyDB équilibre automatiquement la charge des requêtes sur les nœuds d'un pool de lecture.
Principales fonctionnalités
AlloyDB se distingue d'une installation PostgreSQL standard de plusieurs façons, au-delà des avantages de scaling vertical et horizontal inhérents à l'architecture multinœud décrite précédemment. Les sections suivantes présentent plus en détail les principales fonctionnalités d'AlloyDB.
Fonctionnalités de base de données automatiques et adaptatives
Le moteur de base de données entièrement compatible avec PostgreSQL qui alimente chaque nœud AlloyDB dispose de plusieurs fonctionnalités qui analysent en continu la structure et la fréquence des requêtes traitées par vos instances. Ces informations sont utilisées pour suggérer des améliorations de schéma ou appliquer automatiquement des optimisations :
Un conseiller d'index vous aide à identifier les opportunités d'optimisation de votre schéma de base de données à l'aide de nouveaux index basés sur vos schémas d'utilisation.
Un moteur de données en colonnes peut accélérer les performances des requêtes analytiques en stockant les données en mémoire au format en colonnes. Cela permet à AlloyDB d'utiliser des techniques de traitement avancées pour analyser efficacement une grande quantité de données de table si nécessaire.
Une variation adaptative de la fonctionnalité autovacuum de données obsolètes de PostgreSQL ajuste automatiquement les paramètres liés au vide pour s'adapter au mieux à la forme de votre charge de travail.
Les systèmes de gestion automatique de la mémoire et du stockage tirent parti de l'environnement cloud conçu par Google sur lequel AlloyDB s'exécute. Ils allouent et libèrent en continu de la mémoire et du stockage selon les besoins pour que votre cluster fonctionne avec des performances et une efficacité des ressources optimales.
Haute disponibilité
Par défaut, un cluster AlloyDB offre une haute disponibilité grâce aux nœuds redondants de son instance principale, situés dans deux zones différentes, avec basculement automatique.
Les clusters fonctionnant dans des environnements hors production qui ne nécessitent pas de haute disponibilité peuvent éventuellement utiliser des instances principales de base à zone unique.
L'ajout d'instances de pool de lecture contenant au moins deux nœuds crée des points d'accès multizones à haute disponibilité et à équilibrage de charge pour vos données. Toutes les instances de pool de lecture s'exécutent indépendamment de l'instance principale.
Pour en savoir plus sur les considérations spécifiques à la région, consultez la page Zones géographiques et régions.
Sauvegarde des données et reprise après sinistre
AlloyDB dispose d'un système de sauvegarde et de récupération continues qui vous permet de créer un cluster basé sur n'importe quel moment précis d'une période de conservation ajustable. Cela vous permet de récupérer rapidement vos données en cas de perte accidentelle.
De plus, AlloyDB peut créer et stocker des sauvegardes complètes des données de votre cluster, à la demande ou selon un calendrier régulier. À tout moment, vous pouvez restaurer dans un nouveau cluster AlloyDB une sauvegarde contenant toutes les données du cluster d'origine (tel qu'il était au moment de la création de la sauvegarde).
Pour en savoir plus, consultez À propos des sauvegardes.
Autre méthode de reprise après sinistre : vous pouvez obtenir une réplication multirégionale en créant des clusters secondaires dans des régions Google Clouddistinctes. AlloyDB diffuse de manière asynchrone les données d'un cluster principal désigné vers chacun de ses clusters secondaires. Si nécessaire, vous pouvez promouvoir un cluster secondaire en cluster AlloyDB complet avec des instances principales et de pool de lecture.
Pour en savoir plus, consultez À propos de la réplication interrégionale.
Sécurité et contrôle des accès
Vous pouvez configurer un cluster pour qu'il nécessite une connexion avec le proxy d'authentification AlloyDB sécurisé, qui utilise Google Cloud Identity Access and Management (IAM) pour le contrôle des accès. Pour en savoir plus, consultez Autorisation.
AlloyDB utilise le système de rôles utilisateur PostgreSQL standard pour l'authentification, en ajoutant quelques rôles spécifiques à AlloyDB. Pour en savoir plus, consultez Gérer les rôles des utilisateurs AlloyDB.
Chiffrement
Par défaut, AlloyDB protège toutes les données au repos à l'aide des méthodes de chiffrement de Google. Si vous devez chiffrer vos données à l'aide d'une clé que vous fournissez, vous pouvez spécifier une clé de chiffrement gérée par le client (CMEK) lorsque vous créez un cluster. AlloyDB utilise ensuite la clé CMEK pour chiffrer toutes les données écrites dans ce cluster.
Les clés CMEK s'appliquent également aux sauvegardes. Vous pouvez spécifier une clé CMEK lorsque vous créez une sauvegarde à la demande, configurez une programmation de sauvegarde ou restaurez une sauvegarde.
Pour en savoir plus, consultez À propos de CMEK.
Maintenance et mises à jour
Pendant la durée de vie d'un cluster AlloyDB, deux types de mises à jour peuvent se produire :
- Mises à jour du système : Google effectue régulièrement des mises à jour du système pour s'assurer que le matériel et les logiciels sous-jacents sont fiables, sécurisés et fonctionnent de manière optimale. Ces mises à jour incluent des correctifs de sécurité, des mises à niveau du système d'exploitation et des mises à jour mineures de la version du serveur PostgreSQL.
- Mises à jour de la configuration : il s'agit des modifications que vous apportez manuellement à votre cluster ou à vos instances pour répondre à l'évolution des exigences de la charge de travail. Par exemple, vous pouvez redimensionner le nombre de processeurs virtuels et la quantité de mémoire d'une instance, ou modifier les indicateurs de base de données.
Les opérations de maintenance AlloyDB sont conçues pour ne pas perturber le fonctionnement. Pour ce faire, nous préparons des serveurs de remplacement et les échangeons rapidement avec les serveurs actifs lorsqu'ils sont prêts. Pendant ce processus, les instances principales connaissent généralement un temps d'arrêt de moins d'une seconde, tandis que les pools de lecture restent disponibles en continu. Toutes les connexions actives à la base de données sont momentanément interrompues, mais vous pouvez continuer à utiliser votre base de données normalement tout au long du processus.
Si vous souhaitez appliquer une mise à jour immédiatement, même si cela signifie une période d'indisponibilité plus longue, vous pouvez utiliser le flag de base de données FORCE_APPLY.
AlloyDB AI
AlloyDB AI intègre une suite de fonctionnalités d'IA et de ML directement dans votre base de données AlloyDB. Par le passé, la création d'applications d'IA nécessitait des pipelines de données et des processus ETL complexes pour transférer les données des bases de données opérationnelles vers des plates-formes d'IA/ML spécialisées. Cette méthode a entraîné des problèmes tels qu'une latence accrue lors du transfert de données, des frais opérationnels plus élevés pour la gestion de différents systèmes et un stockage en double. En intégrant des fonctionnalités d'IA directement dans la base de données, AlloyDB/AI élimine la nécessité de déplacer de grandes quantités de données externes.
Pour faciliter le développement d'applications d'IA, AlloyDB/AI fournit les extensions suivantes :
vector(version depgvectorpersonnalisée pour AlloyDB AI) : stocke et indexe les embeddings vectoriels pour la recherche sémantique. Permet d'exécuter des requêtes hybrides et des recherches de similarité. Pour commencer à utiliser la recherche vectorielle, consultez Effectuer une recherche vectorielle.alloydb_scann: fournit une recherche approximative du voisin le plus proche hautes performances en implémentant un index des voisins les plus proches très efficace basé sur l'algorithme ScaNN. Pour en savoir plus, consultez Créer un index ScaNN.google_ml_integration: fournit l'accès aux fonctions d'IA, ce qui permet l'invocation de modèles de ML à partir d'AlloyDB pour des tâches telles que la génération d'embeddings, le classement sémantique, les filtres et les jointures basés sur l'IA, ainsi que la génération et la synthèse de texte. La gestion des points de terminaison de modèle permet d'enregistrer et d'appeler des modèles d'IA, y compris des modèles externes d'OpenAI ou d'Anthropic. Pour en savoir plus, consultez Enregistrer un point de terminaison de modèle et Évaluer les requêtes sémantiques avec des opérateurs d'IA.alloydb_ai_nl: permet d'interagir avec votre base de données en langage naturel. Elle permet aux développeurs d'applications de générer des requêtes SQL précises et sécurisées en réponse aux questions en langage naturel des utilisateurs finaux, ce qui permet aux utilisateurs non SQL d'accéder aux données. Pour en savoir plus, consultez Présentation du langage naturel.
Pour obtenir la liste des cas d'utilisation des fonctionnalités d'AlloyDB AI, consultez Créer des applications d'IA générative.
Compatibilité avec les extensions
AlloyDB est compatible avec un certain nombre d'extensions PostgreSQL populaires. Pour obtenir la liste complète, consultez Extensions de base de données compatibles.
Une alternative auto-hébergée : AlloyDB Omni
Google propose AlloyDB Omni comme alternative à l'exécution d'AlloyDB dans Google Cloud. Cette édition simplifiée et téléchargeable d'AlloyDB vous permet d'exécuter son puissant moteur de base de données dans votre propre environnement de calcul basé sur Linux, où que vous soyez.
Pour en savoir plus, consultez À propos d'AlloyDB Omni.
Étapes suivantes
- Choisissez comment vous connecter à AlloyDB.
Guide de démarrage rapide : créer une base de données et s'y connecter