DuckDB 2.0 Alpha : cette version promet d’analyser vos données jusqu’à 3 fois plus vite 

DuckDB 2.0 n’est pas encore officiellement disponible. Il est attendu pour cet automne. Mais sa version Alpha commence déjà à montrer ce qu’elle a sous le capot. Les premiers essais révèlent notamment une nette accélération pour les utilisateurs qui interrogent des fichiers stockés sur Amazon S3. 

Pour ceux qui ne le savent pas, DuckDB est un moteur de base de données analytique. Il permet d’interroger et d’analyser rapidement de gros volumes de données, notamment des fichiers CSV ou Parquet. Ce, sans avoir besoin d’un serveur de base de données classique. 

Il peut aussi travailler directement avec des données stockées dans le cloud, comme celles d’Amazon S3. Ce qui le rend particulièrement pratique pour les usages liés au Big Data.

DuckDB 2.0 Alpha: qu’est-ce qui change ?

Le changement se trouve surtout dans la manière dont le moteur gère les données. Jusqu’à présent, le téléchargement depuis le réseau et le traitement par le processeur pouvaient se retrouver en concurrence. 

Avec DuckDB 2.0 Alpha, l’exécution a été revue afin de mieux séparer ces deux étapes. Le réseau peut donc continuer à récupérer les données pendant que le processeur travaille sur celles déjà disponibles. 

Ce qui est particulièrement intéressant lorsque les requêtes portent sur de nombreux fichiers. MotherDuck a par exemple réalisé des tests sur un ordinateur portable relié à une connexion Internet domestique.

La plateforme a notamment placé sur Amazon S3 trente fichiers Parquet d’environ 1 Mo chacun. Puis, elle a exécuté la même lecture avec DuckDB 1.5.5 et DuckDB 2.0 Alpha. 

Et ce dernier aurait traité certains ensembles de fichiers Parquet et CSV deux à trois fois plus rapidement. La version active également par défaut une fonction de lecture anticipée. 

En clair, le moteur commence à récupérer certaines données avant d’en avoir immédiatement besoin. Une façon assez simple de réduire les temps morts lors de l’exécution des requêtes. Cette option peut toutefois être désactivée pour comparer les performances avec l’ancienne version dans des conditions similaires. 

Mais il y a un mais

DuckDB 2.0 Alpha est rapide. Trois fois plus rapide. Les performances ne seront pour autant pas multipliées par trois. Voyez-vous, le test de MotherDuck avec trente petits fichiers Parquet passe seulement de 3,7 à 3,3 secondes. 

L’I/O asynchrone masque bien la latence lorsque DuckDB peut télécharger plusieurs gros blocs à l’avance. Mais il ne supprime pas le coût des multiples allers-retours nécessaires pour ouvrir une multitude de minuscules fichiers. 

En clair, DuckDB 2.0 ne rend pas magiquement tous les data lakes trois fois plus rapides. L’organisation des données reste déterminante. DuckDB recommande d’ailleurs généralement des fichiers Parquet compris entre 100 Mo et 10 Go, plutôt que des milliers de fichiers minuscules. 

Quoi qu’il en soit, les performances ne sont pas le seul changement attendu. DuckDB 2.0 ajoute également plusieurs fonctions SQL qui peuvent intéresser les utilisateurs confrontés à des traitements plus complexes. Les CTE récursives font notamment leur apparition, tout comme le type de données VARIANT.

Pour les utilisateurs qui travaillent directement avec des données dans le cloud, ces évolutions pourraient rendre DuckDB encore plus intéressant. Car des requêtes plus rapides sur S3 signifient potentiellement moins de temps d’attente et, selon les usages, une consommation de ressources réduite. 

Attention toutefois ! Il s’agit encore d’une version alpha. Les résultats obtenus sur un ordinateur portable devront être confirmés avec des charges de travail réelles avant de tirer des conclusions définitives.

ARTICLES SIMILAIRES