Avec l'augmentation constante de la taille des ensembles de données et la complexification du traitement distribué, les flux de travail modernes de traitement des données sont confrontés à des défis de plus en plus importants. De nombreuses organisations constatent que les systèmes traditionnels de traitement des données présentent des lacunes significatives en termes de temps de traitement, de limitations de mémoire et de gestion des tâches distribuées. Dans ce contexte, les data scientists et les ingénieurs consacrent souvent beaucoup de temps à la maintenance du système, plutôt qu'à extraire des informations précieuses des données. Il est clair qu'il existe une forte demande sur le marché pour un outil qui simplifie les processus sans sacrifier les performances.
Récemment, DeepSeek AI a publié Smallpond, un framework de traitement de données léger, basé sur DuckDB et 3FS. Smallpond vise à étendre l'analyse SQL efficace de DuckDB en mémoire à un environnement distribué. En combinaison avec 3FS, un système de fichiers distribué haute performance optimisé pour les SSD modernes et les réseaux RDMA, Smallpond offre une solution pratique pour le traitement de grands ensembles de données, évitant la complexité et les coûts élevés des infrastructures associés aux services à exécution longue durée.
Smallpond possède une conception simple et modulaire, compatible avec Python 3.8 à 3.12. Les utilisateurs peuvent l'installer rapidement via pip et commencer le traitement des données immédiatement. L'un des points forts du framework est la prise en charge du partitionnement manuel des données. Les utilisateurs peuvent partitionner les données en fonction du nombre de fichiers, du nombre de lignes ou du hachage d'une colonne spécifique. Cette flexibilité permet aux utilisateurs d'adapter le traitement à leurs propres données et infrastructures.
Sur le plan technique, Smallpond tire pleinement parti des performances natives des requêtes SQL de DuckDB et s'intègre à Ray pour permettre le traitement parallèle des nœuds de calcul distribués. Cette combinaison simplifie non seulement les opérations d'extension, mais garantit également un traitement efficace des charges de travail entre plusieurs nœuds. De plus, en évitant les services persistants, Smallpond réduit les frais d'exploitation généralement associés aux systèmes distribués.
Lors des tests de performance, Smallpond a excellé dans le benchmark GraySort, triant 110,5 TiB de données en un peu plus de 30 minutes, avec un débit moyen de 3,66 TiB par minute. Ces indicateurs de performance montrent que Smallpond peut répondre aux besoins des organisations qui traitent des données allant de quelques To à plusieurs Po. En tant que projet open source, Smallpond encourage la participation des utilisateurs et des développeurs pour des optimisations et adaptations supplémentaires à divers scénarios d'utilisation.
Smallpond représente une avancée importante dans le traitement distribué des données. En étendant l'efficacité de DuckDB à un environnement distribué et en combinant les capacités de haut débit de 3FS, il fournit aux data scientists et aux ingénieurs un outil pratique. Que ce soit pour le traitement de petits ensembles de données ou l'extension à des opérations de niveau Po, Smallpond est un framework efficace et facile d'accès.
Projet : https://github.com/deepseek-ai/smallpond?tab=readme-ov-file
Points clés :
🌟 Smallpond est un framework de traitement de données léger lancé par DeepSeek AI, basé sur DuckDB et 3FS.
⚙️ Compatible avec Python 3.8 à 3.12, installation rapide et personnalisation flexible du traitement des données.
🚀 Dans le benchmark GraySort, Smallpond a démontré ses capacités de traitement de données de niveau To avec des performances exceptionnelles.