L’utilisation des bases NoSQL est allée au-delà de l’expérimentation et atteint le stade de la production par tous les secteurs qui en retirent de réels bénéfices. C’est ce qu’indique l’un des fournisseurs Couchbase qui présente dans un livre blanc dix cas d’utilisation : Personnalisation, Gestion de profils, big data en temps réels, Gestion de contenu, Catalogue, Vue à 360° des clients, Applications mobiles, Internet des objets, Communication numérique, Détection de fraudes.

Personnalisation
Détenu par AOL, Advertising.com est un des plus importants réseaux publicitaires avec des milliards d’impression par an et des centaines de millions de visiteurs par mois. Le flux de clics des internautes est envoyé sur une plate-forme hadoop qui en fait l’analyse et génère des profils en temps réel.

Gestion de profils
Un des plus grands fabricants d’électronique grand public gère plus centaines de millions de profils utilisateurs sur différents data centers.

Big data en temps réel
PayPal a intégré Couchbase Server Storm et hadoop pour construire une plate-forme analytique temps réel. Les flux de clics et les interactions avec les internautes sont poussés sur la plate-forme pour analyse. Les données sont envoyées sur un processeur Stream pour filtrage, enrichissement et agrégation. Paypal peut suivre en temps réel tout le trafic.

Gestion de contenu
Une entreprise du secteur des médias possédant plus de 90 magasins à remplacer SQL Server avec une base NoSQL pour supporter de nouveaux contenus, structurés et semi-structurés pour améliorer l’expérience de plus de 50 millions de visiteurs mensuels.

Catalogue
Tesco est l’une des plus grandes entreprises de la distribution à adopter une base NoSQL pour gérer une application de gestion de catalogue et de tarif et une application de gestion des coupons et des bons d’achat sur les points de vente et les sites Internet.

Vue à 360° des clients
Un constructeur d’appareils ménagers qui développe ses ventes en ligne est confronté au défi de maintenir une vue à 360° de ses clients. L’entreprise a utilisé une base NoSQL pour consolider sa base de données clients qui peut être accéder de manières différentes.

Applications mobiles
Ryanair a redéveloppé sa plate-forme d’applications mobiles pour supporter plus d’un million de clients en passant d’une base de données SQL à une base NoSQL

Internet des objets
Un opérateur de télécom a choisi une base NoSQL pour supporter un nouveau service permettant aux entreprises de superviser et gérer les terminaux mobiles connectés (smartphones, PC, imprimantes, alarmes, lumières, systèmes HVAC ; équipements industriels…) au réseau de leur entreprise.

Communication numérique
LivePerson aide plus de 8500 entreprise à mieux engager les visiteurs de leur site Web. La base NoSQL offrait une haute disponibilité, recherche plein texte, gestion de documents, réplication…

Détection de fraudes
Une plate-forme de détection de fraude qui traite plus de 50 % des transactions de cartes bancaires. La base NoSQL possède un cache In-memory permettant un accès en-dessous de la milliseconde pour accéder aux données clients et détecter les fraudes.

Petite typologie des bases NoSQL

21 NoSQLLa nébuleuse NoSQL est désormais largement connue mais sous cette bannière les choix techniques et les acteurs sont divers. Dans son ouvrage NoSQL et le big data[1], le consultant Rudi Bruchez propose 2 types de classement : par usage et par schéma de données.

Classement par usage

  • Amélioration des performances : certains moteurs NoSQL ont pour but d’augmenter au maximum les performances de la manipulation des données, soit pour offrir un espace de cache en mémoire intermédiaire lors du requêtage de SGBDR, soit en tant que SGBD à part entière, qu’il soit distribué ou non.
  • Assouplissement de la structure : pour s’affranchir de la rigidité du modèle relationnel, les moteurs NoSQL simplifient la plupart du temps la structure des données.
  • Structures spécifiques : certains moteurs NoSQL sont dédiés à des besoins spécifiques, et implémentent donc une structure et des fonctionnalités focalisées sur un cas d’utilisation. Citons par exemple les moteurs orientés graphes, ou les moteurs de recherche plein texte qui offrent également des fonctionnalités proches d’un SGBD, comme Apache Solr ou ElasticSearch.
  • Volumétrie : l’un des aspects importants des moteurs NoSQL est leur capacité à monter en charge. C’est sans doute même la raison première de la création du mouvement NoSQL.

 

Classement par schéma de données

On peut aussi répertorier les moteurs SQL par le schéma ou la structure des données qu’ils manipulent. On distingue cinq modèles.

  • Paires clé-valeur : les moteurs NoSQL les plus simples manipulent des paires clés valeur, ou des tableaux de hachage, dont l’accès se fait exclusivement par la clé. Il s’agit de moteurs en mémoire comme Redis ou de systèmes distribués inspirés de Dynamo, comme Riak.
  • Les moteurs orientés documents : le format de sérialisation et d’échange de données le plus populaire est aujourd’hui le JSON (JavaScript Object Notation). Il permet d’exprimer un document structuré qui comporte des types de données simples, mais aussi des listes et des paires clé-valeur, sous une forme hiérarchique. Il est idéal pour représenter des données structurées ou semi-structurées. Il est donc logique de voir apparaître des moteurs dont le format natif de stockage est le JSON. C’est le cas du très populaire MongoDB, mais aussi de CouchDB ou Couchbase Server.
  • Les moteurs orientés colonnes : inspirés par Google BigTable, plusieurs moteurs NoSQL implémentent une structure proche de la table, dont nous avons déjà parlé et que nous avons définie comme une table de hachage distribuée. Plus utilisés pour des volumétries importantes, Cassandra ou Hbase appartiennent à cette catégorie de moteurs.
  • Index inversé : un index inversé est une correspondance entre un terme, ou du contenu, et sa position dans un ensemble de données, par exemple un document ou une page web. Google utilise un index inversé pour répondre aux recherches sur son moteur. Il existe des moteurs de recherche sur document qu’on apparente au mouvement NoSQL, comme ElasticSearch ou Solr. Ils sont tous deux basés sur Lucene, le moteur d’indexation en index inversé libre.
  • Structures particulières : il nous reste juste à regrouper les moteurs NoSQL qui ne rentrent pas dans les catégories précédentes, comme les moteurs orientés graphe, qui utilisent des représentations de données particulières et des méthodes de stockage natives.

 

[1] Les bases de données NoSQL et le BigData
Comprendre et mettre en œuvre
Bruchez- Les bases de données NoSQL et le BigData |Collection Blanche |Eyrolles
Extrait du libre