eBay Now choisit Neo4j pour la gestion du routage de son service
Transcription
eBay Now choisit Neo4j pour la gestion du routage de son service
ÉTUDE DE CAS eBay Now choisit Neo4j pour la gestion du routage de son service de livraison e-commerce INDUSTRIE e-commerce LE DÉFI – Apporter une réponse adaptée à des opérations de routage complexes, avec des performances rapides et constantes LA STRATÉGIE –Développer une nouvelle architecture pour répondre aux défis en termes de performances et d'évolutivité –Utiliser Neo4j pour calculer les itinéraires et choisir les transporteurs LA SOLUTION –Une nouvelle base de données Neo4j pour la gestion d'opérations de routage complexes –Une AOS basée sur des services développés avec jRuby, Sinatra, MongoDB et Neo4j LE RÉSULTAT –Une plateforme évolutive à grande vitesse capable d'optimiser le service de livraison –Un schéma flexible adaptable à la croissance de l'activité La société londonienne Shutl était réputée pour l'incroyable rapidité de ses services avant même son acquisition par eBay, leader mondial du e-commerce. Depuis sa création en 2009, sa mission est de livrer le plus rapidement possible les achats effectués sur Internet à leurs destinataires. Qu'il s'agisse de jouets, de chaussons, de cravates ou encore d'iPhones, eBay fait désormais appel à la plateforme nouvelle génération de Shutl pour redéfinir le e-commerce en accélérant et en simplifiant la livraison des commandes passées sur Internet ou appareil mobile. eBay élimine le plus gros obstacle entre les vendeurs et les acheteurs en ligne en proposant une livraison des articles le jour même. Aujourd'hui, la plateforme de Shutl est à la base des opérations du service de livraison locale eBay Now dans quatre marchés américains et son extension à 25 grandes villes aux États-Unis et au Royaume-Uni est prévue pour la fin 2014. Volker Pacher, développeur senior pour eBay, fait partie de l'équipe principale de la plateforme de services chargée de fournir une API aux transporteurs et aux marchands. Les requêtes envoyées à l'API ont connu une croissance exponentielle, d'où un allongement des temps de réponse. L'équipe a donc entièrement « Il était indispensable de tout repenrepensé la première plateforme SaaS de ser : avec l'augmentation du trafic et Shutl. Volker Pacher savait qu'une base les nouvelles fonctionnalités, il fallait de données orientée graphe permettrait de jusqu'à 15 minutes pour traiter cersimplifier la modélisation du domaine sans taines requêtes, soit plus de temps affecter la structure existante. À l'aide de que pour la livraison de l'article ! Neo4j et d'une structure de graphe sans Neo4j était pour nous la meilleure schéma (schema-less), l'équipe a créé une solution. » – Volker Pacher, eBay base de données permettant aux requêtes de rester localisées à l'intérieur du graphe, améliorant les performances grâce à la facilité d'expression. Comme aime à le dire Volker Pacher : « Notre système fonctionne sur sept lignes de Cypher ». La plateforme Shutl orchestre les livraisons entre les boutiques, les coursiers et les acheteurs 24 h/24 et 7 j/7. Les envois s'effectuent directement depuis les points de vente. Le service organise la collecte et la livraison des articles 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 heure choisie par les clients. Le résultat : un service innovant qui améliore la qualité de service pour les clients ainsi que la productivité des partenaires revendeurs et transporteurs. Tous les acteurs sont gagnants : les clients disposent de plus de choix pour la livraison, les coursiers ne perdent plus de temps à attendre et les boutiques peuvent proposer des services supplémentaires à leurs clients sur Internet. Shutl « sauve les petits commerces » dans chaque ville en faisant appel à leurs services marchands et de livraison et en leur permettant ainsi de rester compétitifs. © 2014 Neo Technology · neo4j.com Le défi Le service de livraison le jour même de Shutl s'est développé de manière exponentielle et couvre aujourd'hui jusqu'à 85 % du Royaume-Uni. Sa plateforme de services a dû être entièrement repensée afin de prendre en charge l'explosion du volume de données et les nouvelles fonctionnalités. Les jointures MySQL utilisées auparavant ont créé une base de code trop lente et complexe. Les délais d'exécution des requêtes de sélection du meilleur coursier étaient tout simplement trop longs et Shutl avait besoin qui permette à son service de rester compétitif. Volker Pacher et l'équipe de développement pensaient qu'en ajoutant une base de données orientée graphe à l'AOS et à la structure de services, il serait possible de résoudre les problèmes de performances et d'évolutivité. L'équipe a choisi Neo4j, la meilleure solution à ses yeux. Pourquoi Neo4j? Le choix s'est porté sur Neo4j pour sa flexibilité, sa vitesse et sa simplicité d'utilisation. Son modèle de graphe à propriétés était parfaitement compatible avec le domaine modélisé. La base de données ne nécessitant pas de schéma, cela a simplifié son extensibilité et a permis d'accélérer la phase de développement. Enfin, les limitations en termes de rapidité et d'évolutivité de la solution précédente ont été surmontées. « Notre solution Neo4j est littéralement des milliers de fois plus rapide que la solution MySQL précédente, avec des requêtes qui nécessitent de 10 à 100 fois moins de code. Dans le même temps, Neo4j nous a permis d'ajouter des fonctionnalités jusqu'ici impossibles », explique Volker Pacher. Cypher a permis d'exprimer les requêtes sous une forme très compacte et intuitive, ce qui a accéléré le développement. L'équipe a pu exploiter le code existant à l'aide d'une bibliothèque Ruby pour Neo4j prenant également en charge Cypher. Les avantages Basée sur jRuby, Sinatra, MongoDB et Neo4j, la nouvelle plateforme garantit des transactions rapides avec des performances relativement constantes. Par ailleurs, son modèle de données permet aux requêtes de rester localisées à l'intérieur de leurs portions respectives du graphe. « Notre solution Neo4j est littéralement des milliers de fois plus rapide que la solution MySQL précédente, avec des requêtes qui nécessitent de 10 à 100 fois moins de code. Dans le même temps, Neo4j nous a permis d'ajouter des fonctionnalités jusqu'ici impossibles. » – Volker Pacher, eBay « Nous avons obtenu des performances constantes pour les requêtes en utilisant Neo4j pour créer un graphe qui est son propre index. Cette flexibilité de développement est tout simplement unique », explique Volker Pacher. La phase d'implémentation a été réalisée dans les délais prévus, en à peine une année. Les requêtes sont désormais simples et rapides. Le résultat est une plateforme évolutive capable de prendre en charge le développement de l'entreprise, et notamment la croissance de l'activité à laquelle elle doit faire face en tant que plateforme du service eBay Now. À propos de Neo Technology Les graphes sont partout. Neo Technology a contribué à mettre la puissance des graphes au service de nombreuses organisations, parmi lesquelles de plus en plus de clients figurant dans la liste Global 2000 de Forbes Magazine, tels que Cisco, HP, Accenture, Deutsche Telekom et Telenor. Au service de clients du secteur de la production depuis plus d'une décennie, Neo4j est le leader mondial des bases de données orientées graphe et compte le plus grand écosystème de partenaires et des dizaines de milliers de déploiements. © 2014 Neo Technology · neo4j.com