Datos y documentos

Algeon incorpora algoritmos de GPU en consultas SQL sobre DataFusion

El motor experimental Algeon integra NVIDIA cuGraph, cuVS y cuML con Apache DataFusion para ejecutar tareas de grafos, vectores y ML dentro de SQL estándar.

Un rack de servidores conectado a un cubo de datos con circuitos luminosos.
Ilustración generada para este artículo

Traducido automáticamente del original en inglés.

El usuario de GitHub algeon-dev ha lanzado Algeon, un motor de consultas experimental que ejecuta análisis acelerados por GPU directamente dentro de sentencias SQL. Construido sobre Apache DataFusion, la herramienta permite a los desarrolladores combinar operaciones relacionales con algoritmos avanzados de las bibliotecas cuGraph, cuVS y cuML de NVIDIA sin necesidad de exportar datos a pipelines de procesamiento separados.

Qué ocurrió

Algeon introduce un método para ejecutar cargas de trabajo analíticas complejas, como recorridos de grafos y búsquedas de similitud vectorial, utilizando sintaxis SQL estándar. El proyecto permite que estos cálculos intensivos se realicen in-process, manteniendo los datos intermedios en la memoria de la GPU entre las distintas etapas de una consulta. Este enfoque busca simplificar la creación de pipelines ad-hoc para datos lakehouse al eliminar la necesidad de scripts de exportación externos o herramientas de orquestación especializadas.

La versión incluye varios ejemplos prácticos que demuestran sus capacidades. Un caso destacado implica ejecutar Personalized PageRank sobre 45,6 millones de aristas de citas para analizar papers académicos. El sistema calcula puntuaciones en la GPU y luego utiliza SQL para unir estas puntuaciones con los títulos de los papers, filtrando referencias específicas como BERT. Otro ejemplo utiliza el dataset MerRec para realizar análisis de campañas de audiencia, encadenando cálculos de afinidad de grafos, búsquedas de vecinos más cercanos y predicciones de modelos forestales en un único flujo de trabajo.

Cómo funciona

Algeon funciona como una extensión de Apache DataFusion, un framework modular de ejecución de consultas. Cuando se envía una consulta mediante SQL, DataFrames de DataFusion o Arrow Flight SQL, la regla del optimizador físico de Algeon identifica fragmentos de plan que pueden ejecutarse en la GPU. Reemplaza estos candidatos por ejecución GPU in-process utilizando bibliotecas de NVIDIA, mientras que las operaciones no compatibles continúan ejecutándose en la ruta de CPU. Los resultados se devuelven como lotes estándar de Arrow, garantizando la compatibilidad con los ecosistemas de datos existentes.

El motor admite tres familias principales de algoritmos a través de funciones de tabla definidas por el usuario (UDTFs). Las operaciones de grafos aprovechan cuGraph, las tareas de similitud vectorial usan cuVS y la inferencia de machine learning depende de cuML. Estas funciones aceptan entradas de subconsultas y devuelven sus salidas a uniones, agregaciones o pasos algorítmicos posteriores dentro de la misma sentencia SQL. Este diseño permite que las relaciones intermedias permanezcan en la memoria del dispositivo, reduciendo la sobrecarga de transferencia de datos entre CPU y GPU.

Detalles clave

  • Algeon está construido sobre Apache DataFusion e integra NVIDIA cuGraph, cuVS, cuML y cuDF.
  • Las consultas pueden enviarse mediante SQL, DataFrames de DataFusion o un servidor Arrow Flight SQL.
  • El motor mantiene los resultados intermedios en la memoria de la GPU durante los fragmentos de plan compatibles para minimizar la latencia.
  • Las limitaciones actuales incluyen conjuntos de trabajo mayores que la memoria de una sola GPU y fuentes distintas de Parquet.
  • El proyecto está licenciado bajo Apache License 2.0, con algunos datasets de demostración bajo CC BY-NC 4.0.
  • La validación de GPU debe ejecutarse localmente, ya que los runners alojados de GitHub Actions no admiten actualmente GPUs de NVIDIA.

Por qué importa

Para ingenieros de software y científicos de datos, Algeon reduce la fricción involucrada en el análisis exploratorio. Tradicionalmente, combinar algoritmos de grafos o búsqueda vectorial con datos relacionales requería mover datos entre múltiples sistemas, escribir código de unión personalizado y gestionar estados complejos. Al incorporar estas capacidades en SQL, Algeon permite a analistas y agentes de IA probar hipótesis rápidamente. Los usuarios pueden cambiar semillas, comparar cohortes y aplicar controles utilizando estructuras de consulta familiares, facilitando el descubrimiento de "desconocidos desconocidos" en grandes conjuntos de datos.

Sin embargo, el proyecto está marcado explícitamente como experimental. Las APIs y el comportamiento de las consultas pueden cambiar de forma incompatible, y aún no se garantiza la estabilidad. Se recomienda a los desarrolladores comparar las salidas con resultados de referencia confiables antes de depender de ellas para decisiones de producción. La falta de soporte para índices vectoriales o modelos de larga vida útil también significa que es más adecuado para análisis ad-hoc que para servir recomendaciones en tiempo real a escala. A pesar de estas restricciones, ofrece un camino prometedor para simplificar el análisis acelerado por GPU en aplicaciones intensivas en datos.

Qué puedes hacer

  • Prueba la imagen del servidor usando Docker con el comando docker run --rm --gpus all -p 127.0.0.1:50051:50051 -v "$PWD:/data:ro" ghcr.io/algeon-dev/algeon-server.
  • Revisa los ejemplos SQL proporcionados para Personalized PageRank y análisis de campañas de audiencia para entender los patrones de sintaxis.
  • Verifica que tu hardware cumple los requisitos de Linux y GPU de NVIDIA antes de intentar compilaciones locales.
  • Integra Algeon en una aplicación Rust siguiendo la guía de sesión de DataFusion para la configuración de dependencias.
  • Compara las salidas de las consultas contra resultados de referencia conocidos para tener en cuenta el estado experimental actual del motor.
  • Supervisa la hoja de ruta del proyecto para actualizaciones sobre integraciones de catálogos lakehouse y mejoras de estabilidad.
  • #sql
  • #gpu
  • #datafusion
  • #analytics
  • #nvidia

Herramientas de la Tienda de Bytechap

$89

DocBento

Gestión documental autoalojada que lee cada escaneo y responde con citas de página.

Demo en vivo

Seguir leyendo

Todos los artículos