DuckDB 0.6.0 est maintenant disponible et inclut des améliorations pour l'écriture sur disque, le chargement de données et plus encore.

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

La sortie de la nouvelle version du SGBD a été annoncée CanardDB 0.6.0, version dans laquelle la compression des données a été améliorée, en plus du fait que de nouvelles fonctions ont été ajoutées, ainsi que des améliorations de stockage, entre autres.

CanardDB combiner les propriétés SQLite tels que la compacité, la possibilité de se connecter sous la forme d'une bibliothèque intégrée, le stockage de la base de données dans un seul fichier et une interface CLI pratique, avec des outils et des optimisations pour effectuer des requêtes analytiques couvrant une partie importante des données stockées, par exemple , qui effectuent l'agrégation de tous les contenus de table ou fusionnent plusieurs grandes tables.

Principales nouveautés de DuckDB 0.6.0

Dans cette nouvelle version qui est présentée, il est mis en évidence que les travaux se sont poursuivis sur l'amélioration du format de stockage, en plus que un mode d'écriture sur disque a été implémenté, où lorsqu'un ensemble de données volumineux est chargé dans une transaction, les données sont compressées et diffusées dans un fichier à partir de la base de données sans attendre que la commande COMMIT valide la transaction.

Un autre des changements qui se démarque dans la nouvelle version est que ajout de la prise en charge du chargement parallèle de données dans des tables séparées, ce qui peut augmenter considérablement la vitesse de chargement sur les systèmes multicœurs. Par exemple, dans l'ancienne version, le chargement d'une base de données avec 150 millions de lignes sur un processeur à 10 cœurs prenait 91 secondes, et dans la nouvelle version, cette opération prend 17 secondes. Il existe deux modes de chargement parallèle : avec conservation de l'ordre d'enregistrement et sans conservation de l'ordre.

Pour la compression des données, l'algorithme FSST est utilisé (Static Symbols Quick Table), qui vous permet de regrouper des données dans des lignes à l'aide d'un dictionnaire commun de correspondances de type. L'application du nouvel algorithme a permis de réduire la taille de la base de données de test de 761 Mo à 251 Mo.

Pour compresser les nombres (DOUBLE et FLOAT) les algorithmes de Chimp et Patas sont proposés. Par rapport à l'algorithme Gorillas précédent, Chimp offre un niveau de compression plus élevé et une décompression plus rapide. L'algorithme Patas est en retard sur Chimp en termes de compression, mais sa vitesse de décompression est nettement plus rapide, ce qui équivaut à peu près à la lecture de données non compressées.

Il est également noté qu'il a été ajouté une capacité expérimentale à charger des données à partir de fichiers CSV dans plusieurs flux parallèles (SET experimental_parallel_csv=true), ce qui réduit considérablement le temps de chargement des fichiers CSV volumineux. Par exemple, lorsque l'option était activée, le temps de téléchargement d'un fichier CSV de 720 Mo était réduit de 3,5 secondes à 0,6 seconde.

Des autres changements qui se démarquent de cette nouvelle version:

  • La possibilité d'exécution parallèle des opérations de création et de gestion d'index a été implémentée.
  • SQL offre la possibilité de former des requêtes qui commencent par le mot "FROM" au lieu de "SELECT". Dans ce cas, la requête est supposée commencer par "SELECT *".
  • Ajout de la prise en charge de l'expression "COLUMNS" dans SQL, vous permettant d'effectuer une opération sur plusieurs colonnes sans dupliquer l'expression.
  • Consommation de mémoire optimisée. Par défaut sur la plate-forme Linux, la bibliothèque jemalloc est utilisée pour la gestion de la mémoire. Amélioration significative des performances des opérations de fusion de hachage lorsque la mémoire est limitée.
  • Ajout du mode de sortie ".mode duckbox" à la CLI, en supprimant les colonnes centrales en fonction de la largeur des lignes de la fenêtre du terminal). Avec le paramètre ".maxrows X", vous pouvez également limiter le nombre de lignes de sortie.
  • L'interface de ligne de commande fournit une saisie semi-automatique contextuelle (la saisie des mots clés, des noms de table, des fonctions, des noms de colonne et des noms de fichier est terminée).
  • La CLI est activée par défaut pour afficher un indicateur de progression de la requête.

enfin si tu es intéressé à en savoir plus, vous pouvez vérifier les détails dans le lien suivant.


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.