Neo4j

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Neo4j
Développeur Neo Technology
Première version 2000
Dernière version 2.1
Version avancée 2.2
Écrit en Java
Environnement Multi-plateforme
Langue Anglais
Type Système de gestion de base de données
Licence GPLv3 pour Neo4j community, AGPLv3 et Commerciale pour Neo4j entreprise
Site web http://www.neo4j.com

Neo4j est un système de gestion de base de données au code source libre orienté graphes, développé en Java[1],[2] par la société Suédo-Américaine Neo technolgy.

Le produit existe depuis 2000, la version 1.0 de Neo4j est sortie en février 2010[3].

Généralités[modifier | modifier le code]

Neo4j vous permet de représenter les données connectées naturellement, en tant qu’objets reliés par un ensemble de relations, chacun possédant ses propres propriétés. La base de données de graphes, permet au développeur de commencer immédiatement à coder, car les données stockées dans la base font le parallèle direct avec les données elles mêmes.

Comparé aux bases relationnelles, la base de données de graphe Neo4j peut être jusqu’à plusieurs milliers de fois plus rapide pour traiter les données associatives, tout en simplifiant considérablement les requêtes qui peuvent s’étendre plus facilement à de larges ensembles de données, car elles ne nécessitent pas de recourir aux coûteuses jointures du monde SQL. Les traversées utilisent un langage spécialement adapté pour parcourir les connections très simplement, et très rapidement. Vu qu’elles ne dépendent pas d’une modélisation rigide, Neo4j est plus propice pour la gestion de données changeantes et de schémas évoluant fréquemment.

Les bases de données de graphes sont un outil puissant pour exécuter des requêtes de type parcours de graphe. La recherche du plus court chemin entre deux points du graphe permettant, par exemple, de résoudre facilement les requêtes sociales ainsi que de géographie ou d’analyse d’impact. 

Cas d'usages de Neo4j[modifier | modifier le code]

  • Gestion de réseau/Analyse d’impact : Avoir la main sur son système et identifier en temps réel le client impacté par une maintenance ou une panne.
  • Logistique : Calculer le meilleur chemin pour livrer un client.
  • Social, collaboration : Rechercher très facilement qui sont les amis de mes amis.
  • Recommandation : Définir en temps réel la liste les produits achetés par mes amis que je n’ai pas moi même achetés.
  • Master Data Management / Gestion de configuration : Construction d’un référentiel standardisé performant et sans redondance pour vos données critiques hiérarchisées : hiérarchie d’entreprise et de produit.
  • Droits d’accès : Gestion des groupes, utilisateurs et droits rapidement et sans redondance.
  • Géo-Spatial : Modélisation d’une carte routière et calculs d’itinéraires.
  • Biologie, interactions moléculaires : Réduire les risques d’effets secondaires des médicaments en calculant en temps réel les interactions entre une protéine et une future molécule. 

Ces cas d'usages sont accessibles en ligne ou à télécharger : http://gist.neo4j.org

Bénéfices de Neo4j[modifier | modifier le code]

Des requêtes haute performance[modifier | modifier le code]

Le modèle de données du graphe permet l’exécution de requêtes complexes avec une haute performance, inhérentes aux données connectées des applications d’aujourd’hui. En un mot le bon outil pour le bon besoin.

Des projets livrés plus rapidement[modifier | modifier le code]

Modéliser une base de données de graphes est aussi simple que d’écrire sur un tableau blanc. Les entreprises peuvent capturer rapidement toutes sortes de données, structurées, semi-structurées et déstructurées et ainsi les stocker dans Neo4j. Ceci résultant dans une réduction des temps de développement, une réduction de coûts de maintenance et de plus hautes performances.

La découverte de nouveaux cas d’usage[modifier | modifier le code]

Très souvent les utilisateurs et clients de Neo4j démarrent un projet car ils n’ont pas pu trouver de solution à un problème bien précis avec d'autres systèmes de gestion de base de données. Puis ils découvrent, par la simplicité du modèle de données de graphes, de nouveaux cas d’usage très utiles dans le monde des startup ou des industries fortement concurrentielles. 

Ressources[modifier | modifier le code]

Livres[modifier | modifier le code]

"Graph Databases - The Definitive Book on Graph Databases" par Ian Robinson, Jim Webber, and Emil Eifrém (Version électronique gratuite)

Ressources électroniques[modifier | modifier le code]

(en) Académie des graphes (Cours, tutoriaux et ressources en ligne)

(en) Documentation de Neo4j & (en) carte de référence Cypher

Documentation en Français (v1.9)

Bases de données Neo4j d'exemples

Communauté[modifier | modifier le code]

La communauté Française est accessible via la plateforme Meetup et le forum Neo4jfr

Groupes locaux : Paris, Lyon, Nantes, Lille, Montpellier, Toulouse

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) Todd Hoff, « Neo4j - a Graph Database that Kicks Buttox », High Scalability, Possibility Outpost,‎ 13 juin 2009 (consulté le 24 janvier 2012)
  2. (en) Gavin Terrill, « Neo4j - an Embedded, Network Database », InfoQ, C4Media Inc,‎ 5 juin 2008 (consulté le 24 janvier 2012)
  3. (en) « The top 10 ways to get to know Neo4j », Neo4j Blog,‎ 16 février 2010 (consulté le 24 janvier 2012)

Liens externes[modifier | modifier le code]