Mantén la actualización de los datos del almacén de columnas en memoria

Selecciona una versión de la documentación:

En esta página, se describe cómo mantener la actualización de los datos en el almacén de columnas del motor columnar en AlloyDB Omni en un contenedor.

A medida que se agregan, borran o actualizan filas de la tabla, el motor columnar no actualiza los datos de la columna de almacenamiento de forma inmediata. En cambio, marca el contenido afectado en el almacén de columnas como no válido, y las consultas se planifican y ejecutan con datos orientados a columnas del almacén de columnas y datos orientados a filas del almacenamiento en caché de filas y de la base de datos.

Con el tiempo, a medida que más y más bloques de datos dejan de ser válidos, las mejoras en el rendimiento de las consultas que proporciona el motor de columnas se reducen hasta el punto en que los datos de columnas deben actualizarse para recuperar las mejoras en el rendimiento de las consultas. Cuando se alcanza este umbral de actualización, el motor columnar usa un trabajo en segundo plano para actualizar los datos no válidos en el almacén de columnas. De forma predeterminada, el motor columnar usa un umbral de actualización del 50%, lo que indica que el contenido determinado en el almacén de columnas se marca para su actualización cuando el 50% de su contenido deja de ser válido. Puedes cambiar este umbral de actualización para ajustar la sobrecarga de la actualización automática y, posiblemente, obtener un mejor rendimiento continuo de las consultas para la carga de trabajo de tu aplicación.

Además, puedes actualizar manualmente los datos de una tabla en el almacén de columnas en cualquier momento. Por lo general, realizas una actualización manual cuando deseas que los cambios en una tabla se reflejen en el almacén de columnas lo antes posible después de realizar los cambios.

Cómo cambiar el umbral de actualización del motor de columnas

Edita el valor de la marca de base de datos google_columnar_engine.refresh_threshold_percentage para cambiar el umbral de actualización del motor de columnas.

    ALTER SYSTEM SET google_columnar_engine.refresh_threshold_percentage=THRESHOLD;

THRESHOLD: Es un valor entero entre 1 y 100. Este valor especifica el porcentaje de bloques de datos en el contenido que deben dejar de ser válidos para que el contenido se marque para su actualización.

Actualiza manualmente los datos de una tabla en el almacén de columnas

Ejecuta la función google_columnar_engine_refresh de SQL para actualizar manualmente los datos de una tabla en el almacén de columnas en memoria.

SELECT google_columnar_engine_refresh(TABLE_NAME);

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 sea public, especifica el nombre del esquema con el formato SCHEMA_NAME.TABLE_NAME, por ejemplo, myschema.mytable.