SlideShare une entreprise Scribd logo
BASE DE DONNÉES ORIENTÉE GRAPHE
Mme Ines Slimene
Ines_slimene@yahoo.fr
Problème 1 : Croissance exponentielle du
volume de données
https://inesslimene.wixsite.com/moncours NEO4J 2
Problème 2: Explosion de la connectivité
des données
https://inesslimene.wixsite.com/moncours NEO4J 3
Volume x Connectivité = Complexité
https://inesslimene.wixsite.com/moncours NEO4J 4
Cas d’utilisation
• Détection de fraude
• Recommandation
• Réseaux sociaux
• Gestion de configuration
• Géo-Spatial
• Interactions moléculaires (Biologie)
• Gestion de ligne produit
• Collaboration
https://inesslimene.wixsite.com/moncours NEO4J 5
Neo Technology (Neo4j)
Editeur de la base de données de graphes Neo4j depuis 2000
Présence en France, Allemagne, Angleterre, Suède, USA, Grèce et Malaisie
1 000 000+ téléchargements
27 000 membres dans la communauté dans 25 pays (7 villes en France)
Top 500 clients tels que Adobe, eBay, Wallmart, UBS, ABC Bank,Cisco, Deutsch Telecom, Deutsch Post,
Telenor, SFR, Lockheed Martin, Airbus…
Partenaires locaux ou globaux tels que Accenture : +150
Partenaires technologiques tels que VMware, Informatica et Microsoft
Neo4j est leader mondial des bases de données Graph
https://inesslimene.wixsite.com/moncours NEO4J 6
Inconvénients autres types de BDNR
Pas de structure de données pour modéliser ou stocker les relations
Pas de requêtes développées pour supporter les relations entre les données
Les relations entre les données exigent une jointure logique dans l’application
Pas de support ACID pour les transactions
… les bases de données NoSQL ne sont pas adaptées pour les process
exigeants des relations entre les données en temps réel
https://inesslimene.wixsite.com/moncours NEO4J 7
Neo4j
Neo4j est une base de données de graphe de type entreprise permettant:
◦ Modéliser et stocker les données comme un graphe
◦ Requêter les relations entre les données facilement et en temps réel
◦ Evolution simple des applications pour supporter les nouveaux besoins et
ajouter les nouveaux types de données et relations
https://inesslimene.wixsite.com/moncours NEO4J 8
Caractéristiques
9
Stockage graphe natif qui assure la consistance
des données et la performance
Native Graph Processing
Millions t’étapes, de “sauts” par seconde, en
temps réel.
“Whiteboard Friendly” Data Modeling
Modélisation implicites des données
Haute intégrité des données
Transactions 100% ACID
Requête simple et performante
Requiert 10 à 100 fois moins de code que SQL
Scalabilité et haute disponibilité
Scalabilité verticale et horizontale
Built-in ETL
Import simple des bases de données et fichiers
Integration
Drivers et APIs pour les langages standards
https://inesslimene.wixsite.com/moncours NEO4J
Base de données orientée « Graphe »
Une base dont la structure est représentée sous forme de « graphe » (théorie des graphes)
Ce graphe est basé sur des Nœuds et des Arcs
Par exemple, les relations entre les utilisateurs de Twitter peuvent être représentées de manière
simplifiée par le graphe suivant :
https://inesslimene.wixsite.com/moncours NEO4J 10
Base de données orientée « Graphe »
Dans cette structure de données, on considère que la relation est aussi importante que l’entité
La relation est identifiée par un nom (sémantique)
Exemple :
◦ NEO4j (Java) : Neo Technology
◦ OrientDB (Java) : Nuvela Base
◦ DEX (C++) : Sparsity Technologies
◦ TinkerGraph (Java) : TinkerPop
https://inesslimene.wixsite.com/moncours NEO4J 11
Base de données orientée « Graphe »
Un graphe peut représenter n’importe quel type de données.
Un nœud est l’équivalent d’un enregistrement
Une relation permet de relier des nœuds, et peut être typée
Les nœuds et les relations peuvent avoir des propriétés, représentant des attributs nommés
Un label est un nom permettant d’organiser les nœuds en groupes
https://inesslimene.wixsite.com/moncours NEO4J 12
Stockage et traitement graphe
Stockage Graphe
◦ Objectif: performance et scalabilité.
◦ Stockage des données représentées sous forme d'un graphe, avec des nœuds et des relations.
◦ Utilisant des structures de stockage dédiées aux nœuds et relations.
Traitement Graphe
◦ Parcours des relations grâce à des pointeurs physiques.
◦ Système de stockage capable de fournir une adjacence entre éléments voisins : chaque voisin d'une
entité est accessible grâce à un pointeur physique.
◦ Lecture et parcours des données sans recours à un index, en utilisant les arcs pour passer d'un nœud à
l'autre.
https://inesslimene.wixsite.com/moncours NEO4J 13
Scalabilité: sharding
•S'il faut dépasser la capacité d'un cluster, nous pouvons partitionner le graphe sur plusieurs
instances de la base via la construction d'une logique de sharding dans l'application.
•Le sharding implique l'utilisation d'un identifiant synthétique pour la jointure des données sur
plusieurs instances de la base au niveau applicatif.
•Comment cela s'effectuera dépend beaucoup de la forme du graphe. Certains graphes se prêtent
très bien à ce cas avec des «frontières pratiques». Bien sûr, pas tous les graphes ont des «frontières»
si évidentes.
•L'objectif futur de la plupart des bases de données graphe est d'être capable de partitionner un
graphe sur plusieurs machines sans intervention au niveau de l'application, de sorte que l'accès en
lecture et en écriture sur le graphe puisse être scalable horizontalement.
•Dans le cas général, cela est connu pour être un problème NP-dur, et donc impossible à résoudre.
https://inesslimene.wixsite.com/moncours NEO4J 14
La base de données Neo4j
Neo4j ne gère pas les bases de données multiples.
Le cas d’utilisation d’une base de données orientée graphes est spécifique, et il n’y a pas
vraiment de sens de créer plusieurs bases de données.
Neo4j stocke toutes ses données dans un répertoire.
Pour supprimer la base de données entière, il convient d’arrêter le service, de supprimer tous les
fichiers du répertoire (neo4j/data/graph.db) et de redémarrer le service.
https://inesslimene.wixsite.com/moncours NEO4J 15
Les langages de Neo4j
Mis à part les pilotes spécifiques pour les langages clients, qui permettent de manipuler les
nœuds et les relations dans un mode procédural, Neo4j offre deux langages spécifiques :
Cypher et Gremlin.
Cypher est un langage déclaratif inspiré du SQL, qui permet d’exprimer une requête complexe de
façon élégante et compacte.
Gremlin, quant à lui, est un langage de script basé sur Groovy (un langage pour la plate-forme
Java dont la syntaxe s’inspire de langages de script comme Python et Ruby). Il permet d’envoyer
des scripts qui seront exécutés du côté serveur à travers l’interface REST de Neo4j.
Nous allons utiliser ici des commandes Cypher.
https://inesslimene.wixsite.com/moncours NEO4J 16
Language Cypher
https://inesslimene.wixsite.com/moncours NEO4J 17

