Gérer le contenu du magasin de colonnes à l'aide de la colonnerisation automatique

Sélectionnez une version de la documentation :

Cette page explique comment gérer le contenu du column store du moteur columnar à l'aide de la columnarisation automatique.

En utilisant la columnarisation automatique, le moteur de données en colonnes columnarise automatiquement les données dans le column store et améliore les performances globales de vos charges de travail de traitement transactionnel et analytique hybride (HTAP) et de traitement analytique en ligne (OLAP).

Le moteur de données en colonnes échantillonne une charge de travail d'application et analyse les requêtes pour déterminer quelles colonnes sont de bons candidats hypothétiques à inclure dans le magasin de colonnes. Il remplit également automatiquement les colonnes dans le column store qui offre les meilleurs gains de performances après avoir pris en compte la taille actuelle de la mémoire du column store.

La columnarisation automatique est activée par défaut pour les nouvelles instances. Elle est configurée pour recommander et remplir les colonnes du column store une fois par heure. Vous pouvez exécuter la columnarisation automatique immédiatement ou modifier la planification par défaut (toutes les heures) pour exécuter la columnarisation automatique à l'intervalle de temps de votre choix.

Lorsqu'une instance redémarre, le moteur de données en colonnes efface les colonnes précédemment recommandées et renseignées, puis redémarre la columnarisation automatique.

Une fois que la mise en colonnes automatique a recommandé des colonnes, vous pouvez examiner les résultats des recommandations en affichant les colonnes recommandées.

Exécuter immédiatement l'organisation automatique en colonnes

Vous pouvez exécuter l'auto-columnarisation immédiatement avant l'application du calendrier par défaut.

Pour exécuter immédiatement l'organisation automatique des données en colonnes :

Client psql

SELECT google_columnar_engine_recommend();

Modifier le calendrier par défaut pour la columnarisation automatique

Pour modifier la planification par défaut d'une instance afin d'exécuter l'auto-columnarisation, définissez l'indicateur google_columnar_engine.auto_columnarization_schedule de cette instance sur un nouvel intervalle de temps.

L'indicateur prend la valeur EVERY NUMBER {HOURS|DAYS}. Par exemple : EVERY 12 HOURS ou EVERY 2 DAYS.

Vous pouvez afficher des informations sur la taille des colonnes recommandées, la liste des colonnes recommandées et le calendrier des recommandations.

Pour afficher la liste et la taille des colonnes recommandées, procédez comme suit :

Client psql

SELECT database_name, schema_name, relation_name, column_name, estimated_size_in_bytes FROM g_columnar_recommended_columns;

Pour afficher le calendrier des recommandations de colonnes :

Client psql

SELECT * FROM g_columnar_schedules;

Réinitialiser la mise en colonnes automatique et supprimer les colonnes recommandées

Vous pouvez réinitialiser la mise en colonnes automatique, y compris toutes les données qu'elle a collectées pour générer des recommandations.

Cela supprime les colonnes qui ont été ajoutées automatiquement au magasin de colonnes par la columnarisation automatique.

Pour réinitialiser l'organisation automatique des données en colonnes :

Client psql

SELECT google_columnar_engine_reset_recommendation(drop_columns => true);

Recommander la taille de mémoire du columnstore

Le moteur en colonnes peut recommander la taille de mémoire du magasin de colonnes la plus adaptée, ainsi que la liste des colonnes pour votre charge de travail qui offrent les gains de performances les plus élevés.

Vous pouvez mettre à jour google_columnar_engine.memory_size_in_mb en fonction des recommandations.

Pour afficher la taille de mémoire recommandée pour le column store, procédez comme suit :

Client psql

SELECT * FROM google_columnar_engine_recommend(mode => 'RECOMMEND_SIZE');

Désactiver la columnarisation automatique

Pour désactiver la columnarisation automatique sur une instance de pool de lecture ou principale, définissez l'indicateur google_columnar_engine.enable_auto_columnarization de l'instance sur off.