Según tu carga de trabajo, puedes agregar columnas de forma manual al almacén de columnas o quitar algunas o todas las columnas de una tabla o una vista materializada del almacén de columnas. La evaluación de consultas usa automáticamente los datos de columnas almacenados para responder las consultas.
Cuando elijas qué tablas, vistas materializadas y columnas agregar al almacén de columnas, ten en cuenta el tamaño del almacén de columnas y la forma de la carga de trabajo. Entre los candidatos adecuados para la selección, se incluyen las tablas o vistas grandes que se analizan con frecuencia. Dentro de estas tablas o vistas, identifica los índices grandes no únicos que usa la carga de trabajo de OLAP. Puedes agregar las columnas de estos índices al almacén de columnas y, posiblemente, descartar los índices, lo que eliminará el costo de rendimiento asociado con su mantenimiento en la instancia principal.
Usa uno de los siguientes métodos para administrar el contenido del almacén de columnas del motor de columnas:
- Administra el contenido del almacén de columnas actualizando las marcas de la base de datos
- Administra el contenido del almacén de columnas con funciones de SQL
Consulta Qué datos puedes agregar al almacén de columnas para obtener información sobre los tipos de datos y las fuentes de datos que puedes usar cuando agregas tablas, columnas y vistas materializadas al almacén de columnas.
Administra el contenido del almacén de columnas actualizando las marcas de la base de datos
Puedes administrar el contenido del almacén de columnas de forma manual actualizando la marca de la base de datos google_columnar_engine.relations
. La marca tiene un solo valor que especifica todas las fuentes de datos del almacén de columnas. Durante el reinicio, las columnas especificadas en esta marca se propagan automáticamente en el almacén de columnas.
Puedes usar esta marca junto con auto-columnarization. Si el motor columnar tiene memoria disponible después de completar las columnas que especificas a través de la marca google_columnar_engine.relations
, la columnarización automática agrega más columnas al almacén de columnas, según sea necesario.
Agrega columnas con marcas
Para agregar columnas al almacén de columnas, define una marca google_columnar_engine.relations
de la instancia. Establece su valor en una lista de elementos separados por comas, en la que cada elemento especifica una lista de columnas para incluir de una tabla específica, con este formato:
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)
Reemplaza lo siguiente:
DATABASE_NAME: Es la base de datos que contiene las columnas que se agregarán al almacén de columnas.
SCHEMA_NAME: Es el esquema que identifica las tablas o las vistas materializadas que se agregarán al almacén de columnas, por ejemplo,
public
.TABLE_NAME: Es la tabla o la vista materializada que contiene las columnas que se agregarán al almacén de columnas.
COLUMN_LIST: Es una lista separada por comas de las columnas que se agregarán al almacén de columnas.
Para agregar todas las columnas de una tabla o una vista materializada, omite la lista de columnas:
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
ALTER SYSTEM SET google_columnar_engine.relations='DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)';
Cómo descartar columnas con marcas
Para quitar columnas del almacén de columnas, establece un valor nuevo para la marca google_columnar_engine.relations
que se describe en Cómo agregar columnas con marcas, y omite las columnas que deseas quitar.
Para descartar todas las columnas del almacén de columnas, anula la marca google_columnar_engine.relations
de tu instancia.
Para obtener más información sobre cómo configurar marcas de bases de datos en una instancia, consulta Configura parámetros de bases de datos de AlloyDB Omni.
Administra el contenido del almacén de columnas con funciones de SQL
Puedes administrar el contenido del almacén de columnas de forma manual con funciones de SQL.
Agregar columnas con funciones de SQL
Ejecuta la función de SQL google_columnar_engine_add
para agregar columnas al almacén de columnas.
Este método agrega las columnas especificadas al almacén de columnas y administra las columnas solo en el nodo conectado. Las columnas nuevas no persisten en el almacén durante los reinicios de la instancia.
Este método no cambia la marca de la base de datos google_columnar_engine.relations
. La columnarización automática no tiene en cuenta las columnas agregadas por esta función de SQL.
Cliente psql
SELECT google_columnar_engine_add( relation => 'TABLE_NAME', columns => 'COLUMN_LIST' );
-
Reemplaza lo siguiente:
- "TABLE_NAME": Es una cadena que contiene el nombre de la tabla o la vista materializada. Si la tabla o la vista se encuentran en un esquema que no es
public
, especifica el nombre del esquema, un punto y el nombre de la tabla o la vista; por ejemplo,'myschema.mytable'
. - "COLUMN_LIST": Es una cadena que contiene una lista separada por comas y sensible a mayúsculas y minúsculas de los nombres de las columnas que deseas agregar. Si deseas agregar todas las columnas de la tabla o de la vista materializada al almacén de columnas, omite este parámetro.
Cómo descartar columnas con funciones de SQL
Ejecuta la función de SQL google_columnar_engine_drop
de la siguiente manera:
Cliente psql
SELECT google_columnar_engine_drop( relation => 'TABLE_NAME', columns => 'COLUMN_LIST' );
- "TABLE_NAME": Es una cadena que contiene el nombre de la tabla o la vista materializada. Si la tabla o la vista se encuentran en un esquema que no es
public
, especifica el nombre del esquema, un punto y el nombre de la tabla o la vista; por ejemplo,'myschema.mytable'
. - "COLUMN_LIST": Es una cadena que contiene una lista separada por comas y sensible a mayúsculas y minúsculas de los nombres de las columnas que deseas agregar. Si deseas agregar todas las columnas de la tabla o de la vista materializada al almacén de columnas, omite este parámetro.
Puedes usar la función google_columnar_engine_drop
para quitar las columnas que se agregaron cuando se editó la marca de base de datos google_columnar_engine.relations
. Sin embargo, cuando lo haces, esas columnas se vuelven a agregar al almacén columnar cuando se reinicia la instancia.