Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Graph Query Language (GQL) : un nouveau langage de requête pour les bases de données orientées graphes
Qui pourrait devenir un standard international aux côtés de SQL

Le , par Bill Fassinou

44PARTAGES

12  0 
Aujourd’hui, avec l’avènement du Big Data, de l’Internet des Objets (IdO), et de la maison intelligente, le volume de données engendré par un seul utilisateur d’Internet a considérablement augmenté. Les bases de données relationnelles ont de plus en plus de mal à s'accommoder de ces tendances, et de nouvelles techniques de structuration des données sont apparues comme les bases de données NoSQL (Not Only SQL). Les bases de données orientées graphes sont une catégorie du mouvement NoSQL, mais elle ne possède toujours pas un langage standard de requête.

La croissance exponentielle du volume de données généré par les utilisateurs d’Internet et l’utilisation de grands systèmes distribués, tels que Amazon, Google et d'autres services du cloud, ont soulevé quelques limites des bases de données relationnelles. Il y a également la complexité et l'interdépendance croissantes des données, accélérées par l'IdO, les réseaux sociaux, les accès ouverts et standardisés à des sources de données d'un grand nombre de systèmes. Les bases de données NoSQL viennent répondre à des aspects spécifiques de ces problèmes.

Les bases de données orientées graphes gagnent en popularité parmi les bases de données NoSQL. Ils vous permettent de stocker les données sous forme d'entités (de nœuds) et de liens (des arêtes), et vous permettent d'interroger les données sous forme de graphes. Les requêtes écrites dans les bases de données orientées graphes sont plus proches de la façon dont les données sont modélisées que dans les autres langages de requête. Cette manière de faire offre des avantages incontournables dans les recherches en profondeur et dans d’autres aspects.

Par exemple, un grand avantage des requêtes écrites dans les bases est qu'elles éliminent le besoin de joindre plusieurs tables pour trouver les relations entre vos points de données, car les relations sont intégrées dans les données elles-mêmes. Ainsi, les bases de données orientées graphes sont bien adaptées pour les recherches en profondeur dans les arbres de données, tandis que les bases de données relationnelles ou celles orientées document provoquent une « explosion combinatoire » due aux nombreuses « jointures » nécessaires pour obtenir le même résultat.

Cependant, il n’existe toujours pas un langage standard pour écrire les requêtes avec ce type de base de données. Pour résoudre ce problème, une initiative a été lancée en mai 2018 visant à mettre en place un langage standard pour l’écriture des requêtes dans les bases de données orientées graphes. Neo4j, un fournisseur de bases de données orientées graphes, a annoncé ce mardi que les comités internationaux qui développent le standard SQL ont voté en faveur de la création de GQL (Graph Query Language) comme nouveau langage de requête pour ce type de base de données.


Avant cela, il existait un nombre important de langages de requête pour interagir avec les bases de données orientées graphes. Voici quelques exemples des langages de requête de base de données orientée graphes les plus populaires :

  • Cypher : c’est un langage de requête déclaratif très populaire qui a été inventé par Neo4j. Sa popularité provient de sa ressemblance avec SQL. Les personnes ayant une expérience du SQL se sentiront comme à la maison. Neo4j participe à présent aux activités de mise en place du nouveau standard GQL ;
  • SPARQL : c’est un langage de requête déclaratif de type SQL créé par le W3C pour interagir avec les bases de données orientées graphes ;
  • GraphQL : créé par Facebook, c’est un langage de requête pour les API qui n'est pas spécifique aux bases de données graphiques. Les utilisateurs définissent la structure des données dont ils ont besoin et obtiennent exactement ce qu'ils ont demandé. Les requêtes GraphQL sont organisées en types et en champs, et non en points de terminaison. En modifiant l'objet de requête, vous pouvez déterminer ce qui est renvoyé par le serveur ;
  • Gremlin : il a été créé en 2009 et est le langage de requête pour Apache TinkerPop. C'est un DSL (Domain Specific Language) de parcours de graphe qui peut être déclaratif ou impératif. Il peut être utilisé pour les bases de données orientées graphes OLTP et OLAP. Gremlin est basé sur Groovy, mais possède de nombreuses variantes permettant aux développeurs d’écrire des requêtes Gremlin de manière native dans de nombreux langages de programmation modernes tels que Java, JavaScript, Python, Scala, Clojure et Groovy.

