Cette page fournit des informations et des solutions recommandées pour les problèmes et questions courants concernant le moteur de données en colonnes AlloyDB pour PostgreSQL.
Vous avez ajouté des colonnes référencées au moteur de données en colonnes, mais votre requête SELECT ne les utilise pas
Description : Pour que vous puissiez utiliser le moteur de données en colonnes, toutes les colonnes référencées dans un fragment de requête, telles que les jointures et les analyses, doivent se trouver dans le store orienté colonnes. Si une colonne référencée ne se trouve pas dans le moteur de données en colonnes, le fragment de requête utilise par défaut le magasin basé sur les lignes.
Dans ce contexte, un fragment de requête est une requête pouvant comporter plusieurs nœuds d'analyse. Par exemple, le fragment de requête peut comporter deux nœuds d'analyse pour une jointure. Un nœud d'analyse peut utiliser un format non colonnaire, tandis qu'un autre nœud d'analyse peut utiliser un format colonnaire. Toutes les colonnes d'un nœud d'analyse (colonnes de filtre et colonnes de projection) doivent être renseignées dans le format en colonnes. De même, une requête peut comporter certaines partitions en colonnes et d'autres non.
Correction recommandée : Pour vérifier que toutes les colonnes référencées se trouvent dans le moteur de données en colonnes, procédez comme suit :
Vérifiez les types de données acceptés.
Assurez-vous qu'AlloyDB est compatible avec tous les types de données des colonnes que vous prévoyez d'utiliser avec le moteur de données en colonnes. Pour en savoir plus, consultez Types de données acceptés. Si AlloyDB n'est pas compatible avec un type de données critique, contactez Cloud Customer Care.
Vérifiez les opérateurs compatibles.
Assurez-vous qu'AlloyDB est compatible avec les opérateurs sur les types de données du moteur de données en colonnes. Pour en savoir plus sur les opérateurs compatibles, consultez Types de requêtes qui bénéficient du moteur de données en colonnes.
Exécutez la commande
EXPLAIN COLUMNAR_ENGINE.Pour identifier et résoudre les problèmes qui empêchent des requêtes spécifiques d'utiliser le moteur de données en colonnes, exécutez la commande
EXPLAIN COLUMNAR_ENGINEsuivante :EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
Vous ne pouvez pas ajouter ni supprimer de tables dans le moteur de données en colonnes
Description : Vous souhaitez ajouter ou supprimer des tables dans le moteur de données en colonnes.
Correction recommandée : Vérifiez vos autorisations utilisateur. Vous ne pouvez ajouter ou supprimer des tables dans le moteur de données en colonnes que si vous disposez de droits de lecture sur la table.
La taille des données en colonnes dépasse la mémoire allouée
Description : Vous rencontrez des problèmes de performances ou de traitement des données lorsque la taille de vos données en colonnes dépasse l'allocation de mémoire pour le moteur de données en colonnes.
Correction recommandée : Pour des performances optimales, utilisez la fonctionnalité de recommandation d'AlloyDB afin d'identifier les tables et les colonnes optimales pour alimenter le moteur de données en colonnes.
Si les tables et les colonnes recommandées dépassent la mémoire physique du moteur de données en colonnes, les données en colonnes excédentaires utilisent une partie de la couche de cache ultrarapide. Les requêtes portant sur les données restantes de la table, qui ne se trouvent pas dans le moteur de données en colonnes, utilisent de manière transparente le store orienté lignes.
Vous pouvez également ajuster l'allocation de mémoire et de cache de stockage du moteur de données en colonnes. Le moteur de données en colonnes est provisionné avec une taille par défaut pour la mémoire et le cache de stockage. Vous pouvez configurer manuellement le cache de mémoire et de stockage. Pour modifier la quantité de mémoire ou de cache de stockage allouée au moteur de données en colonnes, consultez Configurer la mémoire pour le moteur de données en colonnes.