DuckDB devient inarrêtable...

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

스크립트

00:00:00Pendant des années, dès que nos données dépassaient les capacités d'un tableur, le conseil restait le même.
00:00:05Passez au cloud avec un data warehouse comme Snowflake ou BigQuery.
00:00:09Mais il existe une petite base de données gratuite qui tourne entièrement sur votre ordinateur,
00:00:13et pendant que tout le monde regardait vers le cloud, elle a mûri en silence.
00:00:16Elle propose désormais un vrai chiffrement, des “upserts” façon Git et sa toute première version supportée sur le long terme.
00:00:22Il s'agit de DuckDB, et je veux vous montrer exactement ce qu'elle vaut en 2026,
00:00:26y compris la chose importante que les gens continuent de mal comprendre à son sujet.
00:00:35Donc, DuckDB.
00:00:36Pensez simplement à SQLite, mais pour l'analytique.
00:00:40Vous connaissez SQLite.
00:00:41Un seul fichier, pas de serveur, intégré directement dans votre application.
00:00:45DuckDB reprend exactement ce concept, sauf qu'au lieu d'être conçue pour les transactions,
00:00:50elle est conçue pour le traitement de données.
00:00:52Elle est faite pour scanner et additionner des millions de lignes très rapidement.
00:00:56Et l'un de ses points forts est qu'elle lit directement les fichiers Parquet, CSV et JSON.
00:01:02Il n'y a aucune étape d'importation, pas besoin de charger les données avant.
00:01:05Vous pointez simplement SQL vers le fichier.
00:01:08Laissez-moi vous montrer ce que ça donne.
00:01:09Si vous aimez les outils de codage qui accélèrent votre flux de travail, abonnez-vous.
00:01:13Nous publions des vidéos régulièrement.
00:01:15Maintenant, ici dans mon terminal, je tape DuckDB, et je me retrouve instantanément dans une invite SQL.
00:01:20Regardez ça.
00:01:21Je fais une sélection à partir d'un fichier Parquet situé sur une URL sur Internet.
00:01:27Je ne l'ai pas téléchargé.
00:01:28Je n'ai rien défini ni démarré de serveur.
00:01:30DuckDB s'est connectée, a streamé un fichier distant et a exécuté une requête SQL réelle en une ligne.
00:01:36Rien que ça, en cinq secondes, c'est la raison pour laquelle les gens l'adorent.
00:01:40Mais voici ce que les gens ne comprennent pas.
00:01:43Il y a deux versions en jeu ici, et Internet ne cesse de les confondre.
00:01:48Les grandes fonctionnalités excitantes dont tout le monde parle, le chiffrement AES-256 complet de votre base,
00:01:54une commande “merge-into” pour des “upserts” façon Git, et la capacité d'écrire des tables Apache Iceberg,
00:01:59aucune d'entre elles n'est dans la version 1.5.
00:02:02Elles sont toutes arrivées dans DuckDB 1.4 en septembre, qui était aussi la toute première version
00:02:08supportée sur le long terme.
00:02:09Ensuite, avec la 1.5, en mars dernier, nous avons eu une version mise à jour de tout ça.
00:02:14Un nouveau client en ligne de commande agréable avec des couleurs et un paginer, un nouveau type “variant” pour les données
00:02:20semi-structurées désordonnées, et la géométrie intégrée au cœur du système.
00:02:24Au lieu d'une simple requête rapide, laissez-moi vous montrer ce que DuckDB mis à jour donne
00:02:30en pratique, avec les fonctionnalités de la 1.4, plus celles de la 1.5.
00:02:34J'ai toujours la requête Parquet que nous avons vue plus tôt juste ici.
00:02:38Voici maintenant la nouvelle fonctionnalité de la 1.5, le type “variant”.
00:02:43Je crée une table rapide et j'y insère des types mixtes, des entiers, des chaînes, des tableaux et des objets, tout ça
00:02:50dans la même colonne.
00:02:51Il n'y a pas de schéma, pas d'analyse JSON, ça fonctionne tout simplement.
00:02:54Et elle stocke des données binaires typées, qui se compressent et s'interrogent mieux que du JSON pur.
00:02:59C'est ça la nouvelle fonctionnalité “variant”.
00:03:02Ensuite, c'est la fonctionnalité qui a réellement changé ce que vous pouvez construire avec DuckDB : “merge into”.
00:03:08Ça vient de la version 1.4.
00:03:09Ne confondez pas.
00:03:10Une seule instruction SQL propre.
00:03:12Il n'y a aucune logique applicative.
00:03:13C'est le genre de chose qui nécessitait auparavant Spark ou du Python personnalisé.
00:03:17Puis, le chiffrement aussi, puisque nous y sommes.
00:03:21Maintenant, je peux interroger le fichier normalement, mais si j'essaie de l'ouvrir dans une nouvelle session sans la
00:03:27clé, cela échoue exactement comme prévu.
00:03:30AES-256 au niveau des pages, c'est à vous d'apporter la clé.
00:03:33DuckDB ne la stocke pas et ne la gère pas.
00:03:36Et ça, c'est avant même de parler de l'écriture Iceberg ou du support de la géométrie, que beaucoup
00:03:41d'entre vous pourraient utiliser comme extension spatiale.
00:03:43C'est pourquoi la 1.4 était la grande mise à jour.
00:03:45C'est passé d'un moteur de requête à quelque chose en quoi vous pouvez vraiment avoir confiance pour vos données réelles sur une seule
00:03:50machine.
00:03:51Des fichiers sécurisés, des “upserts” fiables et des formats de “lakehouse” modernes.
00:03:55La 1.5 a juste rendu l'expérience bien meilleure avec une CLI améliorée et ce nouveau type “variant”.
00:04:00D'accord, mais en quoi est-ce différent des outils déjà sur votre machine ?
00:04:04Prenons SQLite.
00:04:05Même chose, un seul fichier, pas de serveur.
00:04:08Mais SQLite est un magasin de lignes conçu pour les transactions.
00:04:12Et DuckDB est un magasin de colonnes conçu pour l'analyse.
00:04:15On pourrait prendre Pandas.
00:04:17DuckDB vous offre un véritable optimiseur SQL et des jointures multi-thread.
00:04:21Donc pour les gros regroupements, c'est souvent un peu plus rapide.
00:04:24Si on prenait Snowflake ou BigQuery, ce sont des entrepôts cloud conçus pour des équipes entières et
00:04:30des pétaoctets de données.
00:04:32DuckDB est une seule machine qui tourne dans votre propre processus, gratuitement.
00:04:35Maintenant, la plainte numéro un, encore et encore, c'est la mémoire.
00:04:40Pointez DuckDB vers un milliard de lignes et elle peut manquer de mémoire et planter.
00:04:45Elle pourrait être un peu trop instable pour la production aussi, si c'est ce dont vous traitez.
00:04:49La deuxième chose, c'est que ce n'est pas une base de données transactionnelle.
00:04:53C'est un écrivain unique.
00:04:54Un seul processus écrit à la fois.
00:04:57Donc vous ne l'utilisez pas dans le backend de votre application ou votre magasin de session.
00:05:01C'est toujours le travail de Postgres ou de SQLite pour les petits MVP.
00:05:05Et toute cette partie chiffrement, c'est réel, c'est complet, mais vous devez apporter votre clé.
00:05:10DuckDB ne stocke pas la clé.
00:05:12Elle ne la fait pas tourner.
00:05:14Elle ne surveille rien.
00:05:15Si vous perdez la clé,
00:05:16vos données sont perdues.
00:05:17Et l'écriture Iceberg réside dans une extension encore assez récente.
00:05:22Si vous faites de l'analytique, traitez du Parquet et du CSV, exécutez des transformations ELT, explorez des données
00:05:28dans un notebook, ou n'importe quoi allant de quelques mégaoctets à l'échelle d'une seule machine, DuckDB est l'un
00:05:33des meilleurs outils que vous puissiez installer.
00:05:35Et c'est totalement gratuit, sous licence MIT sans péage.
00:05:39Mais si vous avez besoin d'un backend transactionnel pour une application, ou si vous traitez régulièrement des milliards
00:05:44de lignes et que vous ne voulez pas gérer manuellement la mémoire, c'est le mauvais outil, et c'est très bien ainsi.
00:05:50La bonne base de données pour le bon travail.
00:05:52Si vous aimez les trucs et astuces de codage comme celui-ci, assurez-vous de vous abonner à BetterStack.
00:05:56On se voit dans une autre vidéo.

