Première version stable du SGBD DuckDB

Après six ans de développement, la version 1.0 de la base de données DuckDB est présentée, positionnée comme une alternative à SQLite pour les requêtes analytiques. DuckDB combine des caractéristiques de SQLite, telles que sa compacité, sa disponibilité sous forme de bibliothèque embarquée, le stockage de la base de données dans un seul fichier et une interface CLI conviviale, avec des outils et des optimisations pour exécuter des requêtes analytiques couvrant une grande partie des données stockées, par exemple en effectuant l'agrégation de l'intégralité du contenu des tables ou la fusion de plusieurs grandes tables. Le code du projet est écrit en C++ et est distribué sous licence MIT.

La version 1.0 est marquée comme le premier développement stable du projet, dont la préparation a principalement porté sur l'amélioration de la stabilité, plutôt que sur l'augmentation des fonctionnalités. La nouvelle version fixe également le format de stockage des données, pour lequel la compatibilité descendante est assurée depuis la précédente version. Dans les futures versions, les développeurs prévoient d'adopter une approche plus prudente quant à l'ajout de nouvelles fonctionnalités et de veiller à préserver la compatibilité entre les versions, ainsi que de stabiliser le dialecte SQL et l'API C. Si une modification de la sémantique SQL s'avère nécessaire à l'avenir, les développeurs publieront à l'avance un avertissement concernant les changements à venir et fourniront des solutions de contournement pour maintenir la fonctionnalité de code existant.

DuckDB prend en charge un dialecte SQL étendu, incluant des capacités supplémentaires pour traiter des requêtes très complexes et de longue durée. Par exemple, il est possible d'utiliser des types complexes (tableaux, structures, unions), ainsi que d'exécuter des sous-requêtes corrélées arbitraires et imbriquées. L'exécution simultanée de plusieurs requêtes est prise en charge, tout comme l'exécution de requêtes directement à partir de fichiers au format CSV et Parquet. La prise en charge de l'importation depuis la base de données PostgreSQL est également disponible.

En plus du code Shell provenant de SQLite, le projet utilise un parseur extrait de PostgreSQL, le composant Date Math de MonetDB, sa propre implémentation de fonctions de fenêtre (basée sur l'algorithme Segment Tree Aggregation), un gestionnaire d'expressions régulières basé sur la bibliothèque RE2, son propre optimiseur de requêtes, un mécanisme de contrôle de concurrence multi-version (Multi-Version Concurrency Control), ainsi qu'un moteur d'exécution de requêtes vectorisé basé sur l'algorithme Hyper-Pipelining Query Execution, permettant de traiter de grands ensembles de valeurs en une seule opération.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster