스크립트
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.