La base de données EdgeDB a été renommée en Gel. Sortie de Gel 6.0

Les dĂ©veloppeurs de la base de donnĂ©es EdgeDB ont annoncĂ© le changement de nom du projet en Gel. En mĂȘme temps, une nouvelle version majeure a Ă©tĂ© lancĂ©e — Gel 6.0. La raison de ce changement de nom est de se dĂ©barrasser des connotations trompeuses provoquĂ©es par l'utilisation du mot « edge », qui amĂšne beaucoup de gens Ă  percevoir le projet comme une base de donnĂ©es pour le calcul en pĂ©riphĂ©rie ou comme une base de donnĂ©es orientĂ©e graphe. Le changement de nom ne concerne que les Ă©lĂ©ments de marque. La structure, les objectifs et l'Ă©quipe du projet restent les mĂȘmes. Les utilitaires et les bibliothĂšques dans cette nouvelle version ont Ă©tĂ© renommĂ©s, mais pour garantir la compatibilitĂ© ascendante, il a Ă©tĂ© conservĂ© la possibilitĂ© d'utiliser les anciens noms via des liens symboliques et des wrappers.

Le projet Ă©volue sous la forme d'une surcouche Ă  PostgreSQL, mettant en Ɠuvre un modĂšle de donnĂ©es relationnel-graphique et un langage de requĂȘtes EdgeQL, optimisĂ© pour le traitement de donnĂ©es hiĂ©rarchiques complexes. Le code est Ă©crit en Python et Rust (analyseur et parties critiques pour la performance) et est distribuĂ© sous la licence Apache 2.0. Des bibliothĂšques cliente sont disponibles pour les langages Python, Go, Rust, .NET, Elixir et TypeScript/Javascript. Un outil en ligne de commande est fourni pour gĂ©rer la base de donnĂ©es et exĂ©cuter des requĂȘtes de maniĂšre interactive (REPL).

Au lieu d'un modĂšle de donnĂ©es basĂ© sur des tables, Gel utilise un systĂšme dĂ©claratif basĂ© sur des types d'objets. Au lieu de clĂ©s Ă©trangĂšres pour dĂ©finir les relations entre les types, un systĂšme de liaison via des rĂ©fĂ©rences est utilisĂ© (un objet peut ĂȘtre utilisĂ© comme propriĂ©tĂ© d'un autre objet).

type Person { required name: str; } type Movie { required title: str; multi actors: Person; }

Des fonctionnalitĂ©s telles que la typage strict des propriĂ©tĂ©s, les restrictions sur les valeurs des propriĂ©tĂ©s, les propriĂ©tĂ©s calculĂ©es et les procĂ©dures stockĂ©es sont prises en charge. Parmi les particularitĂ©s du schĂ©ma de stockage des objets de Gel, qui rappelle en quelque sorte ORM, on note la possibilitĂ© de mĂ©langer les schĂ©mas, de lier des propriĂ©tĂ©s de diffĂ©rents objets et un support intĂ©grĂ© de JSON. Des index peuvent ĂȘtre utilisĂ©s pour accĂ©lĂ©rer le traitement des requĂȘtes.

Des outils intĂ©grĂ©s pour la migration de schĂ©ma sont fournis — aprĂšs avoir modifiĂ© le schĂ©ma spĂ©cifiĂ© dans un fichier esdl sĂ©parĂ©, il suffit d'exĂ©cuter la commande « gel migration create » et la base de donnĂ©es analysera les diffĂ©rences dans le schĂ©ma et gĂ©nĂ©rera de maniĂšre interactive un script pour passer au nouveau schĂ©ma. L'historique des modifications du schĂ©ma est suivi automatiquement.

Pour former des requĂȘtes, le langage de requĂȘtes GraphQL et le langage propriĂ©taire EdgeQL, qui est une adaptation de SQL pour des donnĂ©es hiĂ©rarchiques, sont pris en charge. Au lieu de listes, les rĂ©sultats de la requĂȘte sont prĂ©sentĂ©s sous une forme structurĂ©e, et au lieu de sous-requĂȘtes et d'opĂ©rations JOIN, il est possible d'indiquer une requĂȘte EdgeQL comme expression Ă  l'intĂ©rieur d'une autre requĂȘte. Les transactions et les boucles sont prises en charge.

sĂ©lectionnez Movie { titre, acteurs: { nom } } filtre .titre = «The Matrix» insĂ©rer Movie { titre := «The Matrix Resurrections», acteurs := ( sĂ©lectionner Personne filtre .nom dans { ‘Keanu Reeves’, ‘Carrie-Anne Moss’, ‘Laurence Fishburne’ } ) }

Les principales modifications dans Gel 6.0 :

  • La possibilitĂ© d'utiliser des requĂȘtes SQL traditionnelles lors de la connexion Ă  une base de donnĂ©es via le protocole Gel ou en mode protocole PostgreSQL a Ă©tĂ© ajoutĂ©e. Il est prĂ©vu que la prise en charge de SQL simplifie la migration des projets existants vers Gel, qui peuvent maintenant ĂȘtre progressivement transfĂ©rĂ©s de SQL tout en continuant Ă  utiliser anciens clients SQL et ORM SQL. Les projets initialement utilisant EdgeQL pourront exploiter des fonctionnalitĂ©s supplĂ©mentaires disponibles dans SQL mais pas encore mises en Ɠuvre dans EdgeQL, telles que les fonctions de fenĂȘtre, les requĂȘtes rĂ©cursives et les verrouillages explicites.
  • Le support de la mise Ă  jour sur place a Ă©tĂ© ajoutĂ©, ce qui ne nĂ©cessite pas la crĂ©ation et le re-tĂ©lĂ©versement d'un dump de la base de donnĂ©es lors du passage Ă  une nouvelle version significative. Lors de la mise Ă  jour d'EdgeDB 5.x Ă  Gil 6.0, l'ancienne mĂ©thode doit ĂȘtre utilisĂ©e, mais lors du passage de Gil 6.x Ă  7.0, le re-tĂ©lĂ©versement du dump ne sera pas nĂ©cessaire.
  • La conservation des statistiques de performance des requĂȘtes, accessible via les objets sys::QueryStats, est assurĂ©e.
  • Le support de l'extension PostgreSQL PostGIS pour le stockage de donnĂ©es spatiales utilisĂ©es dans les systĂšmes d'information gĂ©ographique a Ă©tĂ© ajoutĂ©.
  • Une bibliothĂšque std::net pour envoyer des requĂȘtes rĂ©seau (HTTP supportĂ©) en mode asynchrone a Ă©tĂ© ajoutĂ©e.
  • En complĂ©ment de ext::auth, le support de la configuration des fournisseurs OpenID Connect a Ă©tĂ© ajoutĂ©.
  • Dans le complĂ©ment ext::ai, la liste des modĂšles de langage de grande taille pris en charge par OpenAI, Anthropic et Mistral a Ă©tĂ© mise Ă  jour.
  • La possibilitĂ© de connecter des gestionnaires supplĂ©mentaires pour les commandes dans l'utilitaire gel a Ă©tĂ© fournie.
  • La sĂ©mantique d'EdgeQL pour trouver des chemins entre les nƓuds du graphe a Ă©tĂ© simplifiĂ©e.
  • Dans gel.toml, une configuration «[[watch]]» a Ă©tĂ© ajoutĂ©e pour permettre l'exĂ©cution de scripts lors de la modification des fichiers spĂ©cifiĂ©s.
  • Le support de Gel a Ă©tĂ© mis en Ɠuvre dans l'ORM Drizzle.

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