Sortie du SGBD SQLite 3.32. Le projet DuckDB développe une variante SQLite pour les requêtes analytiques

Publié libération SQLite 3.32.0, un SGBD léger conçu comme une bibliothèque de plug-ins. Le code SQLite est distribué dans le domaine public, c'est-à-dire peut être utilisé sans restrictions et gratuitement à toutes fins. Le soutien financier aux développeurs SQLite est fourni par un consortium spécialement créé, qui comprend des sociétés telles qu'Adobe, Oracle, Mozilla, Bentley et Bloomberg.

principal changements:

  • Mis en œuvre approximé une variante de la commande ANALYZE, qui permet de se contenter d'une collecte partielle de statistiques dans de très grandes bases de données, sans analyse complète des index. La limite du nombre d'enregistrements lors de l'analyse d'un index est définie à l'aide de la nouvelle directive "PRAGMA analyse_limite«.
  • Ajout d'une nouvelle table virtuelle "bytecode", qui offre des informations sur bytecode expressions préparées à l'avance (Affirmation préparée).
  • Couche VFS ajoutée somme de contrôle, qui ajoute des sommes de contrôle de 8 octets à la fin de chaque page de données de la base de données et les vérifie à chaque fois qu'elles sont lues dans la base de données. La couche vous permet de détecter les dommages à la base de données résultant d'une corruption aléatoire des bits dans les périphériques de stockage.
  • Ajout d'une nouvelle fonction SQL si(X,Y,Z), renvoyant la valeur Y si l'expression X est vraie, ou Z sinon.
  • Expressions INSERT et UPDATE maintenant toujours applique types de colonnes de congélation (affinité de colonne) avant d'évaluer les conditions dans le bloc COMMENCER.
  • La limite du nombre de paramètres a été augmentée de 999 à 32766 XNUMX.
  • Extension ajoutée Séquence de classement UINT avec une implémentation de tri séquentiel qui prend en compte les entiers du texte pour trier ce texte par ordre numérique.
  • Dans l'interface de ligne de commande, les options « -csv », « -ascii » et « -skip » ont été ajoutées à la commande « .import ». La commande « .dump » permet d'utiliser plusieurs modèles LIKE avec la fusion en sortie de toutes les tables correspondant aux masques spécifiés. Ajout de la commande ".oom" pour les versions de débogage. Ajout de l'option "--bom" aux commandes ".excel", ".output" et ".once". Ajout de l'option "--schema" à la commande ".filectrl".
  • L'expression ESCAPE spécifiée avec l'opérateur LIKE remplace désormais les caractères génériques, conformément au comportement de PostgreSQL.

De plus, on peut noter le développement d'un nouveau SGBD CanardDB, qui développe une variante de SQLite optimisée pour l'exécution requêtes analytiques.
En plus du code shell de SQLite, le projet utilise un analyseur de PostgreSQL et un composant Date Math de MonetDB, sa propre implémentation de fonctions de fenêtre (basée sur l'algorithme Segment Tree Aggregation), un moteur d'exécution de requêtes vectorisées (basé sur l'algorithme Hyper-Pipelining Query Execution), un processeur d'expressions régulières basé sur une bibliothèque RE2, son propre optimiseur de requêtes et son mécanisme MVCC pour gérer l'exécution simultanée des jobs (Multi-Version Concurrency Control).
Code de projet distribué par sous licence MIT. Le développement est encore au stade former versions expérimentales.

Source: opennet.ru

Ajouter un commentaire