Compartir a través de


Aceleración de consultas de Azure Data Lake Storage

La aceleración de consultas permite tanto a las aplicaciones como a los marcos de análisis optimizar considerablemente el procesamiento de datos mediante la recuperación solo de los datos necesarios para realizar una operación determinada. Esto reduce el tiempo y la potencia de procesamiento necesarias para obtener información crítica sobre los datos almacenados.

Información general

La aceleración de consultas acepta predicados de filtrado y proyecciones de columnas, que permiten a las aplicaciones filtrar filas y columnas en el momento en que se leen los datos desde el disco. Solo los datos que cumplen las condiciones de un predicado se transfieren a través de la red a la aplicación. Esto reduce la latencia de red y el costo de proceso.

Puede usar SQL para especificar los predicados de filtro de fila y las proyecciones de columna en una solicitud de aceleración de consultas. Una solicitud solo procesa un archivo. Por lo tanto, no se admiten características relacionales avanzadas de SQL, como combinaciones y grupos por agregados. La aceleración de consultas admite datos con formato CSV y JSON como entrada para cada solicitud.

La característica de aceleración de consultas no se limita a Data Lake Storage (cuentas de almacenamiento que tienen habilitado el espacio de nombres jerárquico en ellos). La aceleración de consultas es compatible con los blobs de las cuentas de almacenamiento que no tienen habilitado un espacio de nombres jerárquico. Esto significa que puede lograr la misma reducción en la latencia de red y los costos de proceso cuando se procesan los datos que ya se han almacenado como blobs en cuentas de almacenamiento.

Para obtener un ejemplo de cómo usar la aceleración de consultas en una aplicación cliente, consulte Filtrado de datos mediante la aceleración de consultas de Azure Data Lake Storage.

Flujo de datos

En el diagrama siguiente se muestra cómo una aplicación típica usa la aceleración de consultas para procesar datos.

Introducción a la aceleración de consultas

  1. La aplicación cliente solicita datos de archivo especificando predicados y proyecciones de columna.

  2. La aceleración de consultas analiza la consulta SQL especificada y distribuye el trabajo para analizar y filtrar los datos.

  3. Los procesadores leen los datos del disco, analizan los datos mediante el formato adecuado y, a continuación, filtran los datos aplicando los predicados y proyecciones de columna especificados.

  4. La aceleración de consultas combina las particiones de respuesta para devolver el flujo a la aplicación cliente.

  5. La aplicación cliente recibe y analiza la respuesta transmitida. La aplicación no necesita filtrar ningún otro dato y puede aplicar directamente el cálculo o transformación deseados.

Mejor rendimiento a un costo menor

La aceleración de consultas optimiza el rendimiento al reducir la cantidad de datos que la aplicación transfiere y procesa.

Para calcular un valor agregado, las aplicaciones suelen recuperar todos los datos de un archivo y, a continuación, procesar y filtrar los datos localmente. Un análisis de los patrones de entrada y salida para cargas de trabajo de análisis revela que las aplicaciones normalmente solo requieren 20% de los datos que leen para realizar cualquier cálculo determinado. Esta estadística es cierta incluso después de aplicar técnicas como la poda de particiones. Esto significa que el 80 % de los datos se transfieren a través de la red, se analizan y se filtran mediante las aplicaciones innecesariamente. Este patrón, diseñado para quitar datos innecesarios, incurre en un costo de proceso significativo.

Aunque Azure cuenta con una red líder del sector, tanto en términos de rendimiento como de latencia, la transferencia innecesaria de datos a través de esa red sigue siendo costosa para el rendimiento de las aplicaciones. Al filtrar los datos no deseados durante la solicitud de almacenamiento, la aceleración de consultas elimina este costo.

Además, la carga de CPU necesaria para analizar y filtrar datos innecesarios requiere que la aplicación aprovisione un mayor número y máquinas virtuales más grandes para poder realizar su trabajo. Al transferir esta carga de proceso a la aceleración de consultas, las aplicaciones pueden obtener ahorros significativos en los costos.

Aplicaciones que pueden beneficiarse de la aceleración de consultas

La aceleración de consultas está diseñada para marcos de análisis distribuidos y aplicaciones de procesamiento de datos.

Los marcos de análisis distribuidos, como Apache Spark y Apache Hive, incluyen una capa de abstracción de almacenamiento dentro del marco de trabajo. Estos motores también incluyen optimizadores de consultas que pueden incorporar conocimiento de las funcionalidades del servicio de E/S subyacente al determinar un plan de consulta óptimo para las consultas de usuario. Estos marcos comienzan a integrar la aceleración de consultas. Como resultado, los usuarios de estos marcos ven una latencia de consulta mejorada y un menor costo total de propiedad sin tener que realizar ningún cambio en las consultas.

La aceleración de consultas también está diseñada para aplicaciones de procesamiento de datos. Normalmente, estos tipos de aplicaciones realizan transformaciones de datos a gran escala que podrían no dar lugar directamente a información de análisis, por lo que no siempre usan marcos de análisis distribuidos establecidos. Estas aplicaciones suelen tener una relación más directa con el servicio de almacenamiento subyacente para que puedan beneficiarse directamente de características como la aceleración de consultas.

Para obtener un ejemplo de cómo una aplicación puede integrar la aceleración de consultas, consulte Filtrado de datos mediante la aceleración de consultas de Azure Data Lake Storage.

Precios

Debido al aumento de la carga de proceso dentro del servicio Azure Data Lake Storage, el modelo de precios para usar la aceleración de consultas difiere del modelo de transacción normal de Azure Data Lake Storage. La aceleración de consultas cobra un costo por la cantidad de datos examinados, así como un costo por la cantidad de datos devueltos al autor de la llamada. Para más información, consulte Precios de Azure Data Lake Storage.

A pesar del cambio en el modelo de facturación, el modelo de precios de la aceleración de consultas está diseñado para reducir el costo total de propiedad de una carga de trabajo, dada la reducción de los costos de VM mucho más caros.

Pasos siguientes