Post on 20-Mar-2017
Année universitaire:
2015-2016
01
INTRODUCTION
Sommaire1
Introduction
2
C’est quoi le NoSQL
3
Types et performances
4
SGBD en graphe
5
Neo4j
6
Domaines d’application
7
Cypher Language et Architecture
8
Modélisation d’un problème9
Démonstration
10
Conclusion
012
C’est quoi le NoSQL
• le Not Only SQL, fait référence aux SGBD qui se sont libérés des architectures relationnelles.
• Elles étaient conçues pour la manipulation et le traitement du BIG DATA.
013
Espèces et familles NoSQL
<Clé,Valeur>
Orientée
Graphe
Orientée document
Orientée Colonnes
Caractéristiques du NoSQL 014
Cohérence: tous les nœuds du système
voient exactement les mêmes données au
même moment .
P
C A
• Supporte le « Horizontal Scaling ».• Répond au théorème du CAP d’Eric Brewer.
Haute disponibilité (Availability) : en cas de panne, les données restent accessibles .
Tolérance au Partitionnement :le système peut être partitionné.
015NoSQL VS SQLSQ
LN
oSQ
LStockag
e Langage Architecture Performanc
e
Conception figée;
utilise les tables
Clé, valeur
Documents
Graphes
Utilisation de SQL pour les requêtes
Autres langages
Traitement
intensive; usage des jointures
Centralisée
« Vertical scaling »
Accès des très
rapide à la donnée
Distribuée
«Horizontalscaling
»
016SGBD Graphe
une base graphe correspond à tout
système de stockage fournissant une adjacence
entre éléments voisins sans indexation
Stockage optimisé pour des données
représentées dans un graphe
Une base graphe est optimisée pour des
recherches exploitant la localité des données
017Caractéristiques des SGBD en graphe
Performances trés
elevées
Développement simple
Modélisation facile
Neo4j 018
• Neo4j est une base de données hautement
transactionnelle et scalable conforme aux
principes ACID
• c’est la base de données de type graphe la plus
utilisée actuellement selon db-engines.
Définition
Caractéristiques 019
Cypher Volumétrie
Transactionnel
Haute disponibilité
Domaines d’utilisation
Réseaux sociaux1
10
Domaines d’utilisation
Systèmes de recommendation en temps réel
2
11
Domaines d’utilisation
Opérateurs Réseaux et IT3
12
0113C’est quoi Cypher ?
un langage de requête déclarative utilisé par Neo4j
simple et efficace dans la formulation des requêtes
d’interrogation et de mise à jour
• Permet aux utilisateurs de rester concentrés
dans leur domaine d’expertise
Exemple d’une commande Cypher
14
Architecture0115
Détection de fraude dans les banques
0116
1
Les banques perdent des millions de dollars chaque année à cause des opérations de fraude.
2
Les méthodes classiques de détection de fraude jouent un rôle très important dans la lutte contre ces crimes.
3
Utilisation des fausses identités ou le partage des mêmes informations de contact entre plusieurs personnes.
Scénario de l’attaque 0117
1
2
34
5
Création d’un certain nombre d’identités fictives
Des nouveaux comptes sont ajoutés à ceux d’origine : lignes de crédit non garanties, cartes de crédit, les prêts personnels, etc.
Les comptes sont utilisés d’une façon normale, avec des achats réguliers et paiements en temps opportun.
Les banques augmentent les lignes de crédit
renouvelables au fil du temps.
Un jour, les membres du réseau en coordonnant leurs activités, plafonnaient toutes
leurs lignes de crédit, et disparaissent.
18
• Les bases de données graphes sont capables d’arrêter les scénarios de fraude avancées en temps réel.
• En exécutant des requêtes d’analyse sur les liens entre les différents comptes.
Au moment de la création d’un nouveau compte bancaire.
Dès qu’un solde de crédit atteint un seuil prédéfini.Lorsqu’un chèque est refusé
Neo4j pour lutter contre la fraude
Exemples de requêtes de contrôle 0119
Match
Liste de tous les titulaires de comptes ayant partagé au moins une information de
contact légitime entre eux.
Le risque financière qui peut être engendré par l’activité d’un réseaude fraude
Démonstration 0120
0121Conclusion
Neo4j et les base de données de type graphe offrent la
capacité de modéliser des modèles métiers entiers
• si la taille des données à exploiter est gigantesque, une
solution de graph-processing est à envisager
• La modélisation de données sous forme de graphes trés
intuitive, et imite les interconnections des idées et
concept dans le cerveau humain.
MerciDes questions ?