6 points par GN⁺ 2024-01-16 | 1 commentaires | Partager sur WhatsApp

Résumé de la version de SQLite

  • SQLite renforce la prise en charge des fonctions SQL définies par l’application en ajoutant l’attribut SQLITE_RESULT_SUBTYPE.
  • Les fonctions JSON SQL sont améliorées grâce à JSONB, un nouveau format interne d’arbre d’analyse.
  • Le planificateur de requêtes prend de meilleures décisions lors de la sélection des index, et l’optimisation SQLITE_DIRECT_OVERFLOW_READ est désormais activée par défaut.
  • Le CLI est amélioré, notamment avec un meilleur affichage du contenu UTF-8 et l’automatisation de la détection de relecture des scripts ".dump".

Correctifs de bugs et optimisations

  • Divers correctifs de bugs et optimisations de performances ont été apportés.
  • De nouvelles API en langage C, sqlite3_get_clientdata() et sqlite3_set_clientdata(), ont été ajoutées.
  • La commande PRAGMA integrity_check vérifie désormais la cohérence des tables virtuelles intégrées.
  • Le planificateur de requêtes améliore le traitement des scans d’index partiels et des sous-requêtes DISTINCT.

Améliorations du CLI SQLite et autres fonctionnalités

  • Le CLI améliore l’affichage du contenu UTF-8 et limite l’utilisation de fonctions SQL dangereuses.
  • La commande PRAGMA integrity_check vérifie la correspondance entre les chaînes de texte et les index.
  • L’interface sqlite3_stmt_scanstatus_v2() a été ajoutée.
  • Les appels de longue durée similaires à sqlite3_prepare() invoquent désormais le callback de progression et réagissent à sqlite3_interrupt().

L’avis de GN⁺

  • Les améliorations continues de SQLite sont importantes pour la stabilité et les performances des systèmes de gestion de bases de données.
  • Les améliorations des fonctions JSON SQL sont particulièrement utiles pour les développeurs web et d’applications mobiles.
  • L’optimisation du planificateur de requêtes permet de rendre les requêtes de base de données complexes plus efficaces et d’économiser les ressources système.

1 commentaires

 
GN⁺ 2024-01-16
Avis Hacker News
  • Une méthode rapide pour ceux qui veulent essayer la nouvelle version de SQLite sur macOS :

    • Lien vers une explication sur la manière d’utiliser cette version de SQLite avec Python sur macOS.
    • Explication de la façon de compiler la bibliothèque SQLite avec une commande simple et de vérifier la version depuis Python.
    • Indication de la commande datasette pour tester l’interface web de SQLite.
  • Améliorations apportées au JSONB de SQLite :

    • L’utilisation de JSONB peut tripler les performances des opérations liées au JSON.
    • JSONB est dans la plupart des cas environ 5 % à 10 % plus compact que le JSON texte.
    • Comme Notion Labs utilise beaucoup de JSON, des gains sont attendus en matière de réduction de l’espace disque.
  • Notes de version interactives pour SQLite 3.45 :

    • Si les notes de version officielles sont ennuyeuses, un lien vers une version interactive est proposé.
  • Un cas impressionnant où SQLite anticipe de futurs avertissements du compilateur GCC :

    • Mention du fait que SQLite se prépare à l’avance aux nouveaux avertissements du compilateur GCC.
  • Intérêt pour le SQLite cloud-native et demande de comparaison avec PostgreSQL :

    • Expression d’un intérêt pour les services SQLite basés sur le cloud.
    • Demande de ressources comparant PostgreSQL et SQLite.
  • Réévaluation de SQLite et évolution positive de sa perception :

    • Abandon de la vision de SQLite comme simple « base de données jouet », avec reconnaissance de son utilité dans de vraies applications.
  • Questions sur le choix de stocker les entiers et les nombres à virgule flottante sous forme de texte dans JSONB :

    • Critique de ce mode de stockage, qui pourrait limiter certains cas d’usage de JSONB.
  • Introduction de JSONB déjà discutée auparavant :

    • Rappel du fait que cela avait déjà été discuté sur Hacker News sous le titre « JSONB has landed ».
  • Le défi de stocker et traiter efficacement des données de type JSON dans SQLite :

    • Explication du souhait de longue date d’introduire JSONB dans SQLite et de l’approche choisie pour y parvenir.
  • Le format interne de JSONB utilise moins d’espace disque que le JSON texte :

    • Partage de l’information selon laquelle JSONB occupe moins d’espace disque que le JSON texte.