Présentation d'AlloyDB

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é professionnelles 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 les suivantes :

  • Traitement hybride transactionnel et analytique (HTAP) : exécutez des requêtes analytiques complexes sur vos données transactionnelles en direct sans affecter 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'appel de modèle de machine learning directement dans le moteur de base de données, ce qui élimine le besoin de déplacement de données externes à latence élevée.
  • Charges de travail critiques de niveau entreprise : 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 désagrégé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 avec des sauvegardes à la demande et planifiées automatisé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 le 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 de la gestion de l'authentification et des accès (IAM) intégrée Google Cloud .

Administration des bases de données

AlloyDB gère l'infrastructure sous-jacente de votre base de données, comme les sauvegardes automatisées, 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 avez 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é à la Google Cloud console 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 d'administration et des outils de 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é pour les 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 principales et de pool de lecture.
  • Stockage : quantité de données stockées dans la couche de stockage flexible de votre cluster.
  • Mise en réseau : quantité de trafic de sortie réseau 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 de 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érence architecturale par rapport à PostgreSQL standard

PostgreSQL traditionnel associe le moteur de base de données qui traite les requêtes 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é cloud natif qui conserve vos données dans plusieurs zones de disponibilité et évolue automatiquement à mesure que vos données augmentent.

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 :

Schéma montrant un cluster contenant une instance principale et des instances de pool de lecture

  • Cluster : ressource de premier niveau qui sert de conteneur logique pour vos bases de données, vos journaux et d'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 statique privée 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 entre les nœuds d'un pool de lecture.

Principales fonctionnalités

AlloyDB se distingue d'une installation PostgreSQL standard de plusieurs manières, au-delà des avantages de scaling vertical et horizontal inhérents à l'architecture multinœud décrite précédemment. Les sections suivantes examinent 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 possède plusieurs fonctionnalités qui analysent en continu la structure et la fréquence des requêtes gérées par vos instances, en utilisant ces informations pour suggérer des améliorations de schéma ou appliquer automatiquement des optimisations :

  • Un conseiller d'index vous aide à trouver des opportunités d'optimisation de votre schéma de base de données à l'aide de nouveaux index basés sur vos modèles 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 variante adaptative de la fonctionnalité d'autovacuum de données obsolètes de PostgreSQL ajuste automatiquement les paramètres liés au vide pour mieux s'adapter à la forme de votre charge de travail.

  • Les systèmes automatiques de gestion de la mémoire et du stockage tirent parti de l'environnement cloud basé sur Google sur lequel AlloyDB s'exécute, en allouant et en libérant en continu la mémoire et le 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 d'autres points d'accès à haute disponibilité, multizones 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 interrégionale en créant des clusters secondaires dans des régions distinctes Google Cloud. 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 la gestion de l'authentification et des accès Google Cloud (IAM) pour le contrôle des accès. Pour en savoir plus, consultez la section Autorisation.

AlloyDB utilise le système de rôles utilisateur PostgreSQL standard pour l'authentification, en introduisant quelques rôles supplémentaires spécifiques à AlloyDB. Pour en savoir plus, consultez Gérer les rôles utilisateur 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) lors de la création d'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, que vous configurez une programmation de sauvegarde ou que vous effectuez une restauration à partir d'une sauvegarde.

Pour en savoir plus, consultez À propos des clés 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 de modifications que vous effectuez manuellement sur votre cluster ou vos instances pour répondre à l'évolution des demandes de 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 être perturbatrices. Pour ce faire, des serveurs de remplacement sont préparés et rapidement échangés avec les serveurs actifs lorsqu'ils sont prêts. Pendant ce processus, les instances principales connaissent généralement moins d'une seconde d'arrêt, 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 un temps d'arrêt plus long, vous pouvez utiliser l'FORCE_APPLY indicateur de base de données.

AlloyDB AI

AlloyDB AI intègre une suite de fonctionnalités d'IA et de ML directement dans votre base de données AlloyDB. Historiquement, la création d'applications d'IA nécessitait des pipelines de données et des processus ETL complexes pour déplacer 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 due au transfert de données, des frais opérationnels plus élevés liés à 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 le besoin de déplacement de données externes à grande échelle.

Pour faciliter le développement d'applications d'IA, AlloyDB AI fournit les extensions suivantes :

  • vector (version de pgvector personnalisée pour AlloyDB AI) : stocke et indexe les embeddings vectoriels pour la recherche sémantique. Prend en charge l'exécution de requêtes hybrides et de recherches de similarité. Pour commencer à utiliser la recherche vectorielle, consultez Effectuer une recherche vectorielle.
  • alloydb_scann : fournit une recherche approximative des plus proches voisins hautes performances en implémentant un index des plus proches voisins très efficace basé sur l'algorithme ScaNN. Pour en savoir plus, consultez Créer un index ScaNN.
  • google_ml_integration : fournit un accès aux fonctions d'IA, ce qui permet l'appel de modèle 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 l'enregistrement et l'appel de modèles d'IA, y compris les 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.

Alternative auto-hébergée : AlloyDB Omni

Au lieu d'exécuter AlloyDB dans Google Cloud Google, vous pouvez utiliser AlloyDB Omni. 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.

Étape suivante