Nouvelles opportunités pour les données fortement interconnectées : La base de graphe Neo4j Cédric Fauvet Votre contact en France Cedric.fauvet@neotechnology.com Twi<er : @Neo4jFr ConfidenCal - Neo Technology, Inc. 1
La base de graphe Neo4j A propos des graphes PrésentaCon de Neo Technology Cas d uclisacon clients et génériques Vision du marché Technologie Neo4j Cypher le «SQL» de Neo4j
A propos des graphes : La théorie des graphes An 840 : Le problème du cavalier Le joueur et théoricien d'échecs arabe al- Adli ar- Rumi en donne déjà une solucon.
A propos des graphes : La théorie des graphes An 1735 : Le problème des sept ponts du Königsberg Passer une seule fois par le même pont. Leonhard Euler MathémaCcien Suisse
A propos des graphes : La théorie des graphes 2013: Les problèmes d aujourd hui CollaboraCon GesCon de configuracon Géo- SpaCal InteracCons moléculaires (Biologie) Analyse d impact Master Data Management GesCon de ligne produit RecommendaCon Social
Agenda A propos des graphes PrésentaCon de Neo Technology Cas d uclisacon clients et génériques Vision du marché Technologie Neo4j Cypher le «SQL» de Neo4j
Neo Technology (Neo4j) Editeur de la base de données graphe Neo4j depuis 2000 QG à Palo Alto (CA) aux USA, ingénierie à Malmö en Suède Présence en France, Allemagne, Angleterre, Suède, USA, Grèce et Malaisie 100,000+ uclisateurs Top 500 clients tels que Adobe, Cisco, Deutsche Telecom, Telenor, SFR, Lockheed MarCn, Support global 24/7 Partenaires locaux ou globaux tels que Accenture Partenaires technologiques tels que VMware, InformaCca et Microsok Leader mondial des bases de données Graph
Agenda A propos des graphes PrésentaCon de Neo Technology Cas d uclisacon clients et génériques Vision du marché Technologie Neo4j Cypher le «SQL» de Neo4j
Clients France
Etude de cas: Moteur de recommandacon Problème - RecommandaCons temps- réel afin de fidéliser les uclisateurs et amrer de nouveaux membres. - A l origine réalisé par un traitement batch de 1h. Suite au succès du projet la durée d exécucon est passée à un jour puis deux - Cluster MySQL non scalable et trop lent pour le temps réel. SoluAon - Expérience temps réel pour les uclisateurs de Viadeo. - SoluCon scalable. - Faible coût de maintenance et architecture fiable. Société - Présence mondiale. - 45 millions d uclisateurs, + 30 000 chaque jour. - Propriétaire des réseaux sociaux ApnaCircle (Inde) et Tianji (Chine)
Etude de cas: Moteur de recommandacon Problème - RecommandaCons temps- réel afin de fidéliser les uclisateurs et amrer de nouveaux membres. - Isoler et traiter les cas des super- dragueurs et super- dragués. - A l origine réalisé par un traitement batch écrit en PHP SoluAon - Expérience temps réel pour les uclisateurs de MeeCc. - SoluCon scalable. - Faible coût de maintenance et architecture fiable. Société - Leader Européen des sites de rencontre. - 126,1 million euro/y (+ 2,7 % Comparé avec 2012) - 840 801 membres
Etude de cas: Routage de colis Problème - Système cricque en ligne 24x7. - Capacité du système historique dépassée d ici peu. - Nombreux logiciels en interaccon complexe. - Performance a<endue : Linéaire et scalable. - Changements quocdiens des routes possibles. SoluAon : - Nouveau système de routage = Graphe = Neo4j. - Plus simple : Cypher Vs SQL - Plus Flexible : Reflet du monde réel. - Plus rapide et hautement disponible : Cluster Neo4j - Une seule «source de vérité» pour tout le réseau. Société - Opérateur historique de logiscque d un grand pays EU. - +2500 colis par seconde dans les pics. - Routage temps- réel : 5 Millions par jour! - Suivi des colis pour les clients B2C & B2B.
Etude de cas: Analyse d impact Problème - Une semaine encère pour planifier une maintenance. - Analyste d impact sur de mulcples systèmes (>30). - Changements quocdiens dans l infrastructure. - IdenCfier les clients impactés par une maintenance. - IdenCfier les faiblesses du réseau (Deuxième projet). SoluAon - IdenCficaCon temps réel des clients liées à une panne. - GesCon d inventaire réseaux très flexible. - Une seule source de vérité (Neo4j) représentant le réseau encer. - Système dynamique de chargement (ETL) des données issues de +30 sources variées. - Mise en applicacon rapide des changements mécers. Société - Deuxième opérateur Télécom Français. - 12 Milliard de CA en 2012. - 5 000 clients haut débit. - 20 000 Clients mobile. - 165 000 Clients entreprise. - 250 Clients opérateurs. (Chiffres 2012)
Etude de cas: CollaboraCon sociale DéfiniAon du problème - Volume de données important lié aux membres, groupes d uclisateurs, contenu des membres - le tout massivement interconnecté - Besoin d en déduire les relacons de collaboracon basé sur les contenu uclisateurs. Bénéfices & Ame frame - Analyse des données hautement flexible - Sub- second results for large, densely- connected datasets - Expérience de l uclisateur Avantage compéccf - Durée du projet : 12 mois SoluAon - Cluster de Neo4j Enterprise - Composant d une plus grande infrastructure - Déploiement MulC- régions AWS - Neo4j sélecconné sur une solucon custom et Oracle Le client Adobe est le leader mondial des solucons mulcmédias et de markecng numérique. 14
Etude de cas: GesCon des droits DéfiniAon du problème - Besoin d un contrôle d accès fiable pour 5 millions de clients, souscripcons et accords. - Dépendances complexes entre les groupes, sociétés, individus, comptes, produits, souscripcons, services et accords - Graphs globaux et profonds (Client principaux avec 1000 fils, souscripcons et accords) Bénéfices & Ame frame - Architecture flexible et dynamique. - Performance excepconnelle. - Bas coût comparé aux autres alternacves. - Modèle de données extensible supportant l ajout de nouvelles applicacons et foncconnalités. SoluAon - Neo4j solucon entreprise. - Embarqué et haute disponibilité. - En remplacement de bases de données Oracles. vieilles de 10 ans, Berkeley DB et un environnement La société - Opérateur téléphonique leader dans les pays nordiques mainframe. 15
Etude de cas: GesCon commerciale de comptes DéfiniAon du problème - Règles complexes régissant la propriété des comptes. - Règles complexes de calcul des commissions - Requêtes complexes dues à la structure des RDBMS - Performances de la base de données Oracle insuffisante pour une gescon temps réel des comptes Bénéfices & Ame frame - Vue temps réel sur les comptes et leurs propriétaires - Capacité de modéliser des règles complexes pour la gescon de la propriété des comptes - Calcul des commissions automacque pour toute l organisacon commerciale - Environ 12 moins de développement SoluAon - 2 clusters Neo4J hautement disponibles - Un cluster en produccon un second en sauvegarde Société - Leader mondial de l infrastructure réseau - Vaste organisacon commerciale dans des Datacenter différents - Au total: 6 bases de données Neo4J Enterprise embarquées 16
Agenda A propos des graphes PrésentaCon de Neo Technology Cas d uclisacon clients et génériques Vision du marché Technologie Neo4j Cypher le «SQL» de Neo4j
Trend Tendance 1: Exponential n 1 : Croissance exponencelle du volume de données growth of data 1000 Exa- octets Exabytes of de new nouvelles unique données digital information uniques 750 500 250 0 2007 2008 2009 2010
Tendance n 2 : Explosion de la conneccvité des données
Volume x ConnecCvité = Complexité
Performance Couverture foncconnelle de SQL The Zone of SQL Adequacy Geo Social SQL database Requirement of application Salary List Network / Cloud Management ERP CRM MDM Data complexity
Agenda A propos des graphes PrésentaCon de Neo Technology Cas d uclisacon clients et génériques Vision du marché Technologie Neo4j Cypher le «SQL» de Neo4j
Neo4j Adapté aux données complexes: Volumineuses Fortement connectées Semi- structurées
CaractérisCques de Neo4j TransacCons Full ACID XA- compliant distributed two- phase commits Haute disponibilité / Scalabilité* master- slave réplicacon avec master Fail- over * Lecture Hautes performances en mémoire Caches évolués full ACID Langage des requêtes Cypher Java APIs JDBC Rest API Ruby
Agenda A propos des graphes PrésentaCon de Neo Technology Cas d uclisacon clients et génériques Vision du marché Technologie Neo4j Cypher le «SQL» de Neo4j
Cypher le langage SQL d interrogacon de Neo4j Basé sur du ACSII- Art A B (A) --> (B)
Cypher le langage SQL d interrogacon de Neo4j RelaAons A AIME B A -[:AIME]-> B
Cypher le langage SQL d interrogacon de Neo4j Les traversées de graphe A B C A --> B --> C
Cypher le langage SQL d interrogacon de Neo4j Les traversées Dynamiques de graphes A B A B A B A -[*]-> B
Cypher le langage SQL d interrogacon de Neo4j Exemple de recherche des amis d amis MATCH (john {name: 'John'})- [:friend]- >()- [:friend]- >(fof) RETURN john, fof
Merci Pour aller plus loin : Cédric Fauvet Votre contact en France E- mail : Cedric.fauvet@neotechnology.com TwiSer : @Neo4jFr Rencontrer la communauté Neo4j : www.meetup.com/graphdb- france www.meetup.com/graphdb- lyon www.meetup.com/graphdb- montpellier