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

Sélectionnez une version de la documentation :

Cette page explique comment résoudre les problèmes que vous pouvez rencontrer lorsque vous utilisez le moteur colonnaire AlloyDB Omni. Pour en savoir plus sur le moteur de colonnes, consultez la présentation du moteur de colonnes.

Corriger l'erreur "mémoire partagée insuffisante"

Si vous exécutez AlloyDB Omni sans suffisamment de mémoire partagée pour le moteur de données en colonnes, l'erreur suivante peut s'afficher :

Insufficient shared memory for generating the columnar formats.

Pour résoudre ce problème, spécifiez la quantité de mémoire partagée disponible pour le conteneur AlloyDB Omni.

Linux

  1. Assurez-vous d'avoir déjà installé AlloyDB Omni avec votre répertoire /dev/shm monté sur le conteneur. Pour en savoir plus, consultez Personnaliser votre installation AlloyDB Omni.

  2. Augmentez la taille de la partition /dev/shm de votre machine hôte à l'aide d'une technique telle que la modification de votre fichier /etc/fstab.

macOS

Installez un nouveau conteneur AlloyDB Omni et spécifiez une valeur de mémoire partagée plus élevée pour l'indicateur --shm-size.

Identifier les tables qui sont renseignées dans le moteur en colonnes

Dans la vue g_columnar_relations, créez des requêtes pour trouver les tables présentes dans le moteur en colonnes.

SELECT * FROM g_columnar_relations;

Déterminer la mémoire globale utilisée par le moteur en colonnes

Utilisez la fonction SQL google_columnar_engine_memory_available() pour déterminer la quantité de mémoire utilisée par le moteur en colonnes.

SELECT google_columnar_engine_memory_available();

Déterminer si des colonnes spécifiques ne sont pas renseignées dans le moteur de données en colonnes

Essayez les solutions suivantes :

  • Vérifiez si le moteur de colonnes est compatible avec le type de données de la colonne.
  • Si vous avez récemment ajouté ou supprimé des colonnes dans la table de base, vérifiez que vous avez effectué la même opération dans le moteur de colonnes.

Vérifier si une requête utilise le moteur en colonnes

Dans le plan de requête, vérifiez s'il existe un nœud de planification "Custom Scan (columnar scan)" (Analyse personnalisée (analyse par colonne)).

Rechercher les tâches de maintenance en cours

Interrogez la vue g_columnar_jobs pour trouver les jobs en cours.

SELECT * FROM g_columnar_jobs;

Définir la quantité de ressources utilisées par les activités de maintenance dans le moteur en colonnes

Par défaut, le moteur de colonnes utilise jusqu'à 20 % des ressources de la base de données. Pour augmenter ou diminuer cette utilisation, ajustez le paramètre google_columnar_engine.maintenance_cpu_percentage (GUC). Pour en savoir plus, consultez Ajuster les ressources de processeur pour les tâches de maintenance.