Ir al contenido principal

Nuevas mejoras de rendimiento en Databricks SQL

The initial release of Databricks SQL offered significant performance benefits -- up to 6x price/performance -- compared to traditional cloud data warehouses as per the TPC-DS 30 TB scale benchmark

Publicado: September 8, 2021

Producto7 min de lectura

Databricks SQL ya está disponible de forma general en AWS y Azure.


Originalmente anunciado en el Data + AI Summit 2020 Europe, Databricks SQL le permite operar una arquitectura lakehouse multinube que ofrece un rendimiento de almacenamiento de datos con la economía de un data lake. Nuestra visión es darles a los analistas de datos una herramienta simple pero agradable para obtener y compartir información valiosa de su lakehouse usando una IU de SQL especialmente diseñada y un soporte de primer nivel para las herramientas de BI populares.

Este blog es el primero de una serie sobre Databricks SQL cuyo objetivo es cubrir las innovaciones que constantemente aportamos para alcanzar esta visión: rendimiento, facilidad de uso y gobernanza. Este blog cubrirá las optimizaciones de rendimiento recientes como parte de Databricks SQL para:

  • Cargas de trabajo de análisis altamente concurrentes
  • Gestión inteligente de la carga de trabajo
  • Lecturas altamente paralelas
  • Mejora de la recuperación de resultados de inteligencia empresarial (BI) con Cloud Fetch

 <a href="https://www.databricks.com/resources/ebook/rise-data-lakehouse?itm_data=performancedatabrickssql-blog-riselakehousebook" target="_blank">Explore por qué los lakehouses son la arquitectura de datos del futuro</a> con el padre del data warehouse, Bill Inmon.</p><h2>Rendimiento real más allá de las consultas grandes</h2><p>El lanzamiento inicial de Databricks SQL comenzó con importantes beneficios de rendimiento —hasta 6 veces la relación precio/rendimiento— en comparación con los almacenes de datos en la nube tradicionales, según el siguiente benchmark de escala TPC-DS de 30 TB. Teniendo en cuenta que el TPC-DS es un benchmark estándar de la industria definido por los proveedores de data warehousing, estamos muy orgullosos de estos resultados.</p><figure><a href="https://www.databricks.com/wp-content/uploads/2021/08/sql-perf-blog-img-1.png" data-lightbox><img class="size-full wp-image-164737" style="width:512px;" src="https://www.databricks.com/wp-content/uploads/2021/08/sql-perf-blog-img-1.png" alt="La versión inicial de Databricks SQL ofreció importantes beneficios de rendimiento (hasta 6 veces más en la relación precio-rendimiento) en comparación con los almacenes de datos en la nube tradicionales, según el benchmark TPC-DS a escala de 30 TB." height="329"></a><p>&nbsp;Precio/rendimiento de TPC-DS de 30&nbsp;TB (mientras más bajo, mejor)</p></figure><p>Si bien este benchmark simula bien las consultas grandes, como las cargas de trabajo de ETL o las cargas de trabajo de análisis profundo, no cubre todo lo que ejecutan nuestros clientes. Es por eso que, en los últimos meses, hemos trabajado en estrecha colaboración con cientos de clientes para proporcionar un rendimiento rápido y predecible para las cargas de trabajo de análisis de datos reales y las consultas de datos SQL.</p><p>Al abrir oficialmente la versión preliminar hoy, estamos muy emocionados de compartir algunos de los resultados y las mejoras de rendimiento que hemos logrado hasta la fecha.</p><h2>Escenario 1: Cargas de trabajo analíticas de alta simultaneidad</h2><p>Al trabajar con los clientes, notamos que es común que las cargas de trabajo de análisis altamente concurrentes se ejecuten en conjuntos de datos pequeños. Intuitivamente, esto tiene sentido: los analistas suelen aplicar filtros y tienden a trabajar con datos recientes más que con datos históricos. Decidimos acelerar este caso de uso común. Para optimizar la concurrencia, usamos el mismo benchmark TPC-DS con un factor de escala mucho menor (10 GB) y 32 flujos concurrentes. Entonces, tenemos 32 bots que envían consultas de forma continua al sistema, lo que en realidad simula un número mucho mayor de usuarios reales porque los bots no descansan entre la ejecución de consultas.</p><p>Analizamos los resultados para identificar y eliminar los cuellos de botella, y repetimos este proceso varias veces. ¡Cientos de optimizaciones después, mejoramos la concurrencia 3 veces! Databricks SQL ahora supera a algunos de los mejores almacenes de datos en la nube tanto para consultas grandes como para consultas pequeñas con muchos usuarios.</p><figure><a href="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-2.png" data-lightbox><img class="size-large wp-image-163664" style="width:1024px;" src="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-2-1024x588.png" alt="Databricks SQL supera a algunos de los mejores almacenes de datos en la nube, no solo para consultas grandes, sino también para consultas pequeñas con muchos usuarios. " height="588"></a><figcaption>10 GB de consultas TPC-DS por hora con 32 flujos simultáneos (mientras más alto, mejor)</figcaption></figure><h2>Escenario 2: Gestión inteligente de la carga de trabajo</h2><p>Sin embargo, las cargas de trabajo del mundo real no se tratan solo de consultas grandes o pequeñas. Generalmente, incluyen una mezcla de consultas pequeñas y grandes. Por lo tanto, las capacidades de puesta en cola y balanceo de carga de Databricks SQL también deben tener eso en cuenta. Es por eso que Databricks SQL utiliza un sistema de puesta en cola dual que prioriza las consultas pequeñas sobre las grandes, ya que a los analistas generalmente les importa más la latencia de las consultas cortas en comparación con las grandes.</p><figure><a href="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-3.png" data-lightbox><img class="size-full wp-image-163665" style="width:861px;" src="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-3.png" alt="Databricks SQL utiliza un sistema de cola dual que prioriza las consultas pequeñas sobre las grandes, ya que los analistas suelen preocuparse más por la latencia de las consultas cortas frente a las grandes. " height="387"></a><p>&nbsp;Encolamiento y balanceo de carga de consultas mixtas con colas duales</p></figure><h2>Escenario 3: Lecturas altamente paralelas</h2><p>Es común que algunas tablas en un lakehouse estén compuestas por muchos archivos, p. ej., en escenarios de streaming como la ingesta de IoT, cuando los datos llegan de forma continua. ¡En los sistemas heredados, el motor de ejecución puede pasar mucho más tiempo listando estos archivos que ejecutando la consulta! Nuestros clientes también nos dijeron que no quieren sacrificar el rendimiento por la actualidad de los datos.</p><p>Nos enorgullece anunciar la inclusión de E/S asíncrona y altamente paralela en Databricks SQL. Cuando ejecuta una consulta, Databricks lee automáticamente los siguientes bloques de datos del almacenamiento en la nube mientras se procesa el bloque actual. Esto aumenta considerablemente el rendimiento general de las consultas en archivos pequeños (12 veces para archivos de 1 MB) y también en los casos de uso de "datos fríos" (datos que no están en caché).</p><figure><a href="https://www.databricks.com/wp-content/uploads/2021/08/sql-perf-blog-img-2.png" data-lightbox><img class="size-full wp-image-164739" style="width:379px;" src="https://www.databricks.com/wp-content/uploads/2021/08/sql-perf-blog-img-2.png" alt="Databricks diseñó una nueva técnica de escaneo que puede leer automáticamente los siguientes bloques de datos mientras se procesa el bloque actual, lo que aumenta considerablemente el rendimiento general de las consultas en archivos pequeños." height="304"></a><p>Prueba de rendimiento del escenario de lecturas altamente paralelas en archivos pequeños (n.º de filas escaneadas/s) (mientras más alto, mejor)</p></figure><h2>Situación 4: Cómo mejorar la recuperación de resultados de BI con Cloud Fetch</h2><p>Una vez que se computan los resultados de la consulta, el último paso es acelerar la forma en que el sistema entrega los resultados al cliente, que suele ser una herramienta de BI como PowerBI o Tableau. Los data warehouses en la nube heredados suelen recopilar los resultados en un nodo líder (también conocido como driver) y los transmiten de vuelta al cliente. Esto ralentiza en gran medida la experiencia en su herramienta de BI si está recuperando más de unos pocos megabytes de resultados.</p><p>Por eso, hemos reinventado este enfoque con una nueva arquitectura llamada <a href="https://www.databricks.com/blog/2021/08/11/how-we-achieved-high-bandwidth-connectivity-with-bi-tools.html">Cloud Fetch</a>. Para resultados grandes, Databricks SQL escribe los resultados en paralelo en todos los nodos de computación en el almacenamiento en la nube y, a continuación, envía la lista de archivos mediante URL prefirmadas de vuelta al cliente. El cliente entonces puede descargar en paralelo todos los datos desde el almacenamiento en la nube. ¡Nos complace informar una mejora del rendimiento de hasta 10x en escenarios reales de clientes! Estamos trabajando con las herramientas de BI más populares para habilitar esta función automáticamente.</p><figure><a href="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-4.jpg" data-lightbox><img class="size-full wp-image-163666" style="width:1000px;" src="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-4.jpg" alt="Para resultados grandes, el clúster subyacente ahora escribe en paralelo en todos los nodos de computación para el almacenamiento en la nube y, luego, envía la lista de archivos mediante URL firmadas previamente al cliente." height="571"></a><figcaption>“Cloud Fetch permite una conectividad más rápida y con mayor ancho de banda</figcaption></figure><h2>Análisis detallado de Databricks SQL</h2><p>Estos son solo algunos ejemplos de las optimizaciones de rendimiento e innovaciones incorporadas a Databricks SQL para ofrecerle el mejor rendimiento de SQL en su data lake, sin dejar de conservar los beneficios de un enfoque abierto. ¿Y cómo funciona?</p><figure><a href="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-5.jpg" data-lightbox><img class="size-full wp-image-163667" style="width:1241px;" src="https://www.databricks.com/wp-content/uploads/2021/08/Databricks-SQL-Perf-Gain-Blog-img-5.jpg" alt="Databricks SQL bajo el capó (arquitectura)" height="615"></a><figcaption>Databricks SQL por dentro</figcaption></figure><p>El <a href="https://delta.io/">Delta Lake</a> de código abierto es la base de Databricks SQL. Es el formato de almacenamiento de datos abierto que trae lo mejor de los sistemas de almacén de datos a los lagos de datos, con transacciones ACID, linaje de datos, control de versiones, <a href="https://www.databricks.com/blog/2021/05/26/introducing-delta-sharing-an-open-protocol-for-secure-data-sharing.html">intercambio de datos</a>, etc., tanto para datos estructurados, no estructurados como semiestructurados.</p><p>El núcleo de Databricks SQL es <a href="https://www.databricks.com/product/photon">Photon</a>, un nuevo motor vectorizado nativo en Databricks escrito para ejecutar cargas de trabajo de SQL más rápido. Lea nuestro <a href="https://www.databricks.com/blog/2021/06/17/announcing-photon-public-preview-the-next-generation-query-engine-on-the-databricks-lakehouse-platform.html">blog</a> y vea <a href="https://www.databricks.com/session_na21/radical-speed-for-sql-queries-on-databricks-photon-under-the-hood">Radical Speed for SQL Queries on Databricks: Photon Under the Hood</a> para obtener más información.</p><p>Y por último, pero no por ello menos importante, hemos trabajado muy de cerca con una gran cantidad de proveedores de software para asegurarnos de que los equipos de datos (analistas, científicos de datos y desarrolladores de SQL) puedan usar fácilmente sus herramientas preferidas en Databricks SQL. Facilitamos la conexión, el ingreso de datos y la autenticación mediante el inicio de sesión único, a la vez que aumentamos la velocidad gracias a las mejoras de rendimiento de concurrencia y consultas cortas que mencionamos antes.</p><h2>Próximos pasos</h2><p>Este es solo el comienzo, ya que planeamos seguir escuchando y agregando más innovaciones al servicio. Databricks SQL ya está aportando un valor inmenso a muchas organizaciones como <a href="https://youtu.be/Xo1U617T-mU">Atlassian</a> o <a href="https://www.databricks.com/session_na21/sql-analytics-powering-telemetry-analysis-at-comcast">Comcast</a>, ¡y también estamos ansiosos por conocer sus comentarios!</p><p>Si ya es usuario de Databricks, puede empezar a usar Databricks SQL hoy mismo con nuestra guía de introducción para <a href="https://docs.microsoft.com/en-us/azure/databricks/scenarios/sql/">Azure Databricks</a> o <a href="https://docs.databricks.com/sql/get-started/index.html">AWS</a>. Si aún no es usuario de Databricks, visite <a href="https://www.databricks.com/try-databricks">databricks.com/try-databricks</a> para iniciar una prueba gratuita.</p><p>Finalmente, si quieres obtener más información sobre la plataforma Databricks Lakehouse, mira nuestro webinar: <a href="https://www.databricks.com/p/webinar/data-management-the-good-the-bad-the-ugly">La gestión de datos: lo bueno, lo malo y lo feo</a>. Además, ofrecemos <a href="https://www.databricks.com/learn/training/home">capacitación</a> en línea sobre Databricks SQL para obtener experiencia práctica y talleres personalizados. Contacta a tu representante de ventas para obtener más información. Nos encantaría saber cómo usa Databricks SQL y cómo podemos hacer que el BI y el análisis de datos en su data lake sean aún más simples.</p><p><strong>Mira la presentación principal y la demo de DAIS a continuación</strong></p><p><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen frameborder="0" height="315" src="https://www.youtube.com/embed/oz7XNx0YUw8" title="Reproductor de videos de YouTube" width="560"></iframe></p>

No te pierdas ninguna publicación de Databricks.

Suscríbete a nuestro blog y recibe las últimas publicaciones en tu bandeja de entrada.

¿Qué sigue?

Introducing AI/BI: Intelligent Analytics for Real-World Data

Produto

June 12, 2024/11 min de leitura

Apresentando o AI/BI: analítica inteligente para dados do mundo real

Five Simple Steps for Implementing a Star Schema in Databricks With Delta Lake

Produto

September 12, 2024/8 min de leitura

Cinco etapas simples para implementar um esquema de estrela na Databricks com Delta Lake