Logotipo de Zephyrnet

Actualice a la versión 3 del motor Athena para aumentar el rendimiento de las consultas y acceder a más funciones de análisis

Fecha:

Los clientes nos dicen que quieren tener un rendimiento más sólido y costos más bajos para sus aplicaciones y cargas de trabajo de análisis de datos. Los clientes también desean utilizar AWS como una plataforma que hospeda versiones administradas de sus proyectos de código abierto favoritos, que con frecuencia adoptarán las características más recientes de las comunidades de código abierto. Con Atenea amazónica versión 3 del motor, continuamos aumentando el rendimiento, brindando nuevas funciones y ahora entregamos una mejor moneda con el Trino y presto proyectos.

Athena es un servicio de consulta interactivo que facilita el análisis de datos en Servicio de almacenamiento simple de Amazon (Amazon S3) utilizando SQL estándar. Athena no tiene servidor, por lo que no hay infraestructura que administrar y solo paga por las consultas que ejecuta. Clientes como Orca Security, la plataforma de seguridad en la nube sin agente, ya se están dando cuenta de los beneficios de usar la versión 3 del motor Athena con Apache Iceberg.

“En Orca Security, estamos entusiasmados con el lanzamiento de la versión 3 del motor Athena”, dice Arie Teter, vicepresidente de I+D de Orca Security. “Con la versión 3 del motor Athena, podremos consultar nuestro lago de datos masivo a escala de petabytes de manera más eficiente y a un costo menor. Estamos especialmente entusiasmados de poder aprovechar todas las características más recientes de Trino con el nuevo motor de Athena para ofrecer a nuestros clientes la mejor solución de detección de anomalías impulsada por ML”.

En esta publicación, analizamos los beneficios de la versión 3 del motor Athena, los resultados de referencia de rendimiento para diferentes formatos de tabla e información sobre la actualización a la versión 3 del motor.

Nuevas características, más a menudo

Uno de los aspectos más emocionantes de la versión 3 del motor es su nuevo enfoque de integración continua para la gestión de software de código abierto que mejorará la actualidad con los proyectos Trino y PrestoDB. Este enfoque permite a Athena ofrecer un mayor rendimiento y nuevas funciones a un ritmo aún más rápido.

En AWS, estamos comprometidos a brindar el valor del código abierto a nuestros clientes y brindar contribuciones a las comunidades de código abierto. El equipo de desarrollo de Athena está contribuyendo activamente con correcciones de errores y mejoras de seguridad, escalabilidad, rendimiento y características a estas bases de código de fuente abierta, por lo que cualquier persona que use Trino, PrestoDB y iceberg apache puede beneficiarse de las contribuciones del equipo. Para obtener más información sobre el compromiso de AWS con la comunidad de código abierto, consulte Código abierto en AWS.

La versión 3 del motor Athena incorpora más de 50 funciones SQL nuevas y 30 características nuevas del proyecto Trino de código abierto. Por ejemplo, la versión 3 del motor de Athena es compatible con las funciones T-Digest que se pueden usar para aproximar estadísticas basadas en rangos con alta precisión, nuevas funciones geoespaciales para ejecutar consultas geoespaciales optimizadas y nuevas sintaxis de consulta como MATCH_RECOGNIZE para identificar patrones de datos en aplicaciones como detección de fraude y análisis de datos de sensores.

La versión 3 del motor de Athena también le brinda más funciones específicas de AWS. Por ejemplo, hemos trabajado en estrecha colaboración con el Pegamento AWS equipo de catálogo de datos para mejorar el tiempo de recuperación de metadatos de Athena, que explicamos en la sección "Planificación de consultas más rápida con AWS Glue Data Catalog" a continuación.

Para obtener más información sobre las novedades de la versión 3 del motor de Athena, consulte la versión 3 del motor de Athena Mejoras y nuevas funciones.

Tiempo de ejecución más rápido, menor costo

El año pasado, compartimos pruebas comparativas en la versión 2 del motor Athena usando Benchmark TPC-DS consultas a una escala de 3 TB y observó que el rendimiento de las consultas mejoró tres veces y el costo disminuyó en un 70 % como resultado de la reducción de los datos escaneados. Estas mejoras han sido una combinación de mejoras desarrolladas por los equipos de ingeniería de Athena y AWS, así como contribuciones de las comunidades de código abierto de PrestoDB y Trino.

