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
.
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
.
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
.
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
Consultez la liste complète des indicateurs de base de données du moteur de colonnes.
Découvrez la colonnarisation automatique.