Configurer le moteur de données en colonnes

Cette page explique comment activer ou désactiver le moteur de données en colonnes sur une instance AlloyDB pour PostgreSQL. Il explique également comment configurer une taille initiale appropriée pour son magasin de colonnes, ainsi que les paramètres de mémoire et de cache de stockage pour des performances optimales.

Pour utiliser le moteur de données en colonnes avec AlloyDB Omni, consultez Activer le moteur de données en colonnes dans AlloyDB Omni.

Chacune de ces actions implique de modifier la valeur d'un indicateur de base de données sur l'une de vos instances AlloyDB. Pour en savoir plus sur la configuration des options de base de données, consultez la section Configurer les options de base de données d'une instance.

Pour obtenir une présentation conceptuelle du moteur de données en colonnes AlloyDB, consultez la section À propos du moteur de données en colonnes AlloyDB.

Activer le moteur de données en colonnes

Pour utiliser le moteur de colonnes sur une instance, définissez l'indicateur google_columnar_engine.enabled de l'instance sur on.

Une fois cette option définie, l'instance redémarre automatiquement.

Pour en savoir plus sur la configuration des options de base de données dans AlloyDB, consultez la section Configurer les options de base de données d'une instance.

Configurer la taille du magasin de colonnes

Lorsque le moteur de données en colonnes est activé sur une instance, AlloyDB alloue une partie de la mémoire de l'instance pour stocker ses données en colonnes. En affectant de la RAM haute vitesse à votre store orienté colonnes, vous vous assurez qu'AlloyDB peut accéder aux données en colonnes aussi rapidement que possible.

La mémoire et le cache de stockage représentent ensemble la capacité globale du moteur de données en colonnes.

Configurer la mémoire pour le moteur de données en colonnes

Si le magasin de colonnes devient plus volumineux que la partie allouée de la mémoire de votre instance, AlloyDB utilise automatiquement la couche de cache sous-jacente de l'instance pour stocker les données de colonnes supplémentaires.

Par défaut, AlloyDB alloue 30% de la mémoire de l'instance au store orienté colonnes et ajuste automatiquement l'allocation totale si vous redimensionnez l'instance. Vous pouvez modifier la mémoire de l'instance jusqu'à 50 % maximum. Pour connaître la taille de mémoire recommandée pour le moteur de données en colonnes de votre instance, consultez la section Recommandations de taille de mémoire pour le magasin de colonnes.

Vous pouvez également définir l'allocation sur une taille fixe et spécifique à l'aide de l'option google_columnar_engine.memory_size_in_mb. Pour que AlloyDB revienne à l'allocation par défaut, supprimez l'indicateur de l'instance.

Pour en savoir plus sur la configuration ou la suppression d'options, consultez la section Configurer les options de base de données d'une instance.

Configurer le cache de stockage pour le moteur de données en colonnes

Le cache de stockage du moteur de données en colonnes est provisionné en fonction du niveau d'instance.

Niveau d'instance Taille du cache du moteur de données en colonnes par défaut
Instance principale Instance répliquée avec accès en lecture
2 vCPU 18,75 Go 37,5 Go
4 vCPU 18,75 Go 37,5 Go
8 vCPU 18,75 Go 37,5 Go
16 vCPU 37,5 Go 37,5 Go
32 vCPU 75 Go 75 Go
64 vCPU 150 Go 150 Go
96 vCPU 300 Go 300 Go
128 vCPU 450 Go 450 Go

L'indicateur google_columnar_engine.storage_cache_size vous permet d'ajuster le cache de stockage du moteur de colonnes, avec les limites des valeurs minimales et maximales indiquées dans le tableau suivant:

Niveau d'instance Taille minimale du cache du moteur de données en colonnes Taille maximale du cache du moteur de données en colonnes
Instance principale Instance répliquée avec accès en lecture
2 vCPU 0 187,5 Go 375 Go
4 vCPU 0 187,5 Go 375 Go
8 vCPU 0 187,5 Go 375 Go
16 vCPU 0 375 Go 375 Go
32 vCPU 0 750 Go 750 Go
64 vCPU 0 1 500 Go 1 500 Go
96 vCPU 0 3 000 Go 3 000 Go
128 vCPU 0 4 500 Go 4 500 Go

Surveiller les données du cache de stockage pour le moteur de données en colonnes

Pour afficher des informations sur le cache de stockage du moteur de colonnes, vous pouvez exécuter l'une des requêtes SQL suivantes.

Requête SQL Description
SELECT google_columnar_engine_storage_cache_used(); Renvoie la taille du cache de stockage du moteur de données en colonnes utilisé.
SELECT google_columnar_engine_storage_cache_available(); Renvoie la taille du cache de stockage du moteur de données en colonnes inutilisé.
SELECT google_columnar_engine_storage_cache_total(); Renvoie la quantité totale de la taille configurée du cache de stockage pour le moteur de données en colonnes.

Activer la jointure vectorisée

Le moteur de données en colonnes dispose d'une fonctionnalité de jointure vectorisée qui peut améliorer les performances des jointures en appliquant le traitement vectorisé aux requêtes éligibles.

Une fois la jointure vectorisée activée, l'outil de planification des requêtes AlloyDB peut appliquer l'opérateur de jointure vectorisée au lieu de l'opérateur de jointure de hachage PostgreSQL standard. Le planificateur prend cette décision en comparant le coût d'exécution de la requête à l'aide de l'une ou l'autre des méthodes.

Pour activer la jointure vectorisée sur une instance, définissez l'indicateur google_columnar_engine.enable_vectorized_join de l'instance sur on.

Pour en savoir plus sur la configuration des options de base de données, consultez la section Configurer les options de base de données d'une instance.

Par défaut, AlloyDB alloue un thread à la fonctionnalité de jointure vectorisée. Vous pouvez augmenter le nombre de threads disponibles pour cette fonctionnalité en définissant l'indicateur google_columnar_engine.vectorized_join_threads sur une valeur plus élevée.

Actualiser manuellement votre moteur de données en colonnes

Par défaut, le moteur de colonnes est configuré pour actualiser automatiquement le magasin de colonnes en arrière-plan lorsqu'il est activé. Vous devrez peut-être actualiser manuellement le magasin de colonnes dans certaines situations, par exemple si l'actualisation automatique n'actualise pas une relation avec un nombre élevé de blocs non valides.

Pour actualiser manuellement le moteur de colonnes, exécutez la requête SQL suivante:

SELECT google_columnar_engine_refresh('TABLE_NAME');

Remplacez TABLE_NAME par le nom de la table ou de la vue matérialisée que vous souhaitez actualiser manuellement.

Désactiver le moteur de données en colonnes

Pour désactiver le moteur de colonne sur une instance, définissez l'indicateur google_columnar_engine.enabled sur off.

Pour en savoir plus sur la configuration des options de base de données dans AlloyDB, consultez la section Configurer les options de base de données d'une instance.

Une fois cette option définie, l'instance redémarre automatiquement.

Résoudre les problèmes liés au moteur de données en colonnes

Si les colonnes ne sont pas renseignées dans le moteur de colonnes, l'une des situations suivantes peut être vraie:

  • Les colonnes que vous souhaitez ajouter incluent un type de données non accepté.

  • Les exigences du moteur de données en colonnes ne sont pas respectées.

Pour trouver l'origine de ce problème, procédez comme suit:

  • Consultez les journaux d'audit de votre instance.

  • Vérifiez que les tables ou les vues matérialisées de notre requête se trouvent dans le moteur de colonnes.

  • Vérifiez l'utilisation du moteur en colonnes à l'aide de l'instruction EXPLAIN.

Étape suivante