La nueva versión 3 del motor permitirá que Athena continúe brindando mejoras de rendimiento a un ritmo acelerado. Realizamos pruebas comparativas en la versión 3 del motor utilizando consultas comparativas de TPC-DS a una escala de 3 TB y observamos una mejora del 20 % en el rendimiento de las consultas en comparación con la última versión de la versión 2 del motor. decodificadores: como la mejora del rendimiento de las uniones que implican comparaciones con los operadores <,,>=, consultas que contienen cláusulas JOIN, UNION, UNNEST, GROUP BY, consultas que utilizan el predicado IN con una breve lista de constantes. La versión 3 del motor de Athena también proporciona mejoras en la ejecución de consultas que reducen la cantidad de datos escaneados, lo que le brinda ganancias de rendimiento adicionales. Con Athena, se le cobra en función de la cantidad de datos escaneados por cada consulta, por lo que esto también se traduce en costos más bajos. Para obtener más información, consulte Precios de Amazon Athena.

Planificación de consultas más rápida con AWS Glue Data Catalog

La versión 3 del motor de Athena proporciona una mejor integración con AWS Glue Data Catalog para mejorar el rendimiento de la planificación de consultas hasta diez veces. La planificación de consultas es el proceso de enumerar las instrucciones que seguirá el motor de consultas para ejecutar una consulta. Durante la planificación de consultas, Athena utiliza la API de AWS Glue para recuperar diversa información, como metadatos de tablas y particiones, y estadísticas de columnas. A medida que aumenta la cantidad de tablas, también aumenta la cantidad de llamadas a la API de Glue para obtener metadatos, lo que da como resultado una latencia de consulta adicional. En la versión 3 del motor, redujimos esta sobrecarga de la API de Glue, por lo que redujimos el tiempo total de planificación de consultas. Para conjuntos de datos más pequeños y conjuntos de datos con una gran cantidad de tablas, puede ver que el tiempo de ejecución total se ha reducido significativamente porque el tiempo de planificación de consultas es un porcentaje más alto del tiempo de ejecución total.

Figura 1 y XNUMX a continuación se muestran las 10 consultas principales de la evaluación comparativa TPC-DS con la mayor mejora de rendimiento de la versión 2 del motor a la versión 3 del motor según el Reloj en la nube de Amazon métrica para el tiempo de ejecución total. Cada consulta implica unir varias tablas con predicados complejos.

Tiempo de ejecución de consultas más rápido con la integración de Apache Iceberg

La versión 3 del motor Athena proporciona una mejor integración con el formato de tabla Apache Iceberg. Funciones como el particionamiento oculto de Iceberg ahora aumentan las optimizaciones de Athena, como la eliminación de particiones y el filtrado dinámico, para reducir los datos escaneados y mejorar el rendimiento de las consultas en el motor Athena v3. No necesita mantener columnas de partición o incluso comprender el diseño de la tabla física para cargar datos en la tabla y lograr un buen rendimiento de consulta.

Realizamos pruebas comparativas de TPC-DS cargando datos en el formato de tabla Apache Iceberg, con particiones ocultas configuradas, y comparamos el rendimiento entre las versiones 2 y 3 del motor Athena. Figura 2 y XNUMX a continuación se muestra un gráfico de las 10 principales mejoras de consulta, que incluyen predicados complejos. La consulta superior, la consulta 52, tiene cinco predicados WHERE y dos operaciones GROUP BY. En comparación con la versión 2 del motor, la consulta se ejecuta trece veces más rápido con dieciséis veces menos datos escaneados en la versión 3 del motor.

Actualización a la versión 3 del motor Athena

Para usar la versión 3 del motor de Athena, puede crear un nuevo grupo de trabajo o configurar un grupo de trabajo existente y seleccionar la versión 3 del motor de Athena recomendado. Cualquier grupo de trabajo de Athena puede actualizar de la versión 2 del motor a la versión 3 del motor sin interrumpir su capacidad para enviar consultas. . Para obtener más información e instrucciones para cambiar la versión del motor de Athena, consulte Cambiar las versiones del motor Athena.

La versión 3 del motor de Athena tiene paridad de características con todas las funciones principales de la versión 2 del motor de Athena. No es necesario que haga ningún cambio para usar funciones como dinámica poda de particióniceberg apache y apache hudi formatos de tabla, AWS Lake Formation tablas gobernadas integración, y Consulta federada de Athena en la versión 3 del motor. Para obtener más información sobre las características de Athena, consulte Características de Amazon Athena, y la Guía del usuario de Amazon Athena.

La versión 3 del motor de Athena incluye mejoras adicionales para admitir el cumplimiento de ANSI SQL. Esto da como resultado algunos cambios en la sintaxis, el procesamiento de datos y las marcas de tiempo que pueden causar errores al ejecutar las mismas consultas en la nueva versión del motor. Para obtener información sobre los mensajes de error, las causas y las soluciones sugeridas, consulte la versión 3 del motor de Athena LimitacionesRompiendo cambiosCambios en el procesamiento de datosCambios de marca de tiempo.