핵심 요약

DuckDB est un outil analytique local gratuit et performant pour transformer et interroger des fichiers sur une seule machine, mais il n'est pas conçu pour les charges de travail transactionnelles ou distribuées.

하이라이트

  • DuckDB est une base de données analytique locale qui permet d'interroger directement des fichiers Parquet, CSV ou JSON sans import préalable.

  • La version 1.4 a introduit le chiffrement AES-256 complet, la commande “merge-into” pour les “upserts” et l'écriture de tables Apache Iceberg.

  • Le nouveau type de données “variant” de la version 1.5 permet de stocker des types mixtes sans schéma ni analyse JSON, tout en optimisant la compression.

  • Contrairement à SQLite qui privilégie les transactions, DuckDB utilise une structure en colonnes pour le traitement rapide d'importants volumes de données.

  • DuckDB s'exécute entièrement dans le processus de l'utilisateur sur une seule machine, sans nécessité de serveur.

타임라인

Concept et fonctionnement de base

  • DuckDB est un système analytique local qui élimine le besoin d'un entrepôt de données cloud pour les ensembles de données traitables sur une seule machine.
  • Le moteur lit directement les fichiers externes comme le format Parquet, JSON ou CSV sans étape d'importation.
  • Les requêtes SQL s'exécutent instantanément en connectant le moteur à des fichiers locaux ou distants par simple ligne de commande.

