Los flujos de trabajo de datos modernos están cada vez más cargados por el creciente tamaños de conjuntos de datos y la complejidad del procesamiento distribuido. Muchas organizaciones encuentran que los sistemas tradicionales luchan con largos tiempos de procesamiento, limitaciones de memoria y gestión de tareas distribuidas de manera efectiva. En este entorno, los científicos e ingenieros de datos a menudo pasan un tiempo excesivo en el mantenimiento del sistema en lugar de extraer información de los datos. La necesidad de una herramienta que simplifique estos procesos, sin sacrificar el rendimiento, es clara.
Deepseek AI lanzó recientemente Smallpond, un marco de procesamiento de datos ligero construido en DuckDB y 3FS. Smallpond tiene como objetivo extender el análisis SQL eficiente en proceso de DuckDB en un entorno distribuido. Al acoplar DuckDB con 3FS, un sistema de archivos distribuido de alto rendimiento optimizado para SSD modernas y redes RDMA, SmallPond proporciona una solución práctica para procesar grandes conjuntos de datos sin la complejidad de los servicios de larga duración o la gastos generales de infraestructura pesada.
Detalles y beneficios técnicos
Smallpond está diseñado para funcionar sin problemas con Python, lo que respalda las versiones 3.8 a 3.12. Su filosofía de diseño se basa en simplicidad y modularidad. Los usuarios pueden instalar rápidamente el marco a través de PIP y comenzar a procesar datos con una configuración mínima. Una característica clave es la capacidad de dividir los datos manualmente. Ya sea partición por recuento de archivos, números de fila o por un hash de columna específica, esta flexibilidad permite a los usuarios adaptar el procesamiento a sus datos e infraestructura particulares.
Bajo el capó, Smallpond aprovecha DuckDB por su sólido rendimiento a nivel nativo en la ejecución de consultas SQL. El marco se integra aún más con Ray para habilitar el procesamiento paralelo en los nodos de cómputo distribuidos. Esta combinación no solo simplifica la escala, sino que también garantiza que las cargas de trabajo se puedan manejar de manera eficiente en múltiples nodos. Además, al evitar servicios persistentes, Smallpond reduce la sobrecarga operativa típicamente asociada con los sistemas distribuidos.
Instalación
Python 3.8 a 3.12 es compatible.
Comienzo rápido
# Download example data
wget https://duckdb.org/data/prices.parquet
import smallpond
# Initialize session
sp = smallpond.init()
# Load data
df = sp.read_parquet("prices.parquet")
# Process data
df = df.repartition(3, hash_by="ticker")
df = sp.partial_sql("SELECT ticker, min(price), max(price) FROM {0} GROUP BY ticker", df)
# Save results
df.write_parquet("output/")
# Show results
print(df.to_pandas())
Rendimiento e ideas
En las pruebas de rendimiento utilizando el punto de referencia de Graysort, Smallpond demostró su capacidad al clasificar 110.5TIB de datos en poco más de 30 minutos, logrando un rendimiento promedio de 3.66TIB por minuto. Estos resultados ilustran cuán efectivamente el marco aprovecha las fortalezas combinadas de DuckDB y 3FS para el cómputo y el almacenamiento. Dichas métricas de rendimiento brindan la seguridad de que Smallpond puede satisfacer las necesidades de las organizaciones que tratan con terabytes a petabytes de datos. La naturaleza de código abierto del proyecto también significa que los usuarios y desarrolladores pueden colaborar en optimizaciones adicionales y adaptar el marco a una variedad de casos de uso.
Conclusión
SmallPond representa un paso adelante medido pero significativo en el procesamiento de datos distribuidos. Aborda los desafíos centrales al extender la eficiencia probada de DuckDB a un entorno distribuido, respaldado por las capacidades de alto rendimiento de 3FS. Con un enfoque en la simplicidad, la flexibilidad y el rendimiento, Smallpond ofrece una herramienta práctica para científicos e ingenieros de datos encargados de procesar grandes conjuntos de datos. Como proyecto de código abierto, invita a contribuciones y una mejora continua de la comunidad, por lo que es una valiosa adición a los modernos kits de herramientas de ingeniería de datos. Ya sea que se administre conjuntos de datos modestos o ampliando las operaciones a nivel de petabyte, Smallpond proporciona un marco robusto que es efectivo y accesible.
Verificar el Repositorio de Github. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, siéntete libre de seguirnos Gorjeo Y no olvides unirte a nuestro Subreddit de 80k+ ml.
Asif Razzaq es el CEO de MarktechPost Media Inc .. Como empresario e ingeniero visionario, ASIF se compromete a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, MarktechPost, que se destaca por su cobertura profunda de noticias de aprendizaje automático y de aprendizaje profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el público.