Cet article fait partie de notre guide: Spark et SQL-On-Hadoop : vers un Hadoop augmenté

Quand NoSQL veut se rapprocher de Spark

Tous les yeux se tournent certes sur le tandem Spark – Hadoop, mais le framework Spark dispose aussi de connecteurs pour le monde NoSQL qui peuvent déboucher sur une nouvelle classe de traitement analytique.

Les technologies de traitements des transactions en ligne ont subi un profond bouleversement ces dernières années, poussées dans leurs derniers retranchements par les bases de données NoSQL et leur capacité à se dimensionner face à des avalanches de données. En parallèle, le monde analytique a lui aussi subi une transformation avec l’arrivée d’Hadoop et Spark.

Et comme un effet logique, les applications évoluent avec ces deux technologies. A la clé, la création de fonctions analytiques en quasi temps réel au-dessus de systèmes transactionnels à grande échelle. Dans ce contexte, les connecteurs reliant Spark à NoSQL deviennent de plus en plus présents.

« Le marché a évolué. Nous changeons la façon dont nous utilisons les systèmes opérationnels et les systèmes analytiques », explique l’analyse Mike Ferguson, directeur de Business Strategies lors d’un webinar organisé par Dataversity. Par exemple, selon lui, créer une passerelle entre le datastore NoSQL Riak, développé par Basho Technologies, et Spark est un moyen d’accélérer les traitements analytiques à partir de données Web et mobiles.

Comme ses concurrents Aerospike, Couchbase, DataStax, Redis, notamment, Basho mitonne un connecteur vers Spark avec cet objectif en tête.

Traitements analytiques opérationnels

Mike Ferguson explique qu’associer NoSQL à Hadoop et Spark crée une base pour ce qu’il appelle l’analytique opérationnel – un système qui repose moins sur des batches opérés la nuit, comme le faisaient les anciens systèmes analytiques.

Depuis de nombreuses années, les bases de données relationnelles étaient aux deux extrémités de la boucle, entre opérationnel et analytique, affirme-t-il. Mais cela a commencé à changer, avec les applications Web et mobiles. Celles-ci nécessitent en effet un niveau de scalabilité obtenu grâce à des clusters. En matière de traitement des données, le Web était une chose, le mobile une autre chose.

Avec la mobilité, les systèmes transactionnels ont enregistré un nombre d’utilisateurs concurrents en très forte hausse, atteignant des niveaux de connexions sans précédent, précise-t-il. Cela a donc poussé les équipes IT à tester de nouvelles architectures. Spark a émergé comme un sérieux candidat.

Comme nombre d’analystes, Mike Ferguson  pointe également du doigt le fait que Spark, même s’il fonctionne souvent de pair avec Hadoop, n’est pas limité au système de stockage Hadoop. « Il peut aussi attaquer les données des bases relationnelles et des datastores NoSQL. »

Comme il l’explique lui-même, l’analytique opérationnel vise à exploiter l’analytique pour détecter des événements ou pour optimiser les processus. Cela peut être le moteur d’applications liées à la réduction des risques, l’amélioration des interactions avec les clients ou réduire les coûts opérationnels imprévus.

A/B Testing : un cas d’usage

Par exemple, Intuit, un fournisseur services financiers Web, utilise une base de données NoSQL associé au moteur analytique Spark. Selon Rekha Joshi, ingénieur au sein de la société, Spark a été déployé pour effectuer des analyses sur des données stockées dans une base Cassandra de DataStax, le tout dans le Cloud AWS. La société l’utilise par exemple pour effectuer des tests comparatifs (A/B Testing) sur les interactions des visiteurs du site d’Intuit. L’objectif est de mieux comprendre les préférences des visiteurs et d’automatiser la personnalisation des écrans du site et des interactions.

Avec des millions d’utilisateurs, cela crée beaucoup de données, explique Rekha Joshi. La base de données NoSQL Cassandra a la capacité d’absorber les flux entrants. Mais « Cassandra n’est pas conçue pour le « crunching ». Spark et Hadoop sont là pour ça. »

Les équipes d’Intuit travaillent avec les deux frameworks. « Ils ont chacun des points forts et des faiblesses », poursuit-elle. Les travaux liés à des traitements en quasi temps réel sont pour Spark. « Hadoop est un système fonctionnant en batch. Spark est là pour le temps réel, ou le quasi temps réel. »

Cette approche est assez proche de celle de Mike Ferguson et son analytique  opérationnelle. Toutefois,  elle utilise un autre terme pour décrire les architectures qui supportent à la fois le batch et le temps-réel : les architectures lambda.

Ces deux points de vue viennent ainsi confirmer que le monde de l’analyse des données se transforme. Pour le monde NoSQL, les opportunités de croissance sont considérables, rappelle le cabinet Allied Market Research. Celui-ci estime que le marché mondial du NoSQL, qui existe depuis à peine 10 ans, devrait atteindre 4,2 milliards en 2020. Une croissance alimentée selon lui par le Web, le mobile et le e-Commerce. Les connexions aux nouveaux moteurs analytiques comme Spark pourraient également y contribuer, conclut-il.

Pour approfondir sur Outils décisionnels et analytiques

Close