Para asegurarse de que la actualización de la versión del motor de Athena se realice sin problemas, recomendamos las siguientes prácticas para facilitar el proceso de actualización. Una vez que haya confirmado que el comportamiento de su consulta funciona como espera, puede actualizar de manera segura sus grupos de trabajo de Athena existentes.

  • Revise la versión 3 del motor Athena Limitaciones y Rompiendo cambios y actualice las consultas afectadas.
  • Realice pruebas en preproducción para validar y calificar sus consultas con respecto a la versión 3 del motor de Athena creando un grupo de trabajo de prueba o actualizando un entorno de preproducción existente. Por ejemplo, puede crear un nuevo grupo de trabajo de prueba que ejecute la versión 3 del motor para ejecutar pruebas de integración desde su entorno de preproducción o ensayo, y monitorear fallas o regresiones de rendimiento. Para obtener información sobre las métricas y dimensiones de CloudWatch publicadas por Athena, consulte Supervisión de consultas de Athena con métricas de CloudWatch.
  • Actualice cada consulta en función de las métricas para probar sus consultas en un grupo de trabajo de la versión 3 del motor Athena. Por ejemplo, puede crear un nuevo grupo de trabajo con la versión 3 del motor junto con su grupo de trabajo existente con la versión 2 del motor. Puede enviar un pequeño porcentaje de consultas al grupo de trabajo de la versión 3 del motor, monitorear fallas o regresiones de rendimiento y luego aumentar la cantidad de consultas si tienen éxito y rendimiento. Repita hasta que todas sus consultas se hayan migrado a la versión 3 del motor de Athena.

Con nuestro proceso simplificado de actualización automática del motor, puede configurar grupos de trabajo existentes para que se actualicen automáticamente a la versión 3 del motor sin necesidad de una revisión o intervención manual. El comportamiento de actualización es el siguiente:

  • Si la versión del motor de consulta se establece en Automático, su grupo de trabajo permanecerá en la versión 2 del motor pendiente de la actualización automática, y Athena elegirá cuándo actualizar el grupo de trabajo a la versión 3 del motor. Antes de actualizar un grupo de trabajo, realizamos una serie de pruebas de validación para confirmar que sus consultas se realizan de manera correcta y eficiente en motor versión 3. Debido a que nuestra validación se realiza con el mejor esfuerzo posible, le recomendamos que realice sus propias pruebas de validación para asegurarse de que todas las consultas se ejecuten como se espera.
  • Si la versión del motor de consulta se establece en Manual, tendrá la posibilidad de seleccionar su versión. La opción predeterminada se establece en la versión 3 del motor, con la capacidad de alternar a la versión 2 del motor.

Conclusión

Esta publicación analiza los beneficios de la versión 3 del motor Athena, los resultados de las pruebas comparativas de rendimiento y cómo puede comenzar a usar la versión 3 del motor hoy con un trabajo mínimo. Puede comenzar con la versión 3 del motor Athena utilizando el Consola Athena, el CLI de AWS, o el SDK de AWS. Para obtener más información sobre Athena, consulte el Guía del usuario de Amazon Athena.

¡Gracias por leer esta publicación! Si tienes preguntas sobre la versión 3 del motor Athena, no dudes en dejar un comentario en la sección de comentarios.


Sobre los autores

Blayze Stefaniak es Arquitecto de soluciones sénior para el Programa de estratega técnico que respalda los Programas de clientes ejecutivos en Marketing de AWS. Tiene experiencia trabajando en industrias que incluyen atención médica, automotriz y sector público. Le apasiona descomponer situaciones complejas en algo práctico y accionable. En su tiempo libre, puedes encontrar a Blayze escuchando audiolibros de Star Wars, tratando de hacer reír a sus perros y probablemente hablando en silencio.

Daniel Chen es gerente sénior de productos en Amazon Web Services (AWS) Athena. Tiene experiencia en banca y mercado de capitales de la industria de servicios financieros y trabaja en estrecha colaboración con clientes empresariales que crean lagos de datos y aplicaciones analíticas en la plataforma AWS. En su tiempo libre, le encanta jugar tenis y ping pong.

Theo Tolv es Arquitecto Senior de Big Data en el equipo de Athena. Ha trabajado con datos pequeños y grandes durante la mayor parte de su carrera y, a menudo, pasa el tiempo en Stack Overflow para responder preguntas sobre Athena.

Jack Ye es ingeniero de software del equipo Athena Data Lake and Storage. Es miembro de Apache Iceberg Committer y PMC.

punto_img

Información más reciente

punto_img