Accueil Big Data DuckDB marche au rythme de son propre tambour analytique

DuckDB marche au rythme de son propre tambour analytique

0
DuckDB marche au rythme de son propre tambour analytique


(CNuisin/Shutterstock)

L’une des nouvelles bases de données les plus populaires à l’heure actuelle est DuckDB. Avec des millions de téléchargements par mois et deux startups créées autour de lui, le magasin de colonnes open source a atteint des sommets habituellement réservés aux projets plus importants et plus anciens. Mais ce qui est surprenant, c’est comment cela est arrivé là.

De plusieurs façons, CanardDB représente l’antithèse de votre produit typique de gestion du Big Data. Par exemple, au lieu de développer un magasin de données distribué pour gérer le Big Data, comme de nombreux autres l’ont fait, les créateurs de DuckDB ont résisté à la mentalité grégaire et ont opté pour un « nœud unique sans vergogne », selon Hannes Mühleisen, qui a dirigé le groupe Architectures de bases de données qui créé DuckDB au Centrum Wiskunde & Informatica (CWI) à Amsterdam, Pays-Bas.

En tant que chercheur en bases de données ayant passé toute sa vie dans le milieu universitaire, Mühleisen n’aimait pas la difficulté d’utiliser les systèmes modernes de gestion du Big Data pour la science des données et l’analyse avancée, a-t-il déclaré. Datanami.

« Si vous essayez d’installer Hadoop quelque part, c’est très difficile », a-t-il déclaré. « Nous avons pensé que nous pourrions peut-être concevoir un système de gestion de données pour l’analyse qui soit plus convivial pour l’utilisateur tout en étant à la pointe de la technologie et bénéficiant des dernières avancées algorithmiques et technologiques en termes de performances. »

En d’autres termes, Mühleisen souhaitait créer une base de données analytique offrant les performances d’une voiture de course de Formule 1, mais aussi conviviale qu’une Toyota Corolla. Lorsque lui et son équipe se sont réunis pour créer un tel système, DuckDB est ce qui a émergé.

Un nouveau type de base de données

Alors, qu’est-ce que DuckDB ? Comme mentionné précédemment, il s’agit sans aucun doute d’un nœud unique.

« Nous avons dit que nous ne ferions pas de distribution du tout », a déclaré Mühleisen, qui est également co-fondateur et PDG de Laboratoires DuckDB, qui crée la technologie de base de données de base et fournit un support technique. « Les ensembles de données dont tout le monde parle toujours [are] À l’échelle du téraoctet et du pétaoctet, des milliers de nœuds. Mais en réalité, les ensembles de données que 99 % d’entre nous utilisent ont tendance à être beaucoup plus petits. Et si vous n’avez pas besoin d’être distribué, vous simplifiez considérablement l’expérience utilisateur.

Si vous courez à Google à grande échelle, alors bien sûr, vous devrez être distribué et « construire ces choses folles » comme MapReduce, a-t-il déclaré. « Mais pour le reste d’entre nous, ce n’est pas très souvent une question de pétaoctets », a déclaré Mühleisen. « Il s’agit plutôt de, hé, voici un fichier qui est super ennuyeux et je veux le lire et faire un peu d’agrégation. »

La prochaine caractéristique de DuckDB est l’allégeance au bon vieux SQL. Alors que le mouvement NoSQL est toujours aussi fort et que de nombreuses personnes souhaitent utiliser Python et des dataframes pour interroger des données, Mühleisen et son équipe ont reconnu que SQL n’était pas en panne et n’avait donc pas besoin d’être réparé.

« SQL a été qualifié de mort à maintes reprises, je ne m’en souviens plus », a-t-il déclaré. « Mais nous avons décidé d’utiliser SQL. Et il s’est avéré que c’était une bonne idée, car beaucoup de gens connaissent simplement SQL. »

Comme d’autres bases de données de style OLAP, DuckDB propose un magasin de colonnes (pour des agrégations efficaces) et un traitement vectorisé (pour de meilleures performances). Il est conçu pour exécuter des requêtes SQL incroyablement rapidement. Mais ce n’est pas une base de données pour l’entreposage de données, comme Teradata ou RedShift. Il ne s’agit pas d’un endroit où stocker toutes vos données pour créer cette « version unique de la vérité ».

Analyse en cours

Là où d’autres bases de données OLAP zigzaguent, DuckDB zigzague. À cette fin, il fonctionne davantage comme une application analytique intégrée que comme votre entrepôt de données.

Hannes Mühleisen est le chef de l’équipe CWI qui a créé DuckDB et le PDG et co-fondateur de DuckDB Labs.

« DuckDB a un angle différent », a déclaré Mühleisen. « Cela ressemble plus à quelque chose que vous intégrez dans un flux de travail plutôt qu’à quelque chose que vous exécutez en quelque sorte sur ses propres serveurs. C’est comme SQL Lite à bien des égards. C’est une bibliothèque. Ce n’est pas comme si vous l’installiez et que vous utilisiez un serveur. C’est comme si vous le colliez à votre candidature.

