En fonction de votre charge de travail, vous pouvez ajouter manuellement des colonnes au column store ou supprimer tout ou partie des colonnes d'une table ou d'une vue matérialisée du column store. L'évaluation des requêtes utilise automatiquement les données en colonnes stockées pour répondre aux requêtes.
Lorsque vous choisissez les tables, les vues matérialisées et les colonnes à ajouter au column store, tenez compte de la taille du column store et de la forme de la charge de travail. Il est recommandé de sélectionner les grandes tables ou vues qui sont fréquemment analysées. Dans ces tables ou vues, identifiez les index volumineux non uniques utilisés par la charge de travail OLAP. Vous pouvez ajouter les colonnes de ces index au column store et éventuellement supprimer les index, ce qui élimine le coût de performance associé à leur maintenance sur l'instance principale.
Utilisez l'une des méthodes suivantes pour gérer le contenu du magasin de colonnes du moteur en colonnes :
- Gérer le contenu du column store en modifiant les indicateurs de base de données
- Gérer le contenu du column store à l'aide de fonctions SQL
Pour savoir quels types de données et sources de données vous pouvez utiliser lorsque vous ajoutez des tables, des colonnes et des vues matérialisées au column store, consultez Données que vous pouvez ajouter au column store.
Gérer le contenu du column store en modifiant les options de base de données
Vous pouvez gérer manuellement le contenu du column store en mettant à jour le flag de base de données google_columnar_engine.relations
. L'indicateur comporte une seule valeur qui spécifie toutes les sources de données de votre column store. Lors du redémarrage, les colonnes spécifiées dans cet indicateur sont automatiquement renseignées dans le column store.
Vous pouvez utiliser cet indicateur avec auto-columnarization. Si le moteur columnar dispose de mémoire après avoir rempli les colonnes que vous spécifiez à l'aide de l'indicateur google_columnar_engine.relations
, l'auto-columnarisation ajoute d'autres colonnes au magasin de colonnes, si nécessaire.
Ajouter des colonnes à l'aide d'options
Pour ajouter des colonnes au column store, définissez l'indicateur google_columnar_engine.relations
d'une instance. Définissez sa valeur sur une liste d'éléments séparés par une virgule, chaque élément spécifiant une liste de colonnes à inclure à partir d'une table spécifique, au format suivant :
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)
Remplacez les éléments suivants :
DATABASE_NAME : base de données contenant les colonnes à ajouter au column store.
SCHEMA_NAME : schéma identifiant les tables ou les vues matérialisées à ajouter au column store (par exemple,
public
).TABLE_NAME : table ou vue matérialisée contenant les colonnes à ajouter au column store.
COLUMN_LIST : liste des colonnes à ajouter au column store, séparées par des virgules.
Pour ajouter toutes les colonnes d'une table ou d'une vue matérialisée, omettez la liste des colonnes :
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
ALTER SYSTEM SET google_columnar_engine.relations='DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)';
Supprimer des colonnes à l'aide d'options
Pour supprimer des colonnes du column store, définissez une nouvelle valeur pour l'indicateur google_columnar_engine.relations
décrit dans Ajouter des colonnes à l'aide d'indicateurs, en omettant les colonnes que vous souhaitez supprimer.
Pour supprimer toutes les colonnes du column store, annulez la définition de l'indicateur google_columnar_engine.relations
de votre instance.
Pour en savoir plus sur la configuration des options de base de données sur une instance, consultez Configurer les paramètres de base de données AlloyDB Omni.
Gérer le contenu du column store à l'aide de fonctions SQL
Vous pouvez gérer manuellement le contenu du column store à l'aide de fonctions SQL.
Ajouter des colonnes à l'aide de fonctions SQL
Exécutez la fonction SQL google_columnar_engine_add
pour ajouter des colonnes au column store.
Cette méthode ajoute les colonnes spécifiées au column store et gère les colonnes uniquement dans le nœud connecté. Les nouvelles colonnes ne sont pas conservées dans le magasin lors des redémarrages d'instance.
Cette méthode ne modifie pas l'indicateur de base de données google_columnar_engine.relations
. L'auto-columnarisation ne tient pas compte des colonnes ajoutées par cette fonction SQL.
Client psql
SELECT google_columnar_engine_add( relation => 'TABLE_NAME', columns => 'COLUMN_LIST' );
-
Remplacez les éléments suivants :
- "TABLE_NAME" : chaîne contenant le nom de la table ou de la vue matérialisée. Si la table ou la vue se trouve dans un schéma autre que
public
, spécifiez le nom du schéma, un point et le nom de la table ou de la vue (par exemple,'myschema.mytable'
). - 'COLUMN_LIST' : chaîne contenant une liste sensible à la casse des noms des colonnes que vous souhaitez ajouter, séparés par une virgule. Si vous souhaitez ajouter toutes les colonnes de la table ou de la vue matérialisée au column store, omettez ce paramètre.
Supprimer des colonnes à l'aide de fonctions SQL
Exécutez la fonction SQL google_columnar_engine_drop
comme suit :
Client psql
SELECT google_columnar_engine_drop( relation => 'TABLE_NAME', columns => 'COLUMN_LIST' );
- "TABLE_NAME" : chaîne contenant le nom de la table ou de la vue matérialisée. Si la table ou la vue se trouve dans un schéma autre que
public
, spécifiez le nom du schéma, un point et le nom de la table ou de la vue (par exemple,'myschema.mytable'
). - 'COLUMN_LIST' : chaîne contenant une liste sensible à la casse des noms des colonnes que vous souhaitez ajouter, séparés par une virgule. Si vous souhaitez ajouter toutes les colonnes de la table ou de la vue matérialisée au column store, omettez ce paramètre.
Vous pouvez utiliser la fonction google_columnar_engine_drop
pour supprimer les colonnes ajoutées en modifiant l'indicateur de base de données google_columnar_engine.relations
. Toutefois, lorsque vous le faites, ces colonnes sont réajoutées au magasin de colonnes lorsque l'instance est redémarrée.