Tech

Historiquement, les bases de données NoSQL ont apparu afin de répondre à des problèmes tels que l’accroissement rapide des volumes de données dans le domaine de l’internet.En effet, un des problème récurrent des bases de données relationnelles est la perte de performance lorsque l’on doit gérer et traiter un très gros volume de données. De plus, la multiplication des architectures distribués a apporté le besoin de disposer de solution s’adaptant nativement aux mécanismes de réplication des données et de gestion de la charge. En fait, le terme base NoSQL définit une nouvelle génération de produits qui ne suivent pas le modèle relationnel. Mais l’architecture de ces produits varie beaucoup entre eux. Quel produit choisir ?

 

Remédier à cette difficulté commence par une bonne compréhension des différents types de bases de données NoSQL.

Les familles des bases de données NoSQL

Le nombre de bases de données NoSQL est important. Il est impératif de connaître leurs différences pour adopter la bonne technologie pour la bonne application.

Lorsque l’on parle de NoSQL, on regroupe des systèmes de base de données qui ne sont pas relationnels, mais il faut savoir qu’il existe plusieurs types de bases de données NoSQL.On peut classer celles-ci en quatre catégories :

  • Les bases clé/valeur, permettent de stocker des informations sous forme d’un couple clé/valeur où la valeur peut être une chaîne de caractère, un entier ou un objet sérialisé. Une base de données Redis. Ce type de base de données offre de très bonne performances par sa simplicité et peut même être utilisé pour stocker les sessions utilisateur ou le cache de votre site par exemple.
  • Les bases orientées colonnes, ressemble aux bases de données relationnelles, car les données sont sauvegardées sous forme de ligne avec des colonnes, mais se distingue par le fait que le nombre de colonnes peut varier d’une ligne à l’autre. Les solutions les plus connues sont HBase ou Cassandra.
  • Les bases orientées document, représente les informations sous forme d’objet XML ou JSON. L’avantage est de pouvoir récupérer simplement des informations structurées de manière hiérarchique. Les solutions les plus connues sont CouchDB, RavenDB et MongoDB.
  • Les bases orientées graphe, présentent les données sous forme de noeud et de relation. Cette structure permet de récupérer simplement des relations complexes. Un exemple de base graphe est Neo4J.

Les familles de base de données permettent d’offrir une représentation différentes des données, chacune dispose d’avantages et d’inconvénients en fonction du contexte dans lequel on souhaite l’utiliser.

Une liste des bases de données Nosql est définie en les classant selon les quatres grandes familles .

Le triangle de CAP et les bases de données NoSQL

En 2000, Eric A. Brewer a formalisé un théorème très intéressant reposant sur 3 propriétés fondamentales pour caractériser les bases de données (relationnelles, NoSQL et autres) :

  1. Consistency (Cohérence) : Une donnée n’a qu’un seul état visible quel que soit le nombre de réplicas
  2. Availability (Disponibilité) : Tant que le système tourne (distribué ou non), la donnée doit être disponible
  3. Partition Tolerance (Distribution) : Quel que soit le nombre de serveurs, toute requête doit fournir un résultat correct

Le théorème de CAP dit :

Dans toute base de données, vous ne pouvez respecter au plus que 2 propriétés parmi la cohérence, la disponibilité et la distribution.

Grâce à ce théorème , il est alors possible de classer toutes les bases de données en les plaçant sur le « triangle de CAP », tout en ajoutant des codes couleurs pour chaque modèle de stockage.

 

Lire aussi:   3 Bonnes raisons pour les professionnels du Mariage, d’avoir un nouveau site web.

Nous pouvons constater que le couple AP (Disponibilité et distribution) regroupe le plus grand nombre de solutions NoSQL. En effet, la plupart cherchent les performances en relâchant volontairement la cohérence. Nous y retrouvons principalement des solutions orientées clé-valeur et graphes, mais également orientées documents (clé-valeur étendu).

Certaines solutions proposent également de modifier la politique de gestion de la concurrence (DynamoDB, CouchBase, Cassandra, MongoDB, CosmosDB…), dans ce cas, ils changent simplement de face sur ce triangle en passant de CP à AP.

L’avantage de ce triangle CAP est de fournir un critère de choix pour votre application. Vous pouvez ainsi vous reposer sur vos besoins en terme de fonctionnalité, de calculs et de cohérence. Le triangle servira de filtre sur les myriades de solutions proposées.

Avec ces multiples alternatives NoSQL, le processus de sélection d’une base doit être appréhendé avec prudence afin d’éviter de s’orienter vers la mauvaise technologie.

Bibliography

http://www.dataversity.net/choose-right-nosql-database-application/, Akshay Pore ,Avril 13 2018

https://openclassrooms.com/courses/maitrisez-les-bases-de-donnees-nosql, Régis Behmo & Nicolas Travers,Février 21 18