En esta página, se describe cómo mantener la actualización de los datos en el almacén de columnas del motor de columnas en AlloyDB Omni en un contenedor.
A medida que se agregan, borran o actualizan filas de tablas, el motor de columnas no actualiza de inmediato 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 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 se vuelven no válidos, las mejoras de rendimiento de las consultas que proporciona el motor de columnas se reducen hasta el punto en que se deben actualizar los datos de columnas para recuperar las mejoras de rendimiento de las consultas. Cuando se alcanza este umbral de actualización, el motor de columnas usa un trabajo en segundo plano para actualizar los datos no válidos en el almacén de columnas. De forma predeterminada, el motor de columnas usa un umbral de actualización de 50, lo que indica que un contenido determinado en el almacén de columnas 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, posiblemente, obtener un mejor rendimiento de las consultas continuas 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 quieres que los cambios en una tabla se reflejen en el almacén de columnas lo antes posible después de realizarlos.
Cambia 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
: 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 se marque el contenido para su actualización.
Actualiza 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
: Es una cadena que contiene el nombre de la tabla o la vista materializada. Si la tabla o la vista están en un esquema que no es public
, especifica el nombre del esquema con el formato SCHEMA_NAME.TABLE_NAME
, por ejemplo, myschema.mytable
.