Contenu connexe

Tendances

Présentation des bases de données orientées graphes
Présentation des bases de données orientées graphesPrésentation des bases de données orientées graphes
Présentation des bases de données orientées graphes
Koffi Sani
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
Samy Dindane
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
JEMLI Fathi
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
kamar MEDDAH
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
Laurent Broudoux
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSql
Sidi LEKHALIFA
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast Connect
MongoDB
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
Romain Cambien
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
Hamza SAID
 
Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -
IliasAEA
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuée
kamar MEDDAH
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
Oussama ARBI
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
Ines Slimene
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
Neo4j
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
TelecomValley
 
introduction to NoSQL
introduction to NoSQLintroduction to NoSQL
introduction to NoSQL
Younes (omar) Meliani
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDB
FastConnect
 
Presentation cassandra
Presentation cassandraPresentation cassandra
Presentation cassandra
fatima zahra FANDI
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
ebiznext
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
CHAKER ALLAOUI
 

Tendances (20)

Présentation des bases de données orientées graphes
Présentation des bases de données orientées graphesPrésentation des bases de données orientées graphes
Présentation des bases de données orientées graphes
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSql
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast Connect
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuée
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
introduction to NoSQL
introduction to NoSQLintroduction to NoSQL
introduction to NoSQL
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDB
 
