Desplazamiento al rojo del Amazonas es un almacén de datos en la montón rápido, escalable y totalmente administrado que le permite procesar y ejecutar sus complejas cargas de trabajo de descomposición SQL en datos estructurados y semiestructurados. Incluso le ayuda a consentir de forma segura a sus datos en bases de datos operativas, lagos de datos o conjuntos de datos de terceros con un reducido movimiento o copia de datos. Decenas de miles de clientes utilizan Amazon Redshift para procesar grandes cantidades de datos, modernizar sus cargas de trabajo de descomposición de datos y congratular información valiosa a sus usuarios comerciales.
Amazon Redshift continúa liderando la relación precio-rendimiento del almacén de datos (para ver ejemplos, consulte Amazon Redshift continúa su liderazgo en precio-rendimiento, Amazon Redshift: precio más bajo, decano rendimientoy Obtenga un rendimiento de precios hasta 3 veces mejor con Amazon Redshift que con otros almacenes de datos en la montón). El optimizador de consultas reformista de Amazon Redshift es una parte crucial de ese rendimiento líder. El Optimizador de consultas es responsable de encontrar la forma (o plan) más rápida de ejecutar una consulta. Para ello, utiliza estadísticas sobre los datos inmediato con la consulta para calcular el costo de ejecutar la consulta para muchos planes diferentes.
Amazon Redshift tiene funciones autónomas integradas para compendiar estadísticas llamadas descomposición necesario (o descomposición necesario). El descomposición necesario es una operación en segundo plano que se ejecuta automáticamente en tablas de Redshift para sustentar las estadísticas actualizadas. Sin incautación, la colección de estadísticas puede ser costosa desde el punto de panorámica computacional, lo que hace que sea un desafío sustentar las estadísticas actualizadas, especialmente cuando los datos se incorporan continuamente. A medida que los datos se incorporan al almacén de datos de Redshift con el tiempo, las estadísticas podrían volverse obsoletas, lo que a su vez provoca estimaciones de selectividad inexactas, lo que genera planes de consulta subóptimos que afectan el rendimiento de las consultas.
Desafíos con estadísticas obsoletas
Con pulvínulo en el descomposición de la flota de Redshift de las cargas de trabajo de los clientes, descubrimos que la obsolescencia de las estadísticas es un divisor especialmente importante en la estimación de selectividad de predicados con columnas temporales como aquellas con tipos de datos DATE y TIMESTAMP. Esto se debe a las siguientes razones: 1) DATE y TIMESTAMP representan aproximadamente el 11 % de las columnas de predicados en las consultas de la flota de Amazon Redshift (consulte la Figura 1); 2) Más del 40% del barriguita de escaneo de consultas en la flota de Amazon Redshift tiene predicados en columnas DATE o TIMESTAMP; y 3) No es sorprendente que las cargas de trabajo de los clientes tiendan a consultar datos recientes (calientes) con más frecuencia que datos históricos (fríos). Uno de esos patrones de consulta representativos de estas cargas de trabajo de clientes, derivado del en serie de la industria TPC-H punto de remisión analítico, es el próximo:

Figura 1: Métricas de la flota de Amazon Redshift sobre tipos de datos temporales y no temporales
Descripción común de la decisión
Amazon Redshift introdujo una nueva técnica de estimación de selectividad en el emanación del parche de Amazon Redshift P183 (v1.0.75379) para tocar la situación: tener estadísticas actualizadas sobre columnas temporales mejoría los planes de consulta y, por lo tanto, el rendimiento. La nueva técnica captura metadatos estadísticos en tiempo auténtico recopilados durante la ingesta de datos sin incurrir en una sobrecarga computacional adicional. Para consultas con predicados de rango en columnas temporales, el optimizador de consultas utiliza estos metadatos adicionales obtenidos en tiempo de ejecución para complementar las estadísticas existentes, ajustando elásticamente los límites del histograma, lo que lleva a estimaciones de selectividad mejoradas para predicados temporales. Consulte las Figuras 2 y 3 para conocer las mejoras de rendimiento que ofrecen los histogramas elásticos para la estimación de selectividad. Esta optimización del procesamiento de consultas está habilitada de forma predeterminada y no requiere cambios de configuración ni intervención del adjudicatario para obtener los beneficios de la optimización cibernética y el rendimiento mejorado de las consultas.
Evaluación de remisión
Evaluamos la nueva técnica de estimación de selectividad en variaciones de consultas TPC-H. En una variación, la consulta realiza una unión de n vías entre lineitem
pedidos y otras tablas con múltiples predicados, incluso en l_shipdate
.
Cuando las estadísticas de histograma estaban obsoletas, las estimaciones de selectividad de los predicados en l_shipdate
fueron predichos incorrectamente. Esto llevó a un plan de consulta subóptimo con un orden de unión que implicaba grandes redistribuciones de datos de gran densidad de red entre los posibles informáticos del clúster aprovisionado de Amazon Redshift o del conjunto de trabajo sin servidor. Con la nueva técnica de estimación de selectividad, la predicción se volvió mucho más precisa, lo que llevó a un plan de consulta espléndido con un orden de unión que minimizó la redistribución de resultados entre los pasos de unión, lo que resultó en una mejoría del rendimiento que se muestra en la Figura 2.

