Mantener 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 de AlloyDB Omni en un contenedor.

Cuando se añaden, eliminan o actualizan filas de una tabla, el motor columnar no actualiza inmediatamente los datos en el almacén de columnas. En su lugar, marca el contenido afectado en el almacén de columnas como no válido y las consultas se planifican y ejecutan usando tanto los datos orientados a columnas del almacén de columnas como los datos orientados a filas del almacenamiento en caché de filas y de la base de datos.

Con el tiempo, a medida que se invalidan más y más bloques de datos, las mejoras en el rendimiento de las consultas que proporciona el motor columnar se reducen hasta el punto en que los datos columnares deben actualizarse para recuperar esas mejoras. Cuando se alcanza este umbral de actualización, el motor columnar usa un trabajo en segundo plano para actualizar los datos no válidos del almacén de columnas. De forma predeterminada, el motor columnar usa un umbral de actualización de 50, lo que indica que el contenido de la columna se marca para actualizarse 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, de esta forma, mejorar el rendimiento continuo de las consultas de la carga de trabajo de tu aplicación.

Además, puede actualizar manualmente los datos de una tabla en el almacén de columnas en cualquier momento. Normalmente, se realiza una actualización manual cuando se quiere que los cambios de una tabla se reflejen en el almacén de columnas lo antes posible después de hacerlos.

Cambiar el umbral de actualización del motor columnar

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 columnar.

    ALTER SYSTEM SET google_columnar_engine.refresh_threshold_percentage=THRESHOLD;

THRESHOLD: un número entero entre 1 y 100. Este valor especifica el porcentaje de bloques de datos del contenido que deben dejar de ser válidos para que el contenido se marque como que debe actualizarse.

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

Ejecuta la función SQL google_columnar_engine_refresh 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: una cadena que contiene el nombre de la tabla o de la vista materializada. Si la tabla o la vista están en un esquema que no sea public, especifica el nombre del esquema con el formato SCHEMA_NAME.TABLE_NAME (por ejemplo, myschema.mytable).