Presentation cassandra
Presentation cassandraPresentation cassandra
Presentation cassandra
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
 

Similaire à Neo4j

Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
MICHRAFY MUSTAFA
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
ChristopheTricot
 
Exploration graphique des bases Nosql.pptx
Exploration graphique des bases Nosql.pptxExploration graphique des bases Nosql.pptx
Exploration graphique des bases Nosql.pptx
fatimabensseria18
 
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec DenodoSimplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
Denodo
 
Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022
Denodo
 
La Data Virtualization au coeur de l’architecture “Data Mesh”
La Data Virtualization au coeur de l’architecture “Data Mesh”La Data Virtualization au coeur de l’architecture “Data Mesh”
La Data Virtualization au coeur de l’architecture “Data Mesh”
Denodo
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
Denodo
 
La voie du succès avec les bases de données de graphes, la Graph Data Scie...
 La voie du succès avec les bases de données de graphes, la Graph Data Scie... La voie du succès avec les bases de données de graphes, la Graph Data Scie...
La voie du succès avec les bases de données de graphes, la Graph Data Scie...
Neo4j
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
Denodo
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
Microsoft
 
Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018
Converteo
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
Antoine Augusti
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
Lilia Sfaxi
 
Cours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptxCours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptx
baaab6100
 
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data VirtualizationSession en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Denodo
 
Livre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakesLivre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakes
Converteo
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
MongoDB
 
Session découverte de la Data Virtualization
Session découverte de la Data VirtualizationSession découverte de la Data Virtualization
Session découverte de la Data Virtualization
Denodo
 

Similaire à Neo4j (20)

Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
 
Bases dedonnees.net
Bases dedonnees.netBases dedonnees.net
Bases dedonnees.net
 
Exploration graphique des bases Nosql.pptx
Exploration graphique des bases Nosql.pptxExploration graphique des bases Nosql.pptx
Exploration graphique des bases Nosql.pptx
 
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec DenodoSimplifier la mise en place d'une stratégie Data Mesh avec Denodo
Simplifier la mise en place d'une stratégie Data Mesh avec Denodo
 
Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022
 
La Data Virtualization au coeur de l’architecture “Data Mesh”
La Data Virtualization au coeur de l’architecture “Data Mesh”La Data Virtualization au coeur de l’architecture “Data Mesh”
La Data Virtualization au coeur de l’architecture “Data Mesh”
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
 
La voie du succès avec les bases de données de graphes, la Graph Data Scie...
 La voie du succès avec les bases de données de graphes, la Graph Data Scie... La voie du succès avec les bases de données de graphes, la Graph Data Scie...
La voie du succès avec les bases de données de graphes, la Graph Data Scie...
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018Livre blanc data-lakes converteo 2018
Livre blanc data-lakes converteo 2018
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Cours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptxCours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptx
 
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data VirtualizationSession en ligne: Découverte du Logical Data Fabric & Data Virtualization
Session en ligne: Découverte du Logical Data Fabric & Data Virtualization
 
Livre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakesLivre Blanc : comprendre les data-lakes
Livre Blanc : comprendre les data-lakes
 
Intro SQL
Intro SQL Intro SQL
Intro SQL
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
 
Session découverte de la Data Virtualization
Session découverte de la Data VirtualizationSession découverte de la Data Virtualization
Session découverte de la Data Virtualization
 

Plus de Ines Slimene

Spark
SparkSpark
Redis
RedisRedis
Crud
CrudCrud
Cassandra
CassandraCassandra
Cassandra
Ines Slimene
 
Agregation
AgregationAgregation
Agregation
Ines Slimene
 
Pig
PigPig
Mapreduce
MapreduceMapreduce
Mapreduce
Ines Slimene
 
Introduction
IntroductionIntroduction
Introduction
Ines Slimene
 
Intro mongodb
Intro mongodbIntro mongodb
Intro mongodb
Ines Slimene
 
Hive
HiveHive
Hdfs
HdfsHdfs
Hbase
HbaseHbase
Hadoop
HadoopHadoop
Hadoop
Ines Slimene
 
