Configura el motor de columnas en AlloyDB Omni

Selecciona una versión de la documentación:

En esta página, se describe cómo habilitar o inhabilitar el motor de columnas en un clúster de base de datos de AlloyDB Omni. También se explica cómo configurar un tamaño inicial adecuado para su almacén de columnas.

Para obtener una descripción general conceptual del motor de columnas de AlloyDB, consulta la descripción general del motor de columnas de AlloyDB Omni.

Habilita el motor de columnas

Para usar el motor de columnas en una instancia, establece la marca google_columnar_engine.enabled de la instancia en on.

Un solo servidor

Para configurar google_columnar_engine.enabled como on, sigue estos pasos:

  1. Ejecuta el comando ALTER SYSTEM de PostgreSQL:

    ALTER SYSTEM SET google_columnar_engine.enabled = 'on'
    
  2. Si deseas ajustar la configuración del motor columnar, sigue las instrucciones de la siguiente sección antes de reiniciar el servidor de la base de datos. De lo contrario, completa el siguiente paso para reiniciar el servidor de la base de datos ahora.

  3. Para que los cambios en los parámetros de configuración surtan efecto, reinicia el servidor de la base de datos:

     sudo systemctl restart alloydbomni18

Configura el tamaño del almacén de columnas

Mientras el motor de columnas está habilitado en una instancia, AlloyDB Omni asigna una parte de la memoria de la instancia para almacenar sus datos de columnas. Dedicar RAM de alta velocidad a tu almacén de columnas verifica que AlloyDB Omni pueda acceder a los datos de columnas lo más rápido posible.

La memoria y la caché de almacenamiento juntas representan la capacidad general del motor de columnas.

Cómo configurar la memoria

Puedes establecer la asignación en un tamaño fijo con la marca google_columnar_engine.memory_size_in_mb.

Un solo servidor

Para establecer la marca google_columnar_engine.memory_size_in_mb en una instancia, haz lo siguiente:

  1. Para configurar la memoria, ejecuta el comando ALTER SYSTEM de PostgreSQL:

    ALTER SYSTEM SET google_columnar_engine.memory_size_in_mb = COLUMN_MEMORY_SIZE;
    

    Reemplaza COLUMN_MEMORY_SIZE por el nuevo tamaño del almacenamiento de la columna, en megabytes, por ejemplo, 256.

  2. Para que los cambios en los parámetros de configuración surtan efecto, reinicia el servidor de la base de datos:

    sudo systemctl restart alloydbomni18

Configura la caché de almacenamiento

Un solo servidor

Dispositivos compartidos o dedicados

Puedes configurar la caché de almacenamiento del motor de columnas en dispositivos dedicados o compartidos.

Aprovisiona y activa el directorio de caché

En los dispositivos dedicados, debes aprovisionar discos, crear un sistema de archivos, activar el directorio de caché en una ruta de acceso del host (por ejemplo, /var/lib/postgresql/18/data/columnar_cache) y asegurarte de que tenga permisos de escritura para el usuario postgres.

Habilita la caché de almacenamiento columnar
  1. Ejecuta ALTER SYSTEM para configurar la ruta de acceso y el tamaño del directorio de caché:

    ALTER SYSTEM SET google_columnar_engine.omni_storage_cache_directory = 'CACHE_DIR_PATH';
    ALTER SYSTEM SET google_columnar_engine.storage_cache_size = STORAGE_CACHE_SIZE;
    

    Reemplaza lo siguiente:

    • CACHE_DIR_PATH: Es la ruta de acceso al directorio de caché (por ejemplo, /var/lib/postgresql/18/data/columnar_cache).
    • STORAGE_CACHE_SIZE: Es el tamaño de la caché de almacenamiento del motor de columnas, en megabytes.
  2. Reinicia el servidor de la base de datos:

    sudo systemctl restart alloydbomni18

Habilita la unión vectorizada

El motor de columnas tiene una función de unión vectorizada que puede mejorar el rendimiento de las uniones aplicando el procesamiento vectorizado a las consultas aptas.

Después de habilitar la unión vectorizada, el optimizador de consultas de AlloyDB tiene la opción de aplicar el operador de unión vectorizada en lugar del operador de unión hash estándar de PostgreSQL. El optimizador toma esta decisión comparando el costo de ejecutar la consulta con cada método.

Para habilitar la unión vectorizada en una instancia, establece la marca google_columnar_engine.enable_vectorized_join de la instancia en on.

Para establecer esta marca en una instancia, ejecuta el comando ALTER SYSTEM de PostgreSQL:

ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';

De forma predeterminada, AlloyDB Omni asigna un subproceso a la función de unión vectorizada. Puedes aumentar la cantidad de subprocesos disponibles para esta función configurando la marca google_columnar_engine.vectorized_join_threads en un valor mayor. El valor máximo es cpu_count * 2.

Actualiza manualmente tu motor de columnas

De forma predeterminada, cuando el motor de columnas está habilitado, actualiza el almacén de columnas en segundo plano.

Para actualizar manualmente el motor de columnas, ejecuta la siguiente consulta en SQL:

SELECT google_columnar_engine_refresh(relation =>'TABLE_NAME');

Reemplaza TABLE_NAME por el nombre de la tabla o la vista materializada que deseas actualizar de forma manual.

Inhabilita el motor de columnas

Para inhabilitar el motor de Columbar en una instancia, establece la marca google_columnar_engine.enabled en off.

Un solo servidor

Para configurar google_columnar_engine.enabled como off, sigue estos pasos:

  1. Ejecuta el comando ALTER SYSTEM de PostgreSQL:
ALTER SYSTEM SET google_columnar_engine.enabled = 'off'
  1. Para que los cambios en los parámetros de configuración surtan efecto, reinicia el servidor de la base de datos:

    sudo systemctl restart alloydbomni18

¿Qué sigue?