Largement considéré comme le leader des bases de données de graphe, Neoj4 a annoncé récemment la disponibilité, pour les utilisateurs de la communauté et des entreprises, de Neo4j 5.0, la cinquième version de sa base de données de graphe Téléchargeable sur le site Web du fournisseur et sur les places de marché AWS, Azure et GCP, cette dernière version, qui fait suite à la déclinaison 4.0 lancée en février 2020, bénéficie d’améliorations d'évolutivité, de performance et d'agilité. « La principale raison d'être de cette version est de répondre au besoin des entreprises de poser des questions plus complexes à leurs données, afin de découvrir des informations commerciales inexplorées et de développer d’autres stratégies face à l'incertitude économique persistante », a déclaré Neo4j.

Davantage d'évolutivité

« Neo4j 5.0 est doté d'une capacité de mise à l'échelle automatisée qui permettra aux utilisateurs autogérés - ceux qui ne bénéficient pas d'un plan de services gérés - de faire croître la base de données et de gérer des requêtes massives avec peu d'efforts manuels et un coût d'infrastructure relativement faible », a expliqué l’éditeur, ajoutant que la version 5.0 automatise également l'allocation et la réaffectation des ressources informatiques. Cette mise à l'échelle horizontale automatisée est rendue possible grâce à des fonctionnalités back-end comme le clustering autonome Autonomous Clustering et un Fabric amélioré. Dans les systèmes de gestion de bases de données, la mise en cluster consiste à combiner plusieurs instances ou serveurs connectés à une seule base de données.

La mise en cluster vise à accroître les performances et l'évolutivité d'une base de données. La fonction Autonomous Clustering peut décider automatiquement de la manière de distribuer les instances ou les copies primaires (accessibles en écriture, synchrones) et secondaires (accessibles en lecture seule, asynchrones) de la base de données sur les serveurs (machines bare metal, machines virtuelles ou conteneurs) en fonction des exigences et des contraintes fournies par l'administrateur de la base de données lors de la spécification de la topologie du cluster », a expliqué l’entreprise.

Par ailleurs, le routage côté serveur (Server-Side Routing, SSR), activé par défaut dans la dernière version, permet d'utiliser des équilibreurs de charge réseau et d'autres technologies réseau pour acheminer les requêtes en interne vers un serveur de système de gestion de base de données approprié. En outre, la dernière version s'appuie sur la fonction Fabric de l'entreprise. « Les utilisateurs peuvent utiliser le langage de requête Cypher de Neo4j pour créer une base de données de graphe composite à partir d'autres bases de données de graphe ou de bases de données prenant en charge le sharding », a déclaré Neo4j, ajoutant qu’il est possible d’utiliser le Fabric dans un cluster autonome pour exécuter des requêtes sur des bases de données, y compris des bases de données dans des clusters distants. Neo4j 5.0 offre aux utilisateurs la capacité d'importer des données en masse de manière incrémentielle dans une base de données existante, ce qui, selon le fournisseur, devrait réduire le temps de chargement des données.

Des performances de requêtes plus rapides

Toujours selon le fournisseur, par rapport à la version 4.0 précédente de la base de données, cette version peut offrir des performances de requête plus rapides grâce à des optimisations de l'indexation, de la planification des requêtes et du temps d'exécution. « L'indexation dans les systèmes de gestion de bases de données permet d’améliorer les performances des requêtes, car elle limite le nombre d'accès au disque nécessaires pour exécuter une requête, et Neo4j 5.0 étend les capacités de correspondance des index », a déclaré l’entreprise. « Désormais, FULLTEXT indexe les listes et les tableaux de chaînes de caractères pour améliorer la qualité des résultats de recherche de texte.

Les clauses Cypher CONTAINS et ENDS WITH sont largement utilisées pour filtrer les résultats par propriétés textuelles. La nouvelle implémentation des index TEXT dans Neo4j 5, basée sur les trigrammes, fait qu’ils sont des centaines de fois plus rapides », a encore expliqué Neo4j dans un communiqué. « RANGE permet de spécifier ou de comparer des valeurs, par exemple, trouver des critiques notées de 3 à 5 par des utilisateurs dans les codes postaux 94000-95000. Ou encore POINT, souvent utilisé dans l'analyse du routage et de la supply chain, permet de trouver et de comparer des données spatiales comme la longitude et la latitude », a ajouté le fournisseur.

Afin de faciliter l'écriture de requêtes de filtrage complexes dans le langage de requête Cypher, Neo4j a introduit une nouvelle syntaxe dans la dernière version. « Cypher dispose désormais d'une syntaxe pour les expressions d'étiquettes et de types de relations, permettant à l'utilisateur de spécifier des opérateurs de Disjonction (OR), de Négation (NOT) et de Conjonction (AND) entre les étiquettes individuelles et les types de relations », a expliqué l’entreprise. Les temps de réponse aux requêtes de Neo4j 5.0 sont accélérés grâce à l’usage du traitement des requêtes K-Hop pour trouver des nœuds uniques avec une approche de recherche en largeur Breadth-First. Par ailleurs, Neo4j a mis à jour le runtime Cypher de son édition communautaire, le faisant passer d'Interpreted à Slotted, affirmant que cette évolution améliorera les vitesses de lecture de 30 %. Très similaire à Interpreted, le runtime Slotted ajoute des optimisations à la transmission des enregistrements aux itérateurs. Selon l'entreprise, « ces optimisations améliorent à la fois les performances et l'utilisation de la mémoire de la requête ».

Des mises à jour continues pour les utilisateurs autogérés

« Neo4j 5.0 est doté de fonctionnalités agiles de type « cloud » », a déclaré l'entreprise, ajoutant que la dernière version comporte un gestionnaire des opérations Ops Manager et la possibilité de prendre en charge un calendrier de mises à jour fréquentes pour les utilisateurs autogérés. « Grâce à la console d'opérations d’Ops Manager, on peut surveiller et administrer les déploiements de Neo4j, d’une base de données ou d’une instance ou un cluster par exemple », a déclaré l’éditeur. Contrairement à l'itération précédente, où les mises à jour continues n'étaient disponibles que pour les utilisateurs de services gérés, la nouvelle édition fournira aussi des mises à jour continues aux utilisateurs autogérés que ce soit sur les déploiements multicloud, hybrides ou sur site.