Indexation
IndexationIndexation
Indexation
Ines Slimene
 

Plus de Ines Slimene (14)

Spark
SparkSpark
Spark
 
Redis
RedisRedis
Redis
 
Crud
CrudCrud
Crud
 
Cassandra
CassandraCassandra
Cassandra
 
Agregation
AgregationAgregation
Agregation
 
Pig
PigPig
Pig
 
Mapreduce
MapreduceMapreduce
Mapreduce
 
Introduction
IntroductionIntroduction
Introduction
 
Intro mongodb
Intro mongodbIntro mongodb
Intro mongodb
 
Hive
HiveHive
Hive
 
Hdfs
HdfsHdfs
Hdfs
 
Hbase
HbaseHbase
Hbase
 
Hadoop
HadoopHadoop
Hadoop
 
Indexation
IndexationIndexation
Indexation
 

Dernier

Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
Sékou Oumar SYLLA
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
M2i Formation
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
dokposeverin
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
kamouzou878
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
Faga1939
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
lebaobabbleu
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
lebaobabbleu
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
MahouwetinJacquesGBO
 

Dernier (15)

Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
L'ÉDUCATION AVEC INTELLIGENCE ARTIFICIELLE ET LES DÉFICIENCES DE SON APPLICAT...
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
 

Neo4j

  • 1. BASE DE DONNÉES ORIENTÉE GRAPHE Mme Ines Slimene Ines_slimene@yahoo.fr
  • 2. Problème 1 : Croissance exponentielle du volume de données https://inesslimene.wixsite.com/moncours NEO4J 2
  • 3. Problème 2: Explosion de la connectivité des données https://inesslimene.wixsite.com/moncours NEO4J 3
  • 4. Volume x Connectivité = Complexité https://inesslimene.wixsite.com/moncours NEO4J 4
  • 5. Cas d’utilisation • Détection de fraude • Recommandation • Réseaux sociaux • Gestion de configuration • Géo-Spatial • Interactions moléculaires (Biologie) • Gestion de ligne produit • Collaboration https://inesslimene.wixsite.com/moncours NEO4J 5
  • 6. Neo Technology (Neo4j) Editeur de la base de données de graphes Neo4j depuis 2000 Présence en France, Allemagne, Angleterre, Suède, USA, Grèce et Malaisie 1 000 000+ téléchargements 27 000 membres dans la communauté dans 25 pays (7 villes en France) Top 500 clients tels que Adobe, eBay, Wallmart, UBS, ABC Bank,Cisco, Deutsch Telecom, Deutsch Post, Telenor, SFR, Lockheed Martin, Airbus… Partenaires locaux ou globaux tels que Accenture : +150 Partenaires technologiques tels que VMware, Informatica et Microsoft Neo4j est leader mondial des bases de données Graph https://inesslimene.wixsite.com/moncours NEO4J 6
  • 7. Inconvénients autres types de BDNR Pas de structure de données pour modéliser ou stocker les relations Pas de requêtes développées pour supporter les relations entre les données Les relations entre les données exigent une jointure logique dans l’application Pas de support ACID pour les transactions … les bases de données NoSQL ne sont pas adaptées pour les process exigeants des relations entre les données en temps réel https://inesslimene.wixsite.com/moncours NEO4J 7
  • 8. Neo4j Neo4j est une base de données de graphe de type entreprise permettant: ◦ Modéliser et stocker les données comme un graphe ◦ Requêter les relations entre les données facilement et en temps réel ◦ Evolution simple des applications pour supporter les nouveaux besoins et ajouter les nouveaux types de données et relations https://inesslimene.wixsite.com/moncours NEO4J 8
  • 9. Caractéristiques 9 Stockage graphe natif qui assure la consistance des données et la performance Native Graph Processing Millions t’étapes, de “sauts” par seconde, en temps réel. “Whiteboard Friendly” Data Modeling Modélisation implicites des données Haute intégrité des données Transactions 100% ACID Requête simple et performante Requiert 10 à 100 fois moins de code que SQL Scalabilité et haute disponibilité Scalabilité verticale et horizontale Built-in ETL Import simple des bases de données et fichiers Integration Drivers et APIs pour les langages standards https://inesslimene.wixsite.com/moncours NEO4J
  • 10. Base de données orientée « Graphe » Une base dont la structure est représentée sous forme de « graphe » (théorie des graphes) Ce graphe est basé sur des Nœuds et des Arcs Par exemple, les relations entre les utilisateurs de Twitter peuvent être représentées de manière simplifiée par le graphe suivant : https://inesslimene.wixsite.com/moncours NEO4J 10
  • 11. Base de données orientée « Graphe » Dans cette structure de données, on considère que la relation est aussi importante que l’entité La relation est identifiée par un nom (sémantique) Exemple : ◦ NEO4j (Java) : Neo Technology ◦ OrientDB (Java) : Nuvela Base ◦ DEX (C++) : Sparsity Technologies ◦ TinkerGraph (Java) : TinkerPop https://inesslimene.wixsite.com/moncours NEO4J 11
  • 12. Base de données orientée « Graphe » Un graphe peut représenter n’importe quel type de données. Un nœud est l’équivalent d’un enregistrement Une relation permet de relier des nœuds, et peut être typée Les nœuds et les relations peuvent avoir des propriétés, représentant des attributs nommés Un label est un nom permettant d’organiser les nœuds en groupes https://inesslimene.wixsite.com/moncours NEO4J 12
  • 13. Stockage et traitement graphe Stockage Graphe ◦ Objectif: performance et scalabilité. ◦ Stockage des données représentées sous forme d'un graphe, avec des nœuds et des relations. ◦ Utilisant des structures de stockage dédiées aux nœuds et relations. Traitement Graphe ◦ Parcours des relations grâce à des pointeurs physiques. ◦ Système de stockage capable de fournir une adjacence entre éléments voisins : chaque voisin d'une entité est accessible grâce à un pointeur physique. ◦ Lecture et parcours des données sans recours à un index, en utilisant les arcs pour passer d'un nœud à l'autre. https://inesslimene.wixsite.com/moncours NEO4J 13
  • 14. Scalabilité: sharding •S'il faut dépasser la capacité d'un cluster, nous pouvons partitionner le graphe sur plusieurs instances de la base via la construction d'une logique de sharding dans l'application. •Le sharding implique l'utilisation d'un identifiant synthétique pour la jointure des données sur plusieurs instances de la base au niveau applicatif. •Comment cela s'effectuera dépend beaucoup de la forme du graphe. Certains graphes se prêtent très bien à ce cas avec des «frontières pratiques». Bien sûr, pas tous les graphes ont des «frontières» si évidentes. •L'objectif futur de la plupart des bases de données graphe est d'être capable de partitionner un graphe sur plusieurs machines sans intervention au niveau de l'application, de sorte que l'accès en lecture et en écriture sur le graphe puisse être scalable horizontalement. •Dans le cas général, cela est connu pour être un problème NP-dur, et donc impossible à résoudre. https://inesslimene.wixsite.com/moncours NEO4J 14
  • 15. La base de données Neo4j Neo4j ne gère pas les bases de données multiples. Le cas d’utilisation d’une base de données orientée graphes est spécifique, et il n’y a pas vraiment de sens de créer plusieurs bases de données. Neo4j stocke toutes ses données dans un répertoire. Pour supprimer la base de données entière, il convient d’arrêter le service, de supprimer tous les fichiers du répertoire (neo4j/data/graph.db) et de redémarrer le service. https://inesslimene.wixsite.com/moncours NEO4J 15
  • 16. Les langages de Neo4j Mis à part les pilotes spécifiques pour les langages clients, qui permettent de manipuler les nœuds et les relations dans un mode procédural, Neo4j offre deux langages spécifiques : Cypher et Gremlin. Cypher est un langage déclaratif inspiré du SQL, qui permet d’exprimer une requête complexe de façon élégante et compacte. Gremlin, quant à lui, est un langage de script basé sur Groovy (un langage pour la plate-forme Java dont la syntaxe s’inspire de langages de script comme Python et Ruby). Il permet d’envoyer des scripts qui seront exécutés du côté serveur à travers l’interface REST de Neo4j. Nous allons utiliser ici des commandes Cypher. https://inesslimene.wixsite.com/moncours NEO4J 16