24.11.2015 Views

REX

BD16_REX

BD16_REX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Retours d’expériences Big Data en entreprise<br />

NEO4J - SNAP INTERACTIVE<br />

SNAP INTERACTIVE CONQUIERT LE MARCHÉ DE LA RENCONTRE<br />

EN LIGNE AVEC NEO4J<br />

La vocation de la société basée à Manhattan SNAP Interactive, Inc. (OTCBB: STVI) est de permettre aux personnes<br />

d’accéder au 3e degré. Êtes-vous intéressé ? Voici la question posée à tous les utilisateurs de l’application<br />

Web et mobile de rencontre en ligne AYI (AreYouInterested?). Cette question a fait de SNAP l’un des leaders du<br />

développement d’applications pour sites Web et plate- formes mobiles de réseaux sociaux.<br />

Depuis 2005, SNAP cherche à améliorer la réussite des rencontres en ligne en mettant des amis en relation et en<br />

recoupant leurs intérêts. SNAP a choisi d’ex- plorer le filon des données des connexions de 3e degré. Ingénieur<br />

Big Data chez SNAP, David Fox connaissait les statistiques. « La probabilité qu’une personne se connecte avec<br />

un ami du 3e degré est presque la même que pour un ami du 2e degré, où ils ont un ami commun », explique-t-il.<br />

« Il s’agit d’un point essentiel pouvant faire exploser l’engagement et la taille d’un réseau. » Mais ces données sont<br />

extrêmement difficiles à récupérer avec une base de données relationnelle.<br />

Le défi de SNAP consistait à représenter les données de type « amis des amis ». L’équipe ne disposait d’aucun<br />

moyen efficace de trouver les connexions de 3e degré au sein de son immense réseau social, avec plus d’un milliard<br />

d’individus dans le graphe et plus de 7 milliards de relations.<br />

David Fox a exploité Neo4j pour modéliser les données entre les utilisateurs amis et créer des connexions de 3e<br />

degré visibles (c’est-à-dire les amis d’amis ainsi que les amis des amis d’amis) à l’échelle de l’application AYI. Le<br />

retour s’est avéré colossal.<br />

Aujourd’hui, AYI est l’une des applications sociales les plus utilisées sur Internet, avec plus de 70 millions<br />

d’installations, des millions de visiteurs actifs et un par tenariat stratégique avec Match.com. « Nous continuons<br />

à innover avec Neo4j en exploitant la puissance des traversées multi-saut en temps réel pour gérer le volume de<br />

données sociales et sommes passés de 7 à 8 milliards de relations », explique David Fox.<br />

LE DÉFI<br />

À l›origine, le service de SNAP était basé sur Apache Solr et reliait les amis de 2e degré, présentant les données<br />

de type « amis des amis ». L›équipe ne parvenait pas à trouver une solution efficace pour rechercher les connexions<br />

de 3e degré au sein d›un corpus de données comptant plus d›un milliard de nœuds d›individus et plus de 7<br />

milliards de relations. Après avoir minutieusement exploré et testé MySQL, l›équipe a conclu que cette plateforme<br />

ne permettait pas de gérer les connexions de 3e degré ni d›autres problèmes complexes. Le temps nécessaire au<br />

développement et à la maintenance de l›indexation et des jointures aurait été trop important et la solution aurait<br />

été incapable de gérer le trafic et le volume de données existant.<br />

David Fox a alors pris la décision de passer à une base de données orientée graphe et a choisi Neo4j, seule et<br />

unique solution à ses yeux capable de gérer la croissance du service AYI.<br />

POURQUOI NEO4J?<br />

Le choix s’est porté sur Neo4j pour sa flexibilité, sa vitesse et sa sim- plicité d’utilisation. SNAP a ainsi pu proposer<br />

une offre particulière- ment distinctive en améliorant nettement le nombre de recomman- dations de rencontres à<br />

travers l’exploitation des connexions de type<br />

« amis des amis ». Grâce à Neo4j, le développement a été simplifié. Cypher, le langage de requête de Neo4j, a<br />

accéléré la phase d’implé- mentation en facilitant grandement le codage. La possibilité d’utiliser Java en natif a<br />

aidé SNAP à respecter les spécificités en termes de lecture et a offert une vitesse et une flexibilité maximales pour<br />

optimi- ser l’importation d’un volume de données considérable.<br />

LES AVANTAGES<br />

Le service AYI de SNAP offre aujourd’hui des temps de réponse rapi- des sur l’un des graphes sociaux les plus<br />

vastes au monde, comptant plus d’un milliard d’individus, gérant les recommandations de ren- contres entre «<br />

amis d’amis » avec des performances en temps réel constantes. Le choix de Neo4j pour gérer le réseau social de<br />

SNAP a également permis de réduire sensiblement les délais de développe- ment et le coût global par rapport à<br />

MySQL. Neo4j a facilité l’ajout de fonctionnalités et permet des requêtes rapides et flexibles.<br />

Aujourd’hui, 98 % des requêtes sont exécutées plus rapidement que prévu. L’utilisation de Neo4j pour gérer les<br />

relations « amis d’amis » s’avère plus que payante. « Les utilisateurs vont interagir s’ils voient qu’ils ont un ami<br />

en commun, la 3e connexion. SNAP révèle les «amis des amis», générant ainsi un nombre d’utilisateurs de plus<br />

en plus important, ce qui augmente d’autant l’interaction entre les utilisa- teurs et permet une croissance rapide<br />

du réseau. Cela représente un engagement colossal, qui a fait augmenter le nombre de relations de 7 à presque<br />

8 milliards depuis l’implémentation de Neo4j. C’est de bon augure pour notre entreprise », explique David Fox.<br />

Document réalisé par la Société Corp Events - Janvier 2015<br />

77

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!