Figura 2: Rendimiento relativo de la variación de consulta TPC-H (cuanto más bajo, mejor)

Figura 3: Comparación del plan de consulta: antaño de la mejoría (izquierda), a posteriori de la mejoría (derecha)
Conclusión
En esta publicación, cubrimos nuevas optimizaciones de rendimiento en el procesamiento de consultas del almacén de datos de Redshift y cómo las estadísticas de histograma elástico ayudan a mejorar la estimación de selectividad y la calidad común de los planes de consulta para las consultas del almacén de datos de Amazon Redshift en partida de estadísticas de tabla nuevas.
En breviario, Amazon Redshift ahora ofrece un rendimiento de consultas mejorado con optimizaciones como histogramas mejorados para la estimación de selectividad en partida de estadísticas nuevas, basándose en estadísticas de metadatos recopiladas durante la ingesta. Estas optimizaciones están habilitadas de forma predeterminada y los usuarios de Amazon Redshift se beneficiarán con mejores tiempos de respuesta a las consultas para sus cargas de trabajo. Amazon Redshift tiene la tarea de mejorar continuamente el rendimiento y, luego, la relación precio-rendimiento común. La nueva mejoría de estimación de selectividad ya ha mejorado el rendimiento de cientos de miles de consultas de clientes en la flota de Amazon Redshift desde su entrada en la interpretación del parche P183. Vale la pena señalar que esta es una de las muchas mejoras detrás de terreno que realizamos continuamente para sustentar a Redshift como líder de la industria en relación precio-rendimiento.
Le invitamos a probar las numerosas funciones nuevas introducidas en Amazon Redshift inmediato con las nuevas mejoras de rendimiento. Para obtener más información, comuníquese con su equipo de cuentas de AWS para solicitar una consulta gratuita o una demostración de Amazon Redshift. Estarán encantados de brindarle orientación y soporte adicionales para nominar la decisión de descomposición adecuada que satisfaga sus deposición comerciales.
Sobre los autores
roger kim es ingeniero de explicación de software en el equipo de Amazon Redshift y se centra en el rendimiento y la optimización de consultas. Tiene una diploma en Ciencias de la Computación y Matemáticas de la Universidad de Cornell.
Mohammed Alkateb es director de ingeniería en Amazon Redshift. Ayer de unirse a Amazon, Mohammed tenía 12 abriles de experiencia en la industria en optimización de consultas y aspectos internos de bases de datos como colaborador individual y director de ingeniería. Mohammed tiene 18 patentes estadounidenses y publicaciones en áreas industriales y de investigación en conferencias de bases de datos de primer nivel, incluidas EDBT, ICDE, SIGMOD y VLDB. Mohammed tiene un doctorado en Ciencias de la Computación de la Universidad de Vermont y una industria y una diploma en Sistemas de Información de la Universidad de El Cairo.
Meng Chu Cai es ingeniero principal del equipo de Amazon Redshift. Mengchu actualmente trabaja en la optimización de consultas y el rendimiento de consultas del alberca de datos. Incluso dirigió el explicación de funciones del jerga SQL. Mengchu recibió su doctorado en Ciencias de la Computación e Ingeniería de la Universidad de Nebraska Lincoln.
Ravi Animi es líder senior de productos en el equipo de Amazon Redshift y administra varias áreas funcionales de descomposición, datos e inteligencia químico de Amazon Redshift, incluidos descomposición espaciales, descomposición de transmisión, rendimiento de consultas, integración de Spark y táctica comercial de descomposición. Tiene experiencia con bases de datos relacionales, bases de datos multidimensionales, tecnologías de IoT, servicios de infraestructura informática y de almacenamiento y, más recientemente, como fundador de una startup en las áreas de IA y enseñanza profundo. Ravi tiene una doble diploma en Física e Ingeniería Eléctrica de la Universidad de Washington en St. Louis, una Pericia en Ingeniería de Stanford y un MBA de Chicago Booth.