Cela dit, le GQL compte être désormais le standard de la communauté des bases de données orientées graphes, pour écrire des requêtes. Selon Neo4j, GQL reflète la croissance rapide du marché des bases de données orientées graphes, démontrée par l'adoption croissante du langage Cypher. D’après l’entreprise, Cypher a, jusque là, montré son potentiel et a alimenté la demande pour un langage unique et standard pour jouer le rôle de SQL pour les bases de données orientées graphes.

Outre Neo4j, de nombreuses autres entreprises participent déjà aux activités liées à GQL, notamment Redis Labs, SAP et IBM. Des experts nationaux de la Chine et de la Corée rejoignent les participants existants centrés sur l' Europe et les États-Unis. Les auteurs du projet GQL pensent qu’une norme internationale permettrait d'accélérer l'ensemble du marché des bases de données orientées graphes, au bénéfice mutuel de tous les fournisseurs et, plus important encore, de tous les utilisateurs. Selon eux, le fait que chaque fournisseur propose son langage n’aide personne.

« Nous sommes parvenus à un équilibre en lançant GQL, le langage de requête de base de données du futur, tout en préservant la valeur et l'ubiquité du SQL. Notre comité a été encouragé de voir une forte participation de la communauté internationale à l'inauguration du projet GQL. Un tel soutien est la marque d'une norme émergente », a déclaré Keith Hare, qui est actif dans le processus des normes SQL depuis 1988 et qui préside le comité international des normes SQL pour les langages de base de données depuis 2005.

SQL et les bases de données relationnelles sont l’un des fondements essentiels des technologies de l’information. SQL est aussi le langage dominant pour l'accès aux données relationnelles. Le projet GQL lancera le développement de la prochaine génération de normes technologiques pour l'accès aux données, optimisées pour le monde actuel des données connectées. Sa charte s'appuie sur les fondements de base déjà établis par SQL et sur une collaboration continue pour assurer la compatibilité et l'interopérabilité SQL et GQL.

L'initiative pour GQL a été annoncée pour la première fois dans le Manifeste de GQL en mai 2018. Un an plus tard, le projet a été examiné lors d'une rencontre internationale en juin. Neo4j a annoncé ce mardi que dix pays, dont les États-Unis, l'Allemagne, le Royaume-Uni, la Corée et la Chine, ont maintenant voté en faveur du projet GQL, et sept autres pays ont promis la participation active de leurs experts nationaux. Le standard pourrait voir le jour bientôt. Le langage SQL sera-t-il mené lorsque GQL deviendra un standard international ?

Pour le moment, les promoteurs de GQL pensent simplement que GQL deviendra un standard international aux côtés du SQL. Par ailleurs, des milliers d'applications utilisent déjà le modèle de données orienté graphes, riche et intuitif. Sa capacité à exprimer, trouver et extraire des relations et des modèles complexes, enregistrer des transactions et à effectuer des analyses, continue de prouver sa valeur chaque jour, dans de nombreux domaines comme les affaires et les sciences. Et l'adoption s'accélère.

Sources : Neoj4, Manifeste du projet GQL

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi

Google lance Cloud Firestore, une base de données de documents NoSQL sans serveur. Serait-elle meilleure que Firebase ?

Une nouvelle étude montre la montée en puissance du NoSQL, avec de plus en plus d'entreprises qui se tournent vers le cloud public

Du NoSQL en PHP : c’est possible et c’est (relativement) facile

SQL Vs NoSQL, quel est votre préféré ? Participez au sondage et au débat puis donnez-nous vos avis

GraphQL, le langage de requête de Facebook se dote de sa propre fondation open source qui sera elle-même hébergée par la Linux Foundation

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de SQLpro
Rédacteur https://www.developpez.com
Le 20/09/2019 à 10:29
Certaines pense que la langage SQL est un langage primitif, verbeux, inélégant, vieux.... Et c'est le comité de normalisation du langage SQL qui va s'occuper de la normalisation du langage GQL et de son intégration au sein de SQL !

Alors question : le langage SQL est-il mort ?

A +
2  1 
Avatar de SpiceGuid
Membre émérite https://www.developpez.com
Le 20/09/2019 à 11:20
L'article ne parle de CQL (Categorical Query Language).
Dommage.
CGL permet la requête sur des graphes prenant en compte l'égalité des chemins (path equality).
Ça rend les graphes interopérables d'une ontologie à l'autre (un foncteur fait la traduction).
À mon avis c'est déjà l'étape après GQL.
SQL est mort. GQL est déjà une antiquité. Vive CGL.
1  5