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 - EBAY<br />

EBAY NOW CHOISIT NEO4J POUR LA GESTION DU ROUTAGE DE SON<br />

SERVICE DE LIVRAISON E-COMMERCE<br />

La société londonienne Shutl était réputée pour l’incroyable rapidité de ses services avant même son acquisition<br />

par eBay, leader mondial du e-commerce. Depuis sa création en 2009, sa mission est de livrer le plus rapidement<br />

possible les achats effectués sur Internet à leurs destinataires. Qu’il s’agisse de jouets, de chaussons, de cravates<br />

ou encore d’iPhones, eBay fait désormais appel à la plateforme nouvelle génération de Shutl pour redéfinir le e-<br />

commerce en accélérant et en simplifiant la livraison des commandes passées sur Internet ou appareil mobile.<br />

eBay élimine le plus gros obstacle entre les vendeurs et les ache- teurs en ligne en proposant une livraison des<br />

articles le jour même. Aujourd’hui, la plateforme de Shutl est à la base des opérations du service de livraison locale<br />

eBay Now dans quatre marchés américains et son extension à 25 grandes villes aux États-Unis et au Royaume-<br />

Uni est prévue pour la fin 2014. Volker Pacher, développeur senior pour eBay, fait partie de l’équipe principale de<br />

la plateforme de services chargée de fournir une API aux transporteurs et aux marchands. Les requêtes envoyées<br />

à l’API ont connu une croissance exponen- tielle, d’où un allongement des temps de réponse. L’équipe a donc<br />

entièrement repensé la première plateforme SaaS de Shutl. Volker Pacher savait qu’une base de données orientée<br />

graphe permettrait de simplifier la modélisation du domaine sans affecter la structure existante. À l’aide de Neo4j<br />

et d’une structure de graphe sans schéma (schema-less), l’équipe a créé une base de données permettant aux<br />

requêtes de rester localisées à l’intérieur du graphe, améliorant les performances grâce à la facilité d’expression.<br />

Comme aime à le dire Volker Pacher : « Notre système fonc- tionne sur sept lignes de Cypher ».<br />

La plateforme Shutl orchestre les livraisons entre les boutiques, les coursiers et les acheteurs 24 h/24 et 7 j/7. Les<br />

envois s’effectuent directement depuis les points de vente. Le service organise la collecte et la livraison des articles<br />

selon les préférences des clients, généralement dans un délai de deux heures, ou dans une fenêtre de livraison d’une<br />

heure choisie par les clients. Le résultat : un service innovant qui améliore la qualité de service pour les clients ainsi que<br />

la producti- vité des partenaires revendeurs et transporteurs. Tous les acteurs sont gagnants : les clients disposent de<br />

plus de choix pour la livraison, les coursiers ne perdent plus de temps à attendre et les boutiques peuvent proposer des<br />

services supplé- mentaires à leurs clients sur Internet. Shutl « sauve les petits commerces » dans chaque ville en faisant<br />

appel à leurs services marchands et de livraison et en leur permettant ainsi de rester compétitifs.<br />

LE DÉFI<br />

Le service de livraison le jour même de Shutl s’est développé de manière exponentielle et couvre aujourd’hui<br />

jusqu’à 85 % du Royaume-Uni. Sa plateforme de services a dû être entièrement repensée afin de prendre en<br />

charge l’explosion du volume de données et les nouvelles fonctionnalités. Les join- tures MySQL utilisées auparavant<br />

ont créé une base de code trop lente et complexe. Les délais d’exé- cution des requêtes de sélection<br />

du meilleur coursier étaient tout simplement trop longs et Shutl avait besoin qui permette à son service de rester<br />

compétitif. Volker Pacher et l’équipe de développement pensaient qu’en ajoutant une base de données orientée<br />

graphe à l’AOS et à la structure de services, il serait possible de résoudre les problèmes de performan- ces et<br />

d’évolutivité. L’équipe a choisi Neo4j, la meilleure solution à ses yeux.<br />

POURQUOI NEO4J?<br />

Le choix s’est porté sur Neo4j pour sa flexibilité, sa vitesse et sa simplicité d’utilisation. Son modèle de graphe à<br />

propriétés était parfaitement com- patible avec le domaine modélisé. La base de données ne nécessitant pas de<br />

schéma, cela a simplifié son extensibilité et a permis d’accélérer la phase de développement. Enfin, les limitations<br />

en termes de rapidité et d’évolutivité de la solution précédente ont été surmontées. « Notre solu- tion Neo4j est<br />

littéralement des milliers de fois plus rapide que la solution MySQL précédente, avec des requêtes qui nécessitent<br />

de 10 à 100 fois moins de code. Dans le même temps, Neo4j nous a permis d’ajouter des fonctionnalités jusqu’ici<br />

impossibles », explique Volker Pacher. Cypher a permis d’exprimer les requêtes sous une forme très compacte et<br />

intuitive, ce qui a accéléré le développement. L’équipe a pu exploiter le code existant à l’aide d’une bibliothèque<br />

Ruby pour Neo4j prenant égale- ment en charge Cypher.<br />

LES AVANTAGES<br />

Basée sur jRuby, Sinatra, MongoDB et Neo4j, la nouvelle plateforme garantit des transactions rapides avec des<br />

performances relativement constantes. Par ailleurs, son modèle de données permet aux requêtes de rester localisées<br />

à l’intérieur de leurs portions respectives du graphe. « Nous avons obtenu des performances constantes pour<br />

les requêtes en utilisant Neo4j pour créer un graphe qui est son propre index. Cette flexibilité de développement<br />

est tout simplement unique », explique Volker Pacher. La phase d›implémentation a été réalisée dans les délais<br />

prévus, en à peine une année. Les requêtes sont désormais simples et rapides. Le résultat est une plateforme<br />

évolutive capable de prendre en charge le développement de l›entreprise, et notamment la croissance de l›activité<br />

à laquelle elle doit faire face en tant que plateforme du service eBay Now.<br />

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

74

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

Saved successfully!

Ooh no, something went wrong!