1 points par GN⁺ 2025-10-20 | 1 commentaires | Partager sur WhatsApp
  • Duck-UI est un IDE SQL qui fonctionne dans le navigateur et qui prend en charge DuckDB
  • Il permet d’effectuer des requêtes de données dans un environnement web sans installation supplémentaire
  • Grâce à une interface conviviale, il propose un cadre d’analyse de données rapide
  • Basé sur l’open source, il est utilisable gratuitement par les développeurs et les data scientists
  • Il s’exécute rapidement grâce à une architecture légère, et se distingue par sa simplicité par rapport aux IDE d’autres bases de données

Présentation de Duck-UI

  • Duck-UI est un IDE SQL qui s’exécute directement dans le navigateur et permet d’exécuter des requêtes ciblées sur DuckDB
  • Sans process d’installation, l’accès web suffit pour obtenir immédiatement un environnement de requêtes de base de données et d’analyse de données
  • Il fournit des outils de travail sur les données intuitifs, tels que l’exploration de la structure des tables, la rédaction de requêtes et la vérification des résultats
  • Projet open source, le code source est consultable par tous sur GitHub et extensible
  • Il permet d’expérimenter facilement l’analyse de données avec DuckDB en ligne, contribuant à améliorer la productivité dans les métiers du développement et des données

1 commentaires

 
GN⁺ 2025-10-20
Avis Hacker News
  • DuckDB a déjà une UI intégrée, que j’utilise très confortablement ; je comprends l’attrait de ce que l’auteur a créé, mais pour ce cas d’usage-ci, c’est bien plus simple et pratique. Présentation de DuckDB UI
    • Mais ce n’est pas auto-hébergeable, donc l’UI par défaut ne peut pas être utilisée hors ligne et la sécurité des données ne peut pas être garantie.
    • L’UI intégrée n’a pas de fonction de graphiques ; elle ne prend en charge que des graphiques statistiques de base comme des histogrammes par colonne, et ne permet pas de graphiques personnalisés comme le logiciel de l’OP.
  • J’ai énormément d’attentes pour l’avenir de DuckDB
    1. DuckLake est la meilleure spécification de data lake, et l’équipe améliore rapidement cette extension.
    2. En exploitant DuckDB WASM, une application qui mettait à l’origine 2 à 3 secondes par appel réseau peut fonctionner en moins de 200 ms.
      Dans notre entreprise, Definite, nous utilisons DuckDB comme data lake embarqué, et nous en sommes vraiment satisfaits.
    • J’aime vraiment beaucoup la spécification DuckLake ; il existe aussi un projet similaire pour les graphes : graph-archiving, CAP-theorem-for-graphs
      Le catalogue de base de données graphe repose actuellement sur le projet kuzu graph db, désormais archivé, et le développement se poursuit sur ladybug.
    • J’aime bien duckdb, mais je ne comprends pas le deuxième point (comment duckdb wasm réduit la latence des appels réseau).
    • D’accord, même si c’est dommage que la prise en charge des opérations vectorielles reste à l’état expérimental.
    • Je me demande si certains utilisent réellement DuckDB en production.
  • Vraiment génial, merci
    J’utilise déjà bien l’UI intégrée, mais j’essaierai aussi ce projet.
    DuckDB est l’un des logiciels les plus impressionnants que j’ai utilisés de toute ma carrière.
    Il traite facilement des fichiers Parquet de plusieurs téraoctets, et les bindings sont aussi très bien faits.
    • Totalement d’accord, j’ai moi aussi été tellement impressionné par DuckDB que je l’ai adopté dans d’autres projets.
      L’idée de devoir implémenter cette application à 100 % dans le navigateur m’est venue après une expérience dans une ancienne entreprise, où je traitais de nombreux fichiers CSV de personnes très diverses et où Excel n’arrivait même pas à en charger un caractère.
      Cet outil m’a énormément simplifié la vie, donc j’espère qu’il vous aidera aussi.
  • Voici une liste rapide de problèmes et suggestions après environ 5 minutes d’exploration (testé sous Firefox)
    1. L’une de mes fonctions préférées dans l’UI DuckDB intégrée est le panneau qui génère automatiquement des graphiques pour chaque colonne ; il affiche aussi bien l’ensemble du dataset que les résultats de requêtes. Pour des usages légers, ce panneau de graphiques suffit souvent sans requête, donc en son absence, j’aurais tendance à utiliser l’UI intégrée de base à la place de cette app.
    2. Il n’y a pas de panneau affichant le contenu de la cellule actuellement sélectionnée dans la vue grille. Ce serait encore mieux si les formats comme JSON étaient reconnus et affichés automatiquement.
    3. La vue grille ne montre actuellement que 200 lignes à la fois. Ce serait bien de prendre en charge un défilement infini en interne pour pouvoir copier facilement un grand nombre de lignes (par exemple plus de 10 000). Dans l’UI intégrée actuelle, la possibilité de copier facilement les id de plusieurs lignes est un avantage.
    4. C’est bien qu’un champ de recherche soit fourni par défaut dans le menu déroulant de filtre de colonne, mais il perd automatiquement le focus à chaque saisie, ce qui est gênant.
    5. Le menu déroulant de filtre ne se ferme pas automatiquement quand on clique à l’extérieur ou qu’on ouvre un autre menu déroulant.
    6. Le menu clic droit du grid viewer se ferme quand on relâche la souris, mais pas lors d’un clic à l’extérieur, et à l’ouverture, le curseur n’est pas non plus positionné sur le menu. Du coup, si on quitte immédiatement le menu, il reste affiché indéfiniment.
    7. Dans la vue grille, il reste un bug de redimensionnement après avoir modifié le nombre de lignes affichées par page.
    8. Dans le visualiseur de graphiques, l’arrière-plan des info-bulles est transparent, donc en mode sombre ou sur fond jaune, le texte devient illisible.
    9. Le panneau latéral de l’explorateur se redimensionne proportionnellement selon la taille de la fenêtre ; il semble trop grand au démarrage, et il vaudrait probablement mieux lui donner une taille fixe pour éviter qu’il ne s’agrandisse à chaque changement de taille de la fenêtre.
    • Ce type de retour est incroyable, j’ai tout bien noté ! Merci énormément d’avoir pris le temps ! Je vais tout examiner.
  • Ce serait vraiment bien de pouvoir l’intégrer avec flightsql ou un endpoint HTTP qui renvoie une structure Arrow IPC. Documentation associée
    Je me demande aussi si vous avez envisagé d’utiliser Perspective pour les graphiques de la dernière étape.
    Construire directement les graphiques a dû représenter un énorme travail, beau boulot.
    • Perspective prendra bientôt directement en charge DuckDB. Mise à jour
  • Si vous avez besoin d’une version desktop, qstudio peut aussi valoir le détour.
    Il est intégré aux fonctionnalités DuckDB ainsi qu’à parquet, csv, aux tableaux croisés, etc.
    Présentation de qstudio
    • Une simple présentation, c’est un peu léger.
      En local, on peut utiliser l’intégralité du CPU et de la mémoire, donc la différence de performances face à une solution basée sur Wasm est écrasante.
  • J’aime énormément ce produit
    Il existe aussi un produit similaire : sql-workbench.com
  • Sur mon ordinateur, je laisse toujours duckdb --ui lancé en permanence.
    Côté fonctionnalités, c’est vraiment excellent, mais je n’aime pas le fait que l’UI ne soit pas open source et qu’elle soit uniquement maintenue par MotherDuck.
    Il y a beaucoup de petites améliorations importantes à apporter, mais du point de vue de MotherDuck, il ne semble pas y avoir de vraie incitation à les mettre en œuvre, ce qui est regrettable.
    Je me demande si ce projet pourrait remplacer l’UI locale de duckdb.
    • Moi non plus, je n’aime pas vraiment l’UI de MotherDuck.
      Pour information, j’ai créé ce projet deux semaines avant la sortie de l’UI MotherDuck, donc je l’ai appelé duckui (j’avais déjà acheté le domaine, donc je ne me suis pas trop posé de questions sur le nom…).
      Je veux en faire la meilleure UI possible, pour nous tous.
      J’aimerais beaucoup recevoir des idées et de l’aide pour implémenter ce qui manque.
  • Je me demande si le DuckDB Wasm fourni est identique à celui officiellement fourni par DuckDB.
    D’après ce que je sais, le client Wasm officiel de DuckDB ne prend pas encore en charge toutes les fonctionnalités.
    Je me demande si cette application prend en charge un ensemble de fonctions plus large, plus restreint ou identique.