Pesant seulement 50 Mo, DuckDB fonctionne sur une grande variété de systèmes (Linux, Windows, etc.) et est proposé dans une variété de packages. Il existe des packages Python, R et JavaScript. La NASA l’utilise pour quelque chose (elle n’a pas dit quoi), et FiveTran l’utilise dans le cadre de son processus d’écriture Apache Iceberg, a déclaré Mühleisen.

L’objectif de DuckDB est de fournir un traitement analytique ultra-rapide directement au sein d’une application. Par exemple, lorsqu’elle est associée à un tableau de bord, la base de données C++ peut fournir des temps de réponse en millisecondes sur ce tableau de bord.

« Ils profitent de la capacité de DuckDB à s’exécuter là où vous le souhaitez, pour rapprocher le traitement des requêtes de l’utilisateur, ce qui a un impact énorme sur l’expérience utilisateur », a déclaré Mühleisen.

DuckDB concerne le traitement analytique, pas le traitement des transactions. Vous n’allez pas traiter un million de lignes de données par seconde comme vous le feriez avec une base de données Postgres. Mais si vous avez besoin de lire un milliard de lignes par seconde, cela peut très bien le faire.

Si un utilisateur a besoin d’un système OLTP en cours de processus, Mühleisen lui recommande de consulter SQLite. Et vice versa, si un utilisateur de SQLite a besoin d’analyses, Mühleisen espère qu’il pensera à DuckDB.

« Nous nous appelons parfois SQLite pour l’analyse », a-t-il déclaré. « Nous avons peut-être inventé une nouvelle classe de système… L’idée est que vous n’avez pas de serveur de base de données séparé, que DuckDB est simplement collé à n’importe quelle autre application que vous avez et qu’il effectue des analyses. »

DuckDB a également une bonne histoire à raconter en termes d’efficacité analytique. La base de données remplace souvent les petits clusters Spark de l’ordre de 10 nœuds par un seul nœud de DuckDB, a déclaré Mühleisen. De même, les utilisateurs rencontrent souvent des problèmes de surcharge lorsqu’ils tentent de « remplir trop de lignes » dans Pandas.

Décidément différent

Il y a deux autres choses qui séparent DuckDB des masses de Big Data. Premièrement, l’équipe d’ingénieurs derrière la base de données de DuckDB Labs est basée à Amsterdam, loin de l’agitation de la Silicon Valley. Il ne s’agit pas exactement d’un trou perdu technologique : le Centre de mathématiques et d’informatique d’Amsterdam a hébergé l’équipe qui a créé Python, le langage de programmation le plus populaire au monde. Mais sortir des sentiers battus s’est avéré être un avantage pour DuckDB, a déclaré Mühleisen.

(PhotoJuli86/Shutterstock)

« Je pense que cela nous a également aidé à faire quelque chose de non conventionnel », a-t-il déclaré. « Si nous avions été à San Francisco, nous n’aurions pas eu la liberté d’être comme si nous ignorions tout ce genre de sagesse commune et ferions quelque chose que nous pensons être juste, et y réussirions. »

La deuxième chose est que l’entreprise a évité l’argent du capital-risque. Alors que la deuxième startup DuckDB – basée à Seattle, Washington Mère Canardqui a créé une version sans serveur de DuckDB et bénéficie du soutien de Mühleisen et du co-fondateur et CTO de DuckDB Labs, Mark Raasveldt, a levé 52,5 millions de dollars jusqu’à l’automne 2023 pour une valorisation de 400 millions de dollars, DuckDB Labs n’a pas pris un centime.

Ce n’est pas faute d’efforts de la part des investisseurs en capital-risque. « Nous avons suscité beaucoup d’intérêt de la part des sociétés de capital-risque », a déclaré Mühleisen. « Tout le monde voulait nous parler. Nous avions Andreessen. Nous avons eu Séquoia. Nous avons demandé à tout le monde de nous parler. Nous avons fini par ne prendre aucun argent en capital-risque.

À mesure que les instances DuckDB se répandent à travers le monde, l’élan s’est accéléré. Mühleisen affirme que le projet a bénéficié des évangélistes qui ont chanté les louanges de l’approche adoptée par DuckDB dans un nouveau domaine.

«Je pense que ce qui a aussi aidé [is] peut-être qu’il n’y a tout simplement pas beaucoup de technologie dans ce domaine au départ », dit-il. « Cet espace n’est pas très encombré et je pense que nous avons fini par faire une bonne sorte de compromis – pas un compromis, mais une nouvelle façon de combiner les choses qui ont vraiment touché une corde sensible. »

La popularité soudaine de DuckDB a certainement été une aventure amusante pour Mühleisen, qui a jusqu’à présent passé toute sa carrière en tant que chercheur en bases de données. « C’est assez fou de voir tout cela se produire », dit-il. « En tant que créateur de logiciels, vous vous attendez en quelque sorte à ce que personne ne se soucie de votre travail, n’est-ce pas ? »

Pas cette fois, Hannes.

Articles connexes:

Le Big Data est-il mort ? MotherDuck lève 47 millions de dollars pour le prouver

Les Pandas sur GPU fonctionnent 150 fois plus vite, selon Nvidia

Starburst introduit les dataframes dans la plateforme Trino

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici