DuckDB : pourquoi est-il si rapide ?
Original : DuckDB Internals: Why Is DuckDB Fast? (Part 1)
Pourquoi c'est important
Démontre comment une architecture en processus révolutionne l'analytique distribuée et l'accessibilité des bases données modernes.
DuckDB, un moteur analytique SQL en processus devenu populaire depuis 2019, doit sa rapidité à plusieurs choix architecturaux : exécution en processus, stockage colonaire compressé, et exécution vectorisée, selon une analyse technique détaillée.
DuckDB est passé d'un projet de recherche à l'Université CWI Amsterdam en 2019 à l'une des bases de données les plus adoptées de la dernière décennie. Le projet s'intègre dans des cahiers numériques, pipelines ETL, tableaux de bord, et même des produits SaaS. MotherDuck l'enveloppe dans un entrepôt de données cloud, tandis que des plateformes comme Hex, Omni et Evidence l'utilisent comme moteur d'exécution interne. DuckDB est une base de données SQL analytique en processus, optimisée pour les requêtes scannant des millions de lignes pour filtrer, agréger et joindre, sans serveur externe. Ses avantages incluent un binaire unique sous 20 MB sans dépendances externes, accessible par pip, brew ou liaison C++. L'article détaille comment DuckDB offre des performances comparables à des clusters coûtant des millions de dollars annuels. Sa rapidité provient de choix de conception : exécution en processus, stockage colonaire compressé avec zonemaps, exécution vectorisée, parallélisme piloté par morceaux, et isolation d'instantané avec MVCC optimiste. L'exécution en processus élimine la sérialisation et désérialisation des résultats via protocoles réseau, contrairement aux bases serveur comme Snowflake ou BigQuery.