Vistas materializadas automatizadas - Amazon Redshift

Vistas materializadas automatizadas

Las vistas materializadas son una herramienta poderosa para mejorar el rendimiento de las consultas en Amazon Redshift. Para ello, almacenan un conjunto de resultados calculados previamente. Las consultas similares no tienen que volver a ejecutar la misma lógica cada vez, porque pueden recuperar registros del conjunto de resultados existente. Los desarrolladores y analistas crean vistas materializadas después de analizar sus cargas de trabajo para determinar qué consultas se beneficiarían y si vale la pena el costo de mantenimiento de cada vista materializada. A medida que las cargas de trabajo crecen o cambian, estas vistas materializadas se deben revisar para asegurarse de que sigan proporcionando beneficios de rendimiento tangibles.

La característica de Automated Materialized Views (AutoMV) de Redshift proporciona los mismos beneficios de rendimiento que las vistas materializadas creadas por el usuario. Amazon Redshift monitorea continuamente la carga de trabajo mediante machine learning y crea nuevas vistas materializadas cuando son beneficiosas. AutoMV equilibra los costos de crear y mantener actualizadas vistas materializadas con respecto a los beneficios esperados de la latencia de las consultas. El sistema también monitorea los AutoMV creados previamente y los elimina cuando ya no son beneficiosos.

El comportamiento y las capacidades de AutoMV son los mismos que las vistas materializadas creadas por el usuario. Se actualizan de forma automática y progresiva, utilizando los mismos criterios y las mismas restricciones. Al igual que las vistas materializadas que crean los usuarios, Reescritura automática de consultas para utilizar vistas materializadas identifica las consultas que se pueden beneficiar de los AutoMV creados por el sistema. Reescribe automáticamente esas consultas para usar AutoMVS, lo que mejora el rendimiento de las consultas. Los desarrolladores no tienen que revisar las consultas para aprovechar AutoMV.

nota

Las vistas materializadas automatizadas se actualizan de forma intermitente. Las consultas reescritas que utilizan AutoMV siempre devuelven los últimos resultados. Cuando Redshift detecta que los datos no están actualizados, las consultas no se reescriben para leerlas desde vistas materializadas automatizadas. En su lugar, las consultas seleccionan los datos más recientes de las tablas base.

Cualquier carga de trabajo con consultas que se utilizan de forma repetida puede aprovechar AutoMV. Los casos de uso comunes incluyen:

  • Paneles: los paneles se utilizan ampliamente para proporcionar vistas rápidas de indicadores empresariales clave (KPI), eventos, tendencias y otras métricas. A menudo tienen un diseño común con gráficos y tablas, pero muestran distintas vistas para el filtrado o para las operaciones de selección de dimensiones, como desglosar. Los paneles suelen tener un conjunto común de consultas que se utilizan repetidamente con distintos parámetros. Las consultas del panel pueden beneficiarse enormemente de las vistas materializadas automatizadas.

  • Informes: las consultas de informes se pueden programar en varias frecuencias, según los requisitos empresariales y el tipo de informe. Además, pueden ser automatizadas o bajo demanda. Una característica habitual de las consultas de informes es que pueden ser de ejecución prolongada y hacer un uso intensivo de recursos. Con AutoMV, no es necesario volver a calcular estas consultas cada vez que se ejecutan, lo que reduce el tiempo de ejecución de cada consulta y la utilización de recursos en Redshift.

Para desactivar las vistas materializadas automatizadas, se actualiza el grupo de parámetros auto_mv a false. Para obtener más información, consulte Grupos de parámetros de Amazon Redshift en la Guía de administración de clústeres de Amazon Redshift.

Alcance y consideraciones de SQL de las vistas materializadas automatizadas

  • Una vista materializada automatizada se puede iniciar y crear mediante una consulta o subconsulta, siempre que contenga una cláusula GROUP BY o una de las siguientes funciones agregadas: SUM, COUNT, MIN, MAX o AVG. Pero no puede contener ninguna de las siguientes:

    • combinación externa completa, izquierda o derecha

    • Funciones de agregación distintas a SUM, COUNT, MIN, MAX y AVG. (Estas funciones específicas funcionan con la reescritura automática de consultas).

    • Cualquier función agregada que incluya DISTINCT

    • Cualquier función de ventana

    • cláusulas SELECT DISTINCT o HAVING

    • otras vistas materializadas

    No está garantizado que una consulta que cumpla los criterios inicie la creación de una vista materializada automatizada. El sistema determina desde qué candidatos se va a crear una vista, en función de su beneficio esperado para la carga de trabajo y el costo de los recursos que se deben mantener, lo que incluye el costo de actualización del sistema. Cada vista materializada resultante se puede utilizar mediante la reescritura automática de consultas.

  • Aunque AutoMV pueda iniciarse mediante una subconsulta o tramos individuales de operadores de conjunto, la vista materializada resultante no contendrá subconsultas ni operadores de conjunto.

  • Para determinar si AutoMV se utilizó para consultas, consulte el plan EXPLAIN y busque %_auto_mv_% en la salida. Para obtener más información, consulte EXPLAIN.

  • Las vistas materializadas automatizadas no son compatibles con las tablas externas, como los recursos compartidos de datos y las tablas federadas.

Limitaciones de las vistas materializadas automatizadas

A continuación, se indican las limitaciones para trabajar con las vistas materializadas automatizadas:

  • Número máximo de AutoMV: el límite de vistas materializadas automatizadas es de 200 por base de datos en el clúster.

  • Espacio y capacidad de almacenamiento: una característica importante de AutoMV es que se lleva a cabo utilizando ciclos en segundo plano de reserva que contribuyen a lograr que las cargas de trabajo de los usuarios no se vean afectadas. Si el clúster está ocupado o se está quedando sin espacio de almacenamiento, AutoMV cesa su actividad. Concretamente, al 80 % de la capacidad total del clúster no se crean nuevas vistas materializadas automatizadas. Al 90 % de la capacidad total, pueden descartarse para facilitar que las cargas de trabajo de usuario continúen sin deterioro del rendimiento. Para obtener más información sobre la determinación de la capacidad del clúster, consulte STV_NODE_STORAGE_CAPACITY.

Facturación para vistas materializadas automatizadas

La capacidad de optimización automática de Amazon Redshift crea y actualiza vistas materializadas automatizadas. No hay ningún cargo por los recursos informáticos para este proceso. El almacenamiento de las vistas materializadas automatizadas se cobra a la tarifa normal de almacenamiento. Para obtener más información, consulte Precios de Amazon Redshift.

Recursos adicionales de

La entrada de blog que se muestra a continuación proporciona una explicación más detallada sobre las vistas materializadas automatizadas. Detalla cómo se crean, mantienen y eliminan. También explica los algoritmos subyacentes que impulsan estas decisiones: Optimize your Amazon Redshift query performance with automated materialized views (Optimice el rendimiento de las consultas de Amazon Redshift con vistas materializadas automatizadas).

Este vídeo comienza con una explicación de las vistas materializadas y muestra cómo mejoran el rendimiento y conservan los recursos. A continuación, proporciona una explicación detallada de las vistas materializadas automatizadas con una animación del flujo del proceso y una demostración en directo.