L'outil adopte une approche similaire à SQLite mais optimisée pour l'analyse. Il traite et additionne rapidement des millions de lignes de données directement à partir de leur source. Le flux de travail gagne en rapidité par l'absence totale de configuration serveur ou d'étapes de chargement des données.

Évolutions majeures des versions 1.4 et 1.5

  • La version 1.4 a marqué une étape importante avec l'ajout du chiffrement AES-256, des “upserts” via “merge-into” et du support Iceberg.
  • La version 1.5 a introduit un type de données “variant” pour les structures mixtes et une interface de ligne de commande améliorée.
  • Le type “variant” compresse et interroge les données binaires typées plus efficacement que le format JSON brut.

Le passage à la version 1.4 a transformé le moteur de requête en une solution fiable pour des données réelles sur une seule machine, sécurisée par des clés gérées par l'utilisateur. La version 1.5 a optimisé l'expérience utilisateur et la gestion des données semi-structurées. La commande “merge-into” simplifie des opérations de mise à jour complexes qui nécessitaient auparavant Spark ou du code personnalisé.

Positionnement et limitations techniques

  • SQLite traite les lignes pour les transactions tandis que DuckDB traite les colonnes pour l'analyse.
  • DuckDB se limite à une seule machine, ne supporte qu'un seul processus d'écriture à la fois et peut manquer de mémoire sur des volumes extrêmes.
  • La gestion des clés de chiffrement incombe entièrement à l'utilisateur, toute perte entraînant l'irrécupérabilité des données.

Le choix de l'outil dépend de la nature du projet. DuckDB est inadapté pour les backends d'applications transactionnelles ou les pétaoctets de données nécessitant des infrastructures cloud comme Snowflake ou BigQuery. Il excelle dans les tâches ELT, l'exploration de données en notebook et les traitements sur une seule instance pour des volumes modérés à importants.

커뮤니티 글

모든 글 보기