DuckDB, une base de données open source utilisée par Google, Facebook et Airbnb

DuckDB, le SGBD utilisé par Google, Facebook et Airbnb

DuckDB est un système de gestion de base de données SQL OLAP en devenir

Récemment la sortie de la nouvelle version de DuckDB 0.5.0 a été annoncée, qui est un système de gestion de base de données d'analyse (SGBD) en développement utilisé par Google, Facebook et Airbnb.

CanardDB est un système de base de données analytique de haute performance. Il est conçu pour être rapide, fiable et facile à utiliser. DuckDB fournit un riche dialecte de SQL, avec une prise en charge bien au-delà du SQL de base. DuckDB prend en charge les sous-requêtes corrélées arbitraires et imbriquées, les fonctions de fenêtre, les classements, les types complexes (tableaux, structures), etc.

Parmi ses principales caractéristiques, on distingue les suivantes :

  • Installation simple
  • Intégré : pas de gestion de serveur
  • Format de stockage de fichier unique
  • Traitement analytique rapide
  • Transfert rapide entre R/Python et RDBMS
  • Il ne dépend d'aucun état extérieur. Par exemple, fichiers de configuration séparés, variable d'environnement.
  • Format de stockage de fichier unique
  • Interface composable. API de programmation SQL fluide
  • Entièrement ACIDE via MVCC

À propos de DuckDB 0.5.0

Parmi les nouveautés figure "out of core", qui vise à résoudre les problèmes qui peuvent survenir lorsque les données en cours de traitement sont plus grandes que la mémoire en proposant des résultats intermédiaires.

La nouvelle version utilise des index Adaptive Radix Tree (ART) pour appliquer des restrictions et accélérer les filtres de requête. Jusqu'à présent, les index n'étaient pas persistants, ce qui entraînait des problèmes tels que la perte d'informations d'index et de longs temps de rechargement pour les tables à données limitées.

ART il s'agit essentiellement d'une tentative d'appliquer une compression verticale et horizontale pour créer des structures d'index compactes. Les intentions sont des structures de données arborescentes, où chaque niveau de l'arborescence contient des informations sur une partie de l'ensemble de données. Ils sont généralement illustrés par des chaînes de caractères.

Le projet a également ajouté l'optimisation de l'ordre de jointure, un problème courant dans les bases de données analytiques. Hyoun Park, PDG et analyste en chef chez Amalgam Insights, a déclaré que la différenciation de DuckDB vient du fait qu'il s'agit d'une petite application qui fonctionne dans des flux de travail basés sur du code pour analyser rapidement de grands magasins de données.

« DuckDB peut souvent exécuter des requêtes directement sur les données sans traitement intermédiaire, ce qui améliore le traitement. D'un point de vue purement technologique, il est quelque peu similaire à Actian Vector, qui adopte également une approche de requête OLAP vectorisée en colonnes, bien qu'Actian soit conçu pour récupérer des données plutôt que de travailler sur un processus ou de charger un travail spécifique. »

DuckDB Labs fournit des conseils et une assistance. Le co-fondateur et PDG Hannes Mühleisen, qui a également co-écrit le code et gère le projet, a déclaré qu'il s'était inspiré de SQLite, le moteur de base de données OLTP sans serveur, où il a vu une opportunité pour une approche similaire, mais pour l'analyse.

DuckDB est également souvent utilisé dans le cadre d'une pile d'analyse ou de gestion. données plus importantes. Par exemple, si quelqu'un crée une application personnalisée qui collecte des données et souhaite ensuite créer une interface SQL, il doit d'abord copier les données et les déplacer vers un autre système, ce qui peut entraîner des problèmes de synchronisation, a-t-il expliqué.

Téléchargez et obtenez

Il est important de mentionner que la page d'accueil indique clairement qu'elle ne doit pas être utilisée pour les "grandes installations client/serveur pour le stockage centralisé des données d'entreprise".

Le projet travaille sur la sortie de la version 1.0, après quoi il ne sera plus possible d'apporter des modifications. Issu des travaux des universitaires du Center for Mathematics and Theoretical Computer Science Centrum Wiskunde & Informatica à Amsterdam, DuckDB est intégré dans un processus hôte, il est à noter qu'il n'y a pas de logiciel serveur SGBD à installer, mettre à jour ou maintenir.

Par exemple, le package DuckDB Python peut exécuter des requêtes directement sur les données de la bibliothèque logicielle Python, sans importer ni copier de données. DuckDB est écrit en C++, est gratuit et open source sous licence MIT.

Vous pouvez en savoir plus ainsi que consulter le manuel d'installation